Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Efectos Y Declaraciones

Iniciado por Haddd, 16 de Octubre de 2003, 05:27:00 PM

« anterior - próximo »

Haddd

 Bien, tengo este shader en un effect:

//-----------------------------------------------------------------------------
// Name: RenderSceneVS
// Type: Vertex shader                                      
// Desc: This shader computes standard transform and lighting
//-----------------------------------------------------------------------------
VS_OUTPUT2 RenderSceneVS2( float4 vPos : POSITION,
                        float2 vTexCoord0 : TEXCOORD0 )
{
   VS_OUTPUT2 Output;
   float3 vNormalWorldSpace;
 
   // Transform the position from object space to homogeneous projection space
   Output.Position = mul(vPos, WorldViewProjection);
     
   // Just copy the texture coordinate through
   Output.TextureUV = vTexCoord0;
   
   return Output;    
}


Y tengo esta declaración en mi programa:

static D3DVERTEXELEMENT9 PosTex1[] =
{
   { 0,0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_POSITION,0 },
   { 3,0,D3DDECLTYPE_FLOAT2,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_TEXCOORD,0 },
   D3DDECL_END()
};


La cuestión es que quiero dibujar un cubo texturado. El cubo se dibuja pero no aparece texturado, aparece negro.

La cuestión es..¿no debo declara el vértice como FLOAT4? Pero si lo hago no sale nada

¿ Puede ser los effects me hagan un SetTexture() a NULL sin yo decirles nada y por eso no lo veo?

Este mismo effect con mallas de D3DX sí que funciona, así que no es culpa del efect.

Haddd

 Ya está, hay que pasarle la textura al effect <_<  

MChiz

 Pero si no usas un pixel shader no tienes porque hacerlo, no?

Haddd

 No tiene nada que ver usar o no un PS en este caso






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.