Svi*_*mpe 6 shader character-encoding directx-11
我从SO粘贴了一行着色器代码,现在我的项目拒绝工作.
我删除了污染的代码行.
我在Unity论坛上建议使用VS,Notepad和Notepad ++从头开始多次重写着色器.
0xFE 0xFF这个gamedev问题上的建议.我真的无法想出这个.我很感激您的任何建议.
cbuffer CB_PER_FRAME : register(b0)
{
column_major float4x4 view;
column_major float4x4 proj;
float4 eyePosition;
};
struct VertexInput
{
float3 position : POSITION;
float3 normal : NORMAL;
float2 texCoord : TEXCOORD;
row_major float4x4 world : WORLD;
float4 color : COLOR;
uint instanceID : SV_InstanceID;
};
struct PixelInput
{
float4 position : SV_POSITION;
float3 normal : NORMAL;
float2 texCoord : TEXCOORD;
float4 color : COLOR;
};
PixelInput VertexShaderMain( VertexInput vertexInput )
{
PixelInput pixelInput (PixelInput)0;
pixelInput.position = mul( float4( pixelInput.position, 1.0f ), vertexInput.world );
pixelInput.position = mul( pixelInput.position, view );
pixelInput.position = mul( pixelInput.position, proj );
pixelInput.normal = normalize( mul( pixelInput.normal, (float3x3)vertexInput.world ) );
pixelInput.texCoord = vertexInput.color;
pixelInput.color = vertexInput.color;
return pixelInput;
}
float4 PixelShaderMain( PixelInput pixelInput ) : SV_Target
{
return pixelInput.color;
}
Run Code Online (Sandbox Code Playgroud)
Svi*_*mpe 12
这是一个编码问题.当我粘贴代码行时,它以某种方式使我的编译器将每个文本文件视为UNICODE而不是ASCII.这引起了这个问题.
解决方案是在Visual Studio中打开着色器文件,然后转到
文件 - >另存为 - >使用编码保存,然后选择正确的格式并重建解决方案.

| 归档时间: |
|
| 查看次数: |
2058 次 |
| 最近记录: |