DX11渲染管道 :着色器的编译和创建

本文介绍了在不使用效果框架的情况下,如何简单地管理DX11渲染管道,重点讲解了着色器的编译和创建过程。通过D3DX11CompileFromFile函数进行着色器编译,并使用CreateVertexShader创建顶点着色器,其他类型的着色器创建类似。

在不使用效果框架的时候,整个渲染管道其实挺简单的,创建资源,输入资源。编译着色器输入着色器,其实着色器本身也是一种数据,只不过这个数据描述的是逻辑。最后调用一下draw方法画一下就OK 了。这里说说着色器的编译和创建,很简单。

 

D3DX11CompileFromFile

HRESULT D3DX11CompileFromFile(
  _In_   LPCTSTR pSrcFile,  // 文件路径
  _In_   const D3D10_SHADER_MACRO *pDefines, // 可选,一个键值对数组,直接设置为NULL
  _In_   LPD3D10INCLUDE pInclude, // 可选,这个相当于C++的include命令也是一个数组。
  _In_   LPCSTR pFunctionName, // 入口方法的名字
  _In_   LPCSTR pProfile, // vs_5_0 
  _In_   UINT Flags1, // 着色器编译标志。
  _In_   UINT Flags2, // 效果编译标志。
  _In_   ID3DX11ThreadPump *pPump, // 线程?
  _Out_  ID3D10Blob **ppShader, // 编译后的结果
  _Out_  ID3D10Blob **ppErrorMsgs, // 编译后的错误信息
  _Out_  HRESULT *pHResult 
);

 着色器编译标志

CreateVertexShader :

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值