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
자신 만의 해결책을 수락 할 수 있습니다. – Stringer
그래, 확실히 텍스트 편집기로 코드를 편집하지 마십시오. 그들은 컴파일러가 기대하는 것에 원격으로 접근하고 텍스트 형식 표준 (코드 표준과 동일하지 않음)을 따르며 우리 모두가 의존하는 IDE의 기능을 대부분 가지지 않은 결과를 출력하지 않는 것과 같은 일을합니다. –