/
redgpu
/
raygpu
Обзор
Документация
Войти
/
redgpu
/
raygpu
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
resources/base.wgsl
43 строки
1 KB
manuel5975p
Full shader handling still WIP
04 мар 2025, 19:41
04 мар 2025, 19:41
36684a7
Код
Авторство
О чём код?
struct VertexInput { @location(0) position: vec3f, @location(1) uv: vec2f, @location(2) normal: vec3f, @location(3) color: vec4f, }; struct VertexOutput { @builtin(position) position: vec4f, @location(0) uv: vec2f, @location(1) color: vec4f, }; struct LightBuffer { count: u32, positions: array<vec3f> }; @group(0) @binding(0) var<uniform> Perspective_View: mat4x4f; @group(0) @binding(1) var colDiffuse: texture_2d<f32>; @group(0) @binding(2) var grsampler: sampler; @group(0) @binding(3) var<storage> modelMatrix: array<mat4x4f>; @group(0) @binding(4) var<storage> lights: LightBuffer; //Can be omitted //@group(0) @binding(3) var<storage> storig: array<vec4f>; @vertex fn vs_main(@builtin(instance_index) instanceIdx : u32, in: VertexInput) -> VertexOutput { var out: VertexOutput; out.position = Perspective_View * modelMatrix[instanceIdx] * vec4f(in.position.xyz /*+ storig[0].xyz * 0.3f*/, 1.0f); out.color = in.color; out.uv = in.uv; return out; } @fragment fn fs_main(in: VertexOutput) -> @location(0) vec4f { return textureSample(colDiffuse, grsampler, in.uv).rgba * in.color; }