2010-06-20 9 views
6
다음과 같은 오류가 나타납니다

: Test.fx (1,1) : 오류 X3000 : 구문 오류 : 예기치 않은 토큰 '{'HLSL : 빈 FX 파일 : X3000 : 예기치 않은 토큰 '{'

Text.fx는 포함 이 : 아무것도.

float4x4 mWorld; 

struct TInputVertex { 
    float3 vPosition : POSITION0; 
    float3 vNormal  : NORMAL0; 
    float2 vTexCoord : TEXCOORD0; 
    float4 vColor  : COLOR0; 
}; 

struct TOutputVertex { 
    float4 vPosition : POSITION0; 
    float3 vNormal  : TEXCOORD1; 
    float4 vColor  : COLOR0; 
}; 

TOutputVertex vsMain(TInputVertex i) { 
    TOutputVertex o; 

    o.vPosition = mul(float4(i.vPosition, 1), mWorld); 
    o.vColor = i.vColor; 

    o.vNormal = mul(float4(i.vNormal, 1), mWorld).xyz; 

    //o.vColor += pow(dot(normal_world, float3(0, 0, 1)) * 2 + 0.3, 10); 

    return o; 
} 

struct TInputFragment { 
    float3 vNormal  : TEXCOORD1; 
    float2 vTexCoord : TEXCOORD0; 
    float4 vColor  : COLOR0; 
}; 

struct TOutputFragment { 
    float4 vColor  : COLOR0; 
}; 

TOutputFragment psMain(TInputFragment i) { 
    TOutputFragment o; 

    o.vColor = i.vColor; 
    o.vColor += pow(dot(i.vNormal, float3(0, 0, 1)) * 2 + 0.3, 10); 

    return o; 
} 

technique mytech { 
    pass p0 { 
     //ShadeMode = Flat; 
     //ZEnable = false; 

     WorldTransform[0] = mWorld; 

     VertexShader = compile vs_1_1 vsMain(); 
     PixelShader = compile ps_2_0 psMain(); 
    } 
} 

결과와 같은 오류 :

나는 또 다른 테스트 프로젝트에서 잘 작동하는 효과 파일을 시도했다.

두 프로젝트에서 동일한 dx SDK의 dx 파일을 포함합니다. 동일한 헤더와 라이브러리를 포함하고 연결합니다.

필자는 문자 그대로 테스트 프로젝트에서 로딩 기능을 복사했습니다. 나는 전체 테스트 프로젝트를 직접 작성했다.

HRESULT res = D3DXCreateEffectFromFile(device, file_name, NULL, NULL, 0, 0, &effect, &error_buffer); 

Google은 이와 같은 기능을 제공하지 않습니다. 단검을 내 wetware에서 꺼낼 수 있다면 정말 고맙겠습니다.

Antoon

답변

4

해결 방법 : RTF 파일을 생성 한 다음 이름을 변경하고 워드 패드로 편집하지 마십시오. 워드 패드는 파일이 "{\ rtf1}"로 시작하기 때문에 rtf로 해석합니다. Visual Studio로 드래그하면 실제 내용을 보여주었습니다. 세상에, 너는 너무 재미있어.

+1

자신 만의 해결책을 수락 할 수 있습니다. – Stringer

+0

그래, 확실히 텍스트 편집기로 코드를 편집하지 마십시오. 그들은 컴파일러가 기대하는 것에 원격으로 접근하고 텍스트 형식 표준 (코드 표준과 동일하지 않음)을 따르며 우리 모두가 의존하는 IDE의 기능을 대부분 가지지 않은 결과를 출력하지 않는 것과 같은 일을합니다. –

관련 문제