2017-05-19 2 views
3

Ich klebte eine Zeile von Shader-Code von SO und jetzt weigert sich mein Projekt zu arbeiten.Fehler X3000: Unzulässiges Zeichen in Shader-Datei

  • Ich entfernte die verdorbene Codezeile.

  • Ich habe den Shader mehrere Male von Grund auf neu geschrieben mit VS, Notepad und Notepad ++ wie auf der Unity forums vorgeschlagen.

  • Ich habe die Hex-Editor-Ansicht in Notepad ++ verwendet, um auszuschließen, die ersten beiden Bytes sind nicht 0xFE 0xFF wie auf dieser gamedev question vorgeschlagen.

Ich kann wirklich nicht das eine herausfinden. Ich bin dankbar für Ihre Vorschläge.

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; 
} 

enter image description here

Antwort

3

Es war eine Codierung Problem. Als ich die Codezeile eingefügt habe, hat mein Compiler irgendwie jede Textdatei als UNICODE anstelle von ASCII behandelt. Dies verursachte das Problem.
Die Lösung war das Öffnen der Shader-Datei in Visual Studio und gehen Sie zu
Datei-> Speichern unter-> Speichern mit Codierung und wählen Sie dann das richtige Format und erstellen Sie die Lösung neu.

enter image description here enter image description here

Verwandte Themen