Logo

¡Bienvenido a Stratos!

Acceder

Foros



Problema con Texturas y Direct3D

Iniciado por alpedreteño, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

alpedreteño

                                Estoy haciendo un intento de juego en c# con direct3D usando las librerias de Bisual Basic. De momento estoy haciendo pruebas y he conseguido rendear un picachu en 3d. Pero tengo un problema con las texturas y esque parece como si el picachu fuera trasparente porque miras desde la espalda del picachu y le ves los ojos y le miras de un lado y le ves el ojo del lado que se ve y el del otro lado tambien. Lo he probado con otras figuras y pasa lo mismo. no se si me he explicao. alguien sabe que puede estar pasando??                                

Mars Attacks

                                A mí me suena a que tienes las normales del objeto invertidas. Quizás puedas solucionarlo deshabilitando la eliminación de caras ocultas, pero sería más lógico que revisaras el modelo y trataras de invertirle las normales a la malla. Que alguien que sepa más corrobore o desmienta mis teorías :sonriendo:                                

Anonymous

                               

[ Este Mensaje fue editado por: Forum Master el 2002-09-29 11:51 ]                                

alpedreteño

                                El modelo tiene pinta de estar bien. Lo exporté de 3d studio y lo abri con el MeshView que viene con DX SDK y el modelo se ve perfectamente. Aparte de que tambien me pasa con otras figuras. Tiene que ser algo en mi codigo, pero no doy con ello.                                

Ithaqua

                                O bien tienes las normales (o la indicación del sentido horario de los vértices) invertida, o por otro lado también puede ser que no tengas el z-buffer activado.
Comprobarás fácilmente cual es el error activando el z-buffer o invirtiendo el sentido de las normales.
                               
thaqua^Stravaganza
http://ithaqua.stravaganza.org

alpedreteño

                                el z buffer esta activado (con esto basta no?):
device.SetRenderState(D3DRS_ZENABLE, 1);
como puedo invertir las normales?
gracias                                

metaxas

                                Revisa a ver cómo estás haciendo el culling, prueba con:

device.SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW);

Metaxas                                

fiero

                               
Citar
El 2002-09-30 14:09, alpedreteño escribió:
el z buffer esta activado (con esto basta no?):
device.SetRenderState(D3DRS_ZENABLE, 1);
como puedo invertir las normales?
gracias

Además de activar el ZBuffer, tambien hay que crear una superficie para él y añadirsela al BackBuffer, ¿has hecho esto?, por lo menos en DX7 era así, no sé si será igual en DX8.1

Para invertir las normales solo tienes que intercambiar 2 índices de cada triángulo. Por ejemplo, si un triangulo está formado por los vértices 3,4,8 cambiando dos de ellos quedaria el triángulo 3,8,4

[ Este Mensaje fue editado por: fiero el 2002-09-30 16:56 ]                                
www.videopanoramas.com Videopanoramas 3D player






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.
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.