Buenas, pues tengo esto en el objeto controlador, evento draw:
with(objLight) {
... ... ...
for (i = 0; i < 3; i += 1) { //todas hacen luz
d3d_light_enable(HUD.numLight, true); d3d_light_define_point(HUD.numLight, x, y, 50, xxx, xxx);
HUD.numLight += 1;
}
... ... ...
}
el controlador hace, para cada objeto objLight, define una luz puntual en sus coordenadas x y. El juego es vista plataformas, así que x y coorresponden a coordenadas 2D prácticamente. Aquí la room:
(http://dmcplusdata.webcindario.com/room.png)
La vista 3D será igual que como se ve en la room: el personaje es el cuadrado rojo, la luz es el cuadrado azul con la bombilla, y las lineas amarillas delimitan la sala. Aquí la imagen:
(http://dmcplusdata.webcindario.com/screenshot100.png)
Como podéis ver, vemos al personaje, segun la room abajo del todo en el suelo (vemos como el suelo lo corta), y arriba la sala delimitada. El problema? la luz estaba en el centro de la sala, y como véis, al ejecutarlo la luz se situa... bueno, del centro para arriba es lo único que alumbra.
Si le sumo, por ejemplo, 400 a la y, pasa esto:
(http://dmcplusdata.webcindario.com/screenshot101.png)
Parece correcto pero... no tiene sentido sumarle a la y por la cara, debo descubrir por que se le resta la y tanto... alguien le ve sentido? El rango es de 3000 en el caso de la imagen
Antes me funcionaba cuando dibujaba walls y floors con d3d_draw_floor, y comenzó a fallar cuando lo sustituí por primitivas haciendo vertice a vertice trianglestrips en vez de hacer draw de floors y walls, a lo mejor influye... pero la cuestion es que ayer mismo me funcionaba perfectamente.
Hola,
Cual es el valor minimo que necesitas sumarle al y para que la habitación se vea "bien" iluminada (no creo que sean 400), lo unico que se me viene a la mente de porque puede fallarte es porque definiste mal las normales cuando hiciste el escenario.
Saludos
WAHH, gracias! Era justo eso! Tenía mal definidas las normales en los muros (pensaba que las puse bien) y me olvidé cambiarlas en suelos y paredes... así se ve perfecto!
(http://dmcplusdata.webcindario.com/screenshot102.png)
aunque no entiendo por qué el muro de la esquina inferior derecha no se ve (el de la izquierda sí). Quizás sea porque su y es mayor que 720, y antes jugué con ese número, pero me lo he mirado bien y no veo razón para que falle... dudo que podáis saber eso, quizás es error mío, o sí es algo que podéis saber, no lo sé. Por ahora la duda principal resuelta, nunca olvidar las normales :D