mirror of
https://github.com/raylib-cs/raylib-cs
synced 2025-09-09 03:01:41 -04:00
Reorganize types
- Move into types folder - Group types based on usage
This commit is contained in:
89
Raylib-cs/types/Material.cs
Normal file
89
Raylib-cs/types/Material.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Raylib_cs
|
||||
{
|
||||
/// <summary>Material map index</summary>
|
||||
public enum MaterialMapIndex
|
||||
{
|
||||
/// <summary>
|
||||
/// MAP_DIFFUSE
|
||||
/// </summary>
|
||||
MATERIAL_MAP_ALBEDO = 0,
|
||||
|
||||
/// <summary>
|
||||
/// MAP_SPECULAR
|
||||
/// </summary>
|
||||
MATERIAL_MAP_METALNESS = 1,
|
||||
|
||||
MATERIAL_MAP_NORMAL = 2,
|
||||
MATERIAL_MAP_ROUGHNESS = 3,
|
||||
MATERIAL_MAP_OCCLUSION,
|
||||
MATERIAL_MAP_EMISSION,
|
||||
MATERIAL_MAP_HEIGHT,
|
||||
|
||||
/// <summary>
|
||||
/// NOTE: Uses GL_TEXTURE_CUBE_MAP
|
||||
/// </summary>
|
||||
MATERIAL_MAP_CUBEMAP,
|
||||
|
||||
/// <summary>
|
||||
/// NOTE: Uses GL_TEXTURE_CUBE_MAP
|
||||
/// </summary>
|
||||
MATERIAL_MAP_IRRADIANCE,
|
||||
|
||||
/// <summary>
|
||||
/// NOTE: Uses GL_TEXTURE_CUBE_MAP
|
||||
/// </summary>
|
||||
MATERIAL_MAP_PREFILTER,
|
||||
|
||||
MATERIAL_MAP_BRDF,
|
||||
|
||||
MATERIAL_MAP_DIFFUSE = MATERIAL_MAP_ALBEDO,
|
||||
MATERIAL_MAP_SPECULAR = MATERIAL_MAP_METALNESS,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Material texture map
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct MaterialMap
|
||||
{
|
||||
/// <summary>
|
||||
/// Material map texture
|
||||
/// </summary>
|
||||
public Texture2D texture;
|
||||
|
||||
/// <summary>
|
||||
/// Material map color
|
||||
/// </summary>
|
||||
public Color color;
|
||||
|
||||
/// <summary>
|
||||
/// Material map value
|
||||
/// </summary>
|
||||
public float value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Material type (generic)
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct Material
|
||||
{
|
||||
/// <summary>
|
||||
/// Material shader
|
||||
/// </summary>
|
||||
public Shader shader;
|
||||
|
||||
/// <summary>
|
||||
/// Material maps (MaterialMap *)
|
||||
/// </summary>
|
||||
public IntPtr maps;
|
||||
|
||||
/// <summary>
|
||||
/// Material generic parameters (if required, float *)
|
||||
/// </summary>
|
||||
public IntPtr param;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user