Queries entity's current shader (returns shader handle assigned to entity).
Takes entity (entity handle from b3dLoadMesh/b3dLoadAnimMesh/etc, positive integer).
Returns shader handle (positive integer if custom shader assigned, 0 if default shader or entity not found).
Shaders
Parameters & Returns
Parameters
entityInt
Returns
Int
Quick Summary
Queries entity's current shader (returns shader handle assigned to entity).
Takes entity (entity handle from b3dLoadMesh/b3dLoadAnimMesh/etc, positive integer).
Returns shader handle (positive integer if custom shader assigned, 0 if default shader or entity not found).
Technical Exegesis...
Queries entity's current shader (returns shader handle assigned to entity). Takes entity (entity handle from b3dLoadMesh/b3dLoadAnimMesh/etc, positive integer). Returns shader handle (positive integer if custom shader assigned, 0 if default shader or entity not found). Reads entity.shaderHandle (returns stored value from entity structure).
Queries entity's current shader (returns shader handle assigned to entity). Takes entity (entity handle from b3dLoadMesh/b3dLoadAnimMesh/etc, positive integer). Returns shader handle (positive integer if custom shader assigned, 0 if default shader or entity not found). Reads entity.shaderHandle (returns stored value from entity structure). Use to check entity's shader (determine if custom shader active), conditional shader logic (apply effects based on current shader), or validate shader state (ensure shader assigned before setting parameters). Query behavior: returns shader handle (positive integer from b3dLoadEntityShader, or 0 if no custom shader), returns 0 if entity not found (entity not in g_entities map, invalid handle), returns 0 if default shader (entity using default mesh shader, no custom shader assigned), read-only operation (doesn't modify entity state, safe to call repeatedly). Use cases: (1) Check shader active (If b3dGetEntityShader(entity) > 0 Then shader applied Else default rendering), (2) Conditional effects (shader = b3dGetEntityShader(entity): If shader = toonShader Then set toon parameters), (3) Before freeing shader (check which entities using shader before b3dFreeEntityShader, prevents crashes), (4) Debug shader state (Print "Entity shader: " + b3dGetEntityShader(entity) inspect current shader), (5) Toggle shader (If b3dGetEntityShader(entity) = 0 Then b3dEntityShader(entity, shader) Else b3dEntityShader(entity, 0) switch on/off). Common patterns: check = If b3dGetEntityShader(entity) > 0 Then shader active; get = shader = b3dGetEntityShader(entity) retrieve handle. Typical workflow: assign shader (b3dEntityShader(entity, shader) set custom shader), query shader (this function, check current state), conditional logic (based on shader handle, apply effects or switch shaders), clear shader (b3dEntityShader(entity, 0) if needed). Return values: positive integer (custom shader assigned, valid shader handle from b3dLoadEntityShader), 0 if no shader (entity using default mesh shader, never had custom shader or was cleared), 0 if entity not found (invalid entity handle, entity doesn't exist). Validation: returns 0 if entity not found (not in g_entities map, safe handling of invalid handles), doesn't validate shader handle (returns stored value even if shader was freed, user responsibility to track valid shaders), safe to call anytime (always succeeds, returns 0 for any error condition). Performance: query cost zero (map lookup, trivial CPU operation), safe to call every frame (read-only, no side effects, no GPU cost), useful for conditional logic (check before setting parameters, avoid unnecessary parameter sets). Related: b3dEntityShader assigns shader (sets shader handle queried by this function), b3dLoadEntityShader loads shader (creates shader handle returned by this function), b3dFreeEntityShader frees shader (should check with this function before freeing to find entities using shader), b3dSetEntityShaderFloat sets shader parameter (call after checking shader with this function), b3dSetEntityShaderInt sets shader parameter (use shader handle from this function).