OBS-D3D11渲染梳理
+ -

着色器流程

2024-07-31 17 0

着色器主要包括以下内个部分:

  • 顶点着色器全局参数-常量空间
  • 顶点着色器代码
  • 顶点着色器布局
  • 像素着色器代码
  • 像素着色器全局参数-常量空间
  • 采样状态设置

顶点

ID3D11DeviceContext::VSSetShader - 设置顶点着色器
ID3D11DeviceContext::IASetInputLayout - 设置顶点着色器的参数布局
ID3D11DeviceContext::VSSetConstantBuffers - 设置顶点着色器常量空间

    device->context->VSSetShader(shader, NULL, 0);
    device->context->IASetInputLayout(layout);
    device->context->VSSetConstantBuffers(0, 1, &constants);//slot,NumBuffers,ID3D11Buffer**

    //从外面来的
    device->curVertexShader->UploadParams();//更新constants内容

像素

ID3D11DeviceContext::PSSetShader 设置像素着色器
ID3D11DeviceContext::PSSetConstantBuffers 设置像素着器常量空间
ID3D11DeviceContext::PSSetSamplers 设置采样状态

    device->context->PSSetShader(shader, NULL, 0);
    device->context->PSSetConstantBuffers(0, 1, &constants);
    device->context->PSSetSamplers(0, GS_MAX_TEXTURES, states);//slot,数组中的采样器数,采样器
    //从外面来的
    device->curPixelShader->UploadParams();//更新constants内容

0 篇笔记 写笔记

作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!