SoloCodigo

Programación Específica => Programación de Videojuegos => DirectX => Mensaje iniciado por: DirectJulio en Martes 16 de Noviembre de 2004, 00:42

Título: Mis Objetos Directx Se Ven Mal
Publicado por: DirectJulio en Martes 16 de Noviembre de 2004, 00:42
Hola muchachos. Soy un recontranovato de DirectX. Estoy usando VB6 con DirectX6, usando ese manual de Sebastian BAllesteros que anda dando vueltas por ahi. El problema es que cuando transformo los archivos 3ds (previamente exportados desde 3dstudio max) a .x, al levantarlos y renderizarlos hay caras que quedan transparentes, o peor, translucidas. Y son objetos simples: cubos, toros, etc, porque estoy haciendo los primeros ejercicios. Algun veterano me puede dar una idea? Ni siquiera uso texturas, son ejercicios basicos.
Título: Re: Mis Objetos Directx Se Ven Mal
Publicado por: JuanK en Martes 30 de Noviembre de 2004, 03:00
solo dos recomendaciones (anuque no soy veterano)

Para usar direcftx hoy en dia necesitas:


1- Usar lenguajes mas potentes como C, C++, C# o Delphi
2- Usar tecnologias mas recientes como DirectX 9 o DirectX Managed o OpenGl o incluso allegro si te gusta progframar al estilo de la vieja guardia(como a mi).
Título: Re: Mis Objetos Directx Se Ven Mal
Publicado por: hitman47 en Martes 30 de Noviembre de 2004, 04:57
hola no se si te sirva porque esta en ingles pero en esta Web (http://216.5.163.53/DirectX4VB/TUT_DX8_DG.asp) puedes encontrar tutores,ejemplos etc
Título: Re: Mis Objetos Directx Se Ven Mal
Publicado por: Yosi_RNR en Sábado 4 de Junio de 2005, 13:08
A ver, veamos, seguramente por estas fechas ya habras solucionado el problema, pero bueno, tal vez lo que ocurra es que no has activado la eliminacion de caras anteriores (backface culling), por lo que caras que estan lejos del observador que otras se pintan despues tapando a las que estando mas cerca han sido pintadas antes dando apariencia de que quedan caras transparentes o eliminadas.

Comprueba pues si en tu programa haces la siguiente llamada:

       D3DDevice->SetRenderState( D3DRS_CULLMODE, valor );

donde valor puede ser:

       D3DCULL_NONE     --------> Desactiva la eliminacion de caras
       D3DCULL_CCW      --------> En el orden contrario a las agujas del reloj
       D3DCULL_CW        --------> En el orden de las agujas del reloj

Si a estas alturas sirve aun de algo, pues eso....
Título: Re: Mis Objetos Directx Se Ven Mal
Publicado por: ifmaster en Sábado 4 de Junio de 2005, 17:41
Eso de activar el culling es una buena idea, activa el Counter Clock Wise (CCW).
Yo nunca e renderizado mallas con formato .x pero x lo k tengo entendido son 1 poco coñazo, si eres nuevo en directX te recomendaria que usaras el formato .ASE, ademas Max exporta directamente a este formato sin necesidad de plugins.
Te sugiero lo mismo que JuanK, usa direct X 9.0 (o superior), Visual Studio .net y sobretodo el lenguaje de programación C++