## 顶点着色器
这个是三角形的顶点着色器
@vertex
fn main(
@builtin(vertex_index) VertexIndex : u32
) -> @builtin(position) vec4<f32> {
var pos = array<vec2<f32>, 3>(
vec2<f32>(0.0, 0.5),
vec2<f32>(-0.5, -0.5),
vec2<f32>(0.5, -0.5)
);
return vec4<f32>(pos[VertexIndex], 0.0, 1.0);
}
这个例子三个顶点数据都硬编码在vertexShader里了
通过内置变量VertexIndex读取
## 片段着色器
@fragment
fn main() -> @location(0) vec4<f32> {
return vec4<f32>(1.0, 0.0, 0.0, 1.0);
然后片段着色器硬编码输出颜色 红色
这是第一个绘制三角形的例子,到这里也就解析完毕
之后会继续解析其他例子