Constant blue_engine::utils::default_resources::DEFAULT_SHADER
source ยท pub const DEFAULT_SHADER: &str = "// blocks\n\n//@CAMERA_STRUCT\n\nstruct TransformationUniforms {\n transform_matrix: mat4x4<f32>,\n};\n@group(2) @binding(0)\nvar<uniform> transform_uniform: TransformationUniforms;\n\nstruct VertexInput {\n @location(0) position: vec3<f32>,\n @location(1) texture_coordinates: vec2<f32>,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) texture_coordinates: vec2<f32>,\n};\n\nstruct InstanceInput {\n @location(3) model_matrix_0: vec4<f32>,\n @location(4) model_matrix_1: vec4<f32>,\n @location(5) model_matrix_2: vec4<f32>,\n @location(6) model_matrix_3: vec4<f32>,\n};\n\n// Vertex Stage\n@vertex\nfn vs_main(input: VertexInput, instance: InstanceInput) -> VertexOutput {\n let model_matrix = mat4x4<f32>(\n instance.model_matrix_0,\n instance.model_matrix_1,\n instance.model_matrix_2,\n instance.model_matrix_3,\n );\n\n var out: VertexOutput;\n out.texture_coordinates = input.texture_coordinates;\n //@CAMERA_VERTEX\n return out;\n}\n\n// Fragment Stage\nstruct FragmentUniforms {\n color: vec4<f32>,\n};\n@group(2) @binding(1)\nvar<uniform> fragment_uniforms: FragmentUniforms;\n\n@group(0) @binding(0)\nvar texture_diffuse: texture_2d<f32>;\n\n@group(0) @binding(1)\nvar sampler_diffuse: sampler;\n\n@fragment\nfn fs_main(input: VertexOutput) -> @location(0) vec4<f32> {\n if fragment_uniforms.color.w == 0.0 {\n return textureSample(texture_diffuse, sampler_diffuse, input.texture_coordinates);\n } else {\n return textureSample(texture_diffuse, sampler_diffuse, input.texture_coordinates) * fragment_uniforms.color;\n }\n}";
Expand description
The default shader file code