MCPcopy Create free account
hub / github.com/Bloom-Engine/engine / compile_material_instanced

Method compile_material_instanced

native/shared/src/renderer/mod.rs:13186–13202  ·  view source on GitHub ↗

EN-001 — compile a material that opts into the standard per-instance vertex layout (Opaque profile + Opaque bucket + wants_instancing). Pair with `create_instance_buffer` + `submit_material_draw_instanced`. The game shader's VertexInput must declare the instance attribute locations (see `material_abi.wgsl` for the layout).

(
        &mut self, wgsl_source: &str,
    )

Source from the content-addressed store, hash-verified

13184 /// The game shader's VertexInput must declare the instance attribute
13185 /// locations (see `material_abi.wgsl` for the layout).
13186 pub fn compile_material_instanced(
13187 &mut self, wgsl_source: &str,
13188 ) -> Result<material_system::MaterialHandle, material_pipeline::MaterialCompileError> {
13189 self.material_system.compile(
13190 &self.device,
13191 wgsl_source,
13192 material_pipeline::FragmentProfile::Opaque,
13193 material_pipeline::Bucket::Opaque,
13194 false,
13195 true, // wants_instancing
13196 formats::HDR_FORMAT,
13197 formats::MATERIAL_FORMAT,
13198 formats::VELOCITY_FORMAT,
13199 wgpu::TextureFormat::Rgba8Unorm,
13200 formats::DEPTH_FORMAT,
13201 )
13202 }
13203
13204 /// EN-001 — upload a CPU-side per-instance buffer to GPU memory.
13205 /// `raw` is laid out as 9 floats per instance (pos.xyz, rot_y,

Calls 1

compileMethod · 0.80

Tested by

no test coverage detected