mirror of
https://github.com/raylib-cs/raylib-cs
synced 2025-09-09 03:01:41 -04:00
90 lines
2.0 KiB
C#
90 lines
2.0 KiB
C#
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;
|
|
}
|
|
}
|