Directx HLSL是否将单个浮点数传递给PS?

Directx HLSL是否将单个浮点数传递给PS?,directx,shader,hlsl,Directx,Shader,Hlsl,我正在阅读Frank Luna的“DirectX 9.0c:着色器方法”一书,我被困在第10章的练习2中。我应该计算一个浮点值s并将其传递给像素着色器,以便计算“卡通灯光”。我理解计算背后的原理,但我似乎不知道如何将单个浮点值从顶点着色器传递到像素着色器。当我在MSDN上搜索时,我只找到了允许传递3d向量的语义,等等 看起来我可能需要以某种方式修改我的输入和输出结构,但到目前为止,除了一个“outputVS”结构外,练习还没有任何结构 简而言之,如何将单个浮点值从顶点着色器传递到HLSL中的像素

我正在阅读Frank Luna的“DirectX 9.0c:着色器方法”一书,我被困在第10章的练习2中。我应该计算一个浮点值s并将其传递给像素着色器,以便计算“卡通灯光”。我理解计算背后的原理,但我似乎不知道如何将单个浮点值从顶点着色器传递到像素着色器。当我在MSDN上搜索时,我只找到了允许传递3d向量的语义,等等

看起来我可能需要以某种方式修改我的输入和输出结构,但到目前为止,除了一个“outputVS”结构外,练习还没有任何结构

简而言之,如何将单个浮点值从顶点着色器传递到HLSL中的像素着色器


提前谢谢。

您将浮点值放入向量的一个分量中。然后,像素着色器仅读取该组件


没有法律规定向量的每个分量都必须包含实际数据;)

这就是答案。我回去了,Luna在第一章使用着色器时简要地提到了它。基本上,您可以向顶点着色器输出结构和像素着色器的输入参数添加一个float,使其具有语义“TEXCOORD”,但没有任何东西可以阻止您将该值用于所需的任何对象。