2 c c++ hlsl directx-11
MSDN表示您可以将.hlsl文件编译为头文件中定义的字节数组.这是他们给出的代码.
#include "PixelShader.h"
ComPtr<ID3D11PixelShader> m_pPixelShader;
hr = pDevice->CreatePixelShader(g_psshader,
sizeof(g_psshader), nullptr, &m_pPixelShader);
Run Code Online (Sandbox Code Playgroud)
g_psshader字节数组也是如此.但是如何定义g_psshader呢?我无处可寻找谈论这个问题.我尝试了一些方法,但都失败了.MSDN提供了媒体扩展示例.但是该样本中没有PixelShader.h.
如果你错过了这个问题:如何在上面的代码中定义g_psshader(我的意思是在标题PixelShader.h中).
此解决方案适用于Visual Studio 2012.
要设置与.fx或.hlsl文件关联的头文件和变量名称:
"标头变量名称" - >将包含着色器字节代码的变量的名称.
"头文件名" - >用于放置着色器字节代码的头文件的名称.
我的理解是,如果将此文件包含在代码中,那么您应该可以访问编译到此文件中的变量.在主项目的构建过程开始之前,应将FX和HLSL代码编译到这些文件中.
注意:您可能还需要更改常规下的"入口点名称"以反映您要编译的技术的名称(假设您使用的是.fx).您还必须为特定着色器文件指定"着色器类型"和"着色器模型".
| 归档时间: |
|
| 查看次数: |
3154 次 |
| 最近记录: |