Documentation HLSL';技术';关键词文档

Documentation HLSL';技术';关键词文档,documentation,hlsl,Documentation,Hlsl,非常简单的问题… 我有一些代码示例: technique Draw { pass { vertex_shader = VertexShaerName(vec_in); pixel_shader = PixelShaderName(vec_in); } } 在哪里可以找到技术关键字使用的文档?没有为这种状态提供描述的链接…特效系统使用(现在已弃用)技术 它包装了许多低级api(最初DirectX9使用技术,所以创建它是为了促进direct

非常简单的问题…
我有一些代码示例:

technique Draw
{
    pass
    {
        vertex_shader = VertexShaerName(vec_in);
        pixel_shader  = PixelShaderName(vec_in);
    }
}

在哪里可以找到
技术
关键字使用的文档?没有为这种状态提供描述的链接…

特效系统使用(现在已弃用)技术

它包装了许多低级api(最初DirectX9使用技术,所以创建它是为了促进direct3d9到direct3d10/11之间的转换)

它提供用于管理常量缓冲区的帮助程序和用于将数据分配给着色器的反射/变量api

因此,在使用低级管道时,您可以独立编译顶点和像素着色器,创建常量缓冲区,以及与之配套的结构。它允许在单个块中构建所有内容,将常量缓冲区分解为变量系统,并具有允许一次执行绑定的pass api

两者都有各自的优点和缺点,fx非常适合创作和原型制作(例如,使用他们的变量系统来创建自动gui非常容易),但由于它为您管理了大量样板文件,但在高效资源重用或复杂的着色器排列方面,它有点麻烦

特效中我特别忽略的一点是变量语义和注释,您可以设置如下内容:

float2 tex : TARGETSIZE;
并通过使用变量系统检测tex是否具有TARGETSIZE语义,例如,从ui隐藏和自动附加渲染标记大小

注释的旧常见用法是为值提供一些metatada,如:

float4 color <bool color=true;> = 1.0f;
float4 color=1.0f;

反映跨注释允许看到我们把这个变量看作一个颜色(并且在编辑器中显示一个颜色选择器而不是4个通道)

虽然d3dcompiler_47中不推荐使用fx_5_0配置文件,但仍然可以使用它,而且包装器是开源的:

是d3d9还是d3d11?是d3d11。