Skip to content

EntropyCanvas::Shaders::BuiltinShaders

Built-in shader AssetIds. More…

#include <BuiltinShaders.h>

Name
boolisBuiltin(const AssetId & id)
Check if an AssetId is a known built-in shader.
const char *getName(const AssetId & id)
Get the name of a built-in shader (for debugging).
Name
const AssetIdUnlitTransparent
Unlit Transparent shader.
const AssetIdUnlit
Unlit shader.
const AssetIdSky
Skybox shader.
const AssetIdShadowCaster
Shadow caster shader.
const AssetIdPBRTransparent
PBR Transparent shader.
const AssetIdPBR
PBR Standard shader.
const AssetIdDepthPrepass
Depth prepass shader.
struct EntropyCanvas::Shaders::BuiltinShaders;

Built-in shader AssetIds.

These are compile-time constants - do NOT use string lookups for security reasons. AssetId = SHA-256 of canonical shader source (computed offline when shaders exist).

Built-in detection uses explicit ID comparison, not magic bytes.

static inline bool isBuiltin(
const AssetId & id
)

Check if an AssetId is a known built-in shader.

Uses explicit comparison against known built-in IDs. Returns true only for recognized built-in shaders.

static inline const char * getName(
const AssetId & id
)

Get the name of a built-in shader (for debugging).

Return: Shader name or “Custom” if not a built-in

static const AssetId UnlitTransparent = AssetId::fromHex(
"01000000"
"00000000"
"00000000"
"00000004"
"00000000"
"00000000"
"00000000"
"00000001");

Unlit Transparent shader.

Unlit with alpha blending support.

static const AssetId Unlit = AssetId::fromHex(
"01000000"
"00000000"
"00000000"
"00000003"
"00000000"
"00000000"
"00000000"
"00000001");

Unlit shader.

No lighting calculations - pure color/texture output. Supports: baseColor, texture

static const AssetId Sky = AssetId::fromHex(
"01000000"
"00000000"
"00000000"
"00000005"
"00000000"
"00000000"
"00000000"
"00000001");

Skybox shader.

Environment mapping for skybox rendering. Supports: cubemap texture, exposure, rotation

static const AssetId ShadowCaster = AssetId::fromHex(
"01000000"
"00000000"
"00000000"
"00000006"
"00000000"
"00000000"
"00000000"
"00000001");

Shadow caster shader.

Depth-only rendering for shadow maps. Used internally by shadow system.

static const AssetId PBRTransparent = AssetId::fromHex(
"01000000"
"00000000"
"00000000"
"00000002"
"00000000"
"00000000"
"00000000"
"00000001");

PBR Transparent shader.

PBR with alpha blending support. Same parameters as PBR plus alpha handling.

static const AssetId PBR = AssetId::fromHex(
"01000000"
"00000000"
"00000000"
"00000001"
"00000000"
"00000000"
"00000000"
"00000001");

PBR Standard shader.

Full physically-based rendering with metallic/roughness workflow. Supports: baseColor, metallic, roughness, normal, emissive, ao

static const AssetId DepthPrepass = AssetId::fromHex(
"01000000"
"00000000"
"00000000"
"00000007"
"00000000"
"00000000"
"00000000"
"00000001");

Depth prepass shader.

Depth-only rendering for z-prepass. Used internally by render pipeline.


Updated on 2026-01-26 at 17:14:35 -0500