着色器三要素
2026-02-03
7
0
像素着色器和顶点着色器继承于gs_shader
struct gs_shader : gs_obj {
gs_shader_type type;
vector<gs_shader_param> params;
ComPtr<ID3D11Buffer> constants;
size_t constantSize;
D3D11_BUFFER_DESC bd = {};
vector<uint8_t> data;
...
}
像素着色器
像素着色器三要素:
- 着色器
- 采样器
- 常量空间
struct gs_pixel_shader : gs_shader { ComPtr<ID3D11PixelShader> shader; vector<unique_ptr<ShaderSampler>> samplers; ... }
顶点着色器
机点着色器三要素:
- 着色器
- 输入布局
- 常量空间
struct gs_vertex_shader : gs_shader {
ComPtr<ID3D11VertexShader> shader;
ComPtr<ID3D11InputLayout> layout;
gs_shader_param *world, *viewProj;
vector<D3D11_INPUT_ELEMENT_DESC> layoutData;
...
}
OBS-D3D11渲染梳理





