Следующая ошибка появляется: Test.fx (1,1): ошибка 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();
}
}
С той же ошибкой как результат.
Включенные дуплексные файлы от того же дуплекса sdk в обоих проектах. Включая и соединение тех же заголовков и библиотек.
Я буквально скопировал загружающуюся функцию с тестового проекта. Я записал весь тестовый проект сам.
HRESULT res = D3DXCreateEffectFromFile(device, file_name, NULL, NULL, 0, 0, &effect, &error_buffer);
Google не поднимается ни с чем как это. Я был бы очень признателен, если Вы могли бы удалить крестик из моего wetware.
Antoon
Решение: не создавайте файлы RTF, а затем переименовывайте их и редактируйте с помощью клавиатуры. Wordpad по-прежнему будет интерпретировать его как rtf, потому что файл начинается с "{\ rtf1}". Перетаскивание его в визуальную студию показало мне реальное содержимое. О мир, ты такой веселый.