Показать сообщение отдельно
Старый 08.11.2012, 12:44   #64
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Советы по оптимизации

У меня опять косяк с шейдером. Я думал что сюда:
texture iTEX;
sampler TEX_DIFFUSE=sampler_state{};
будет ложиться конкретная текстура в разных случаях. А у меня какая последняя текстура сюда положится, та и накладывается на все модели. Помогите разобраться.


float4x4 matWVP;

const float LODDISTHI;
const float LODDISTLO;

texture iTEX;
sampler TEX_DIFFUSE=sampler_state{};

//===================LOD HIGHT================================
void vs_lodhi(
   in  float4 iPos  : POSITION0,
   in  float3 iTXC  : TEXCOORD0,
   out float4 oPos  : POSITION0,
   out float3 oTXC  : TEXCOORD0,
   out float3 oDIST : TEXCOORD1)
{
   oPos  = mul( iPos, matWVP );
   oTXC  = iTXC;
   oDIST = oPos.z;
}

float4 ps_lodhi(float3 TXC:TEXCOORD0,  float3 DIST: TEXCOORD1) : COLOR0
{
   float4 oTEX = tex2D(TEX_DIFFUSE,TXC);
   clip(DIST<LODDISTHI ? -1:1);
   return oTEX;
}

technique LODHI {pass P0{VertexShader = compile vs_2_0 vs_lodhi(); PixelShader  = compile ps_2_0 ps_lodhi();}}
__________________
(Offline)
 
Ответить с цитированием