Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Luces en DirectX

Iniciado por Sergio, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Sergio

                                A ver un problemilla que tengo. El caso es que creo un foco de luz (de color azul) e ilumina perfectamente un cubo que he creado. Tambien he configurado la luz ambiente para hacer unas pruebas. El color de la luz ambiente es de 255, 255, 255. Para la luz ambiente solo uso la instruccion SetRenderState(D3DRS_AMBIENT, D3DCOLOR_XRGB(255, 255, 255).
Lo que pasa es que si desactivo el foco de luz azul que cree, se ve todo negro, como si no hubiera luz ambiente. Alguien me puede decir que pasa aqui??

Gracias de antemano
un saludo!!                                
here are only 10 types of people: those who understand binary and those who don't

Lord Trancos

                                Seguramente eso te pasa pq el material de tu cubo tiene la luz ambiente a 0.                                
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

Sergio

                                ein?? Jeje
Como se cambia eso??
Si te refieres a la definicion de los vertices (el array), tengo el color de los vertices a 0xFFFFFF (vamos, blanco xDDD).
Se me olvida algo?                                
here are only 10 types of people: those who understand binary and those who don't

_Grey

                                quizas asi:

p_d3d_Device->SetRenderState(D3DRS_AMBIENTMATERIALSOURCE,D3DMCS_COLOR1);

Por defecto la fuente de luz ambiente esta a D3DMCS_COLOR2, y si tu formato de vertice solo tiene un color especificado, pues no puede coger el segundo como es logico:

D3DMCS_COLOR1 - Especifica como fuente el primer valor de color del vertice
D3DMCS_COLOR2 - Especifica como fuente el segundo valor de color del vertice
D3DMCS_MATERIAL - Especifica como fuente el material actual

y

D3DRS_DIFFUSEMATERIALSOURCE - para fuente luz difusa
D3DRS_SPECULARMATERIALSOURCE - para fuente luz especular
D3DRS_AMBIENTMATERIALSOURCE - para fuente luz ambiente
D3DRS_EMISSIVEMATERIALSOURCE - para fuente luz emisiva
                               

Sergio

                                Muchas gracias _Grey. He probado antes de leer tu post lo de los materiales (investigando por ahi un poco :sonriendo: ) y tambien lo he conseguido, y asi ademas entiendo mas o menos para que sirven, ahora probare lo que me has dicho.
Gracias a todos!
Un saludo!!!                                
here are only 10 types of people: those who understand binary and those who don't






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.