Muy buenas a todos, antes de nada, daros las gracias de antemano por este gran foro y la comunidad que lo formáis.
Os comento mi problema. Llevo ya varios días intentando hacer un falso 3d con primitivas. El problema, es que cuando lo hacia con paredes de color solido no había problemas, y canté victoria. Pero duró bastante poco la alegría :'( :'(. Porque al intentar darle una textura, esta se deformaba dejando la pared como si la hubieran construido Manolo y Benito. Empecé a buscar la solución, pero lo único que encontré fue un comentario en uno de los hilos http://www.comunidadgm.org/preguntas-y-respuestas/(-resuelto-)-extrano-comportamiento-de-primitiva-3d/msg123797/#msg123797. La solución que más me convence seria la de usar el tipo tira, como se expone en el hilo. El problema es que no sé como hacer esa división en triángulos del sprite y usarlo como textura. La solución será seguramente muy sencilla, pero ahora mismo me siento más cortito que un Gnomo cagando sin gorro. Os agradecería una ayuda.
Dejo la imagen del sprite que uso y del pobre resultado que he conseguido. Así como del código de dibujo:
Os comento mi problema. Llevo ya varios días intentando hacer un falso 3d con primitivas. El problema, es que cuando lo hacia con paredes de color solido no había problemas, y canté victoria. Pero duró bastante poco la alegría :'( :'(. Porque al intentar darle una textura, esta se deformaba dejando la pared como si la hubieran construido Manolo y Benito. Empecé a buscar la solución, pero lo único que encontré fue un comentario en uno de los hilos http://www.comunidadgm.org/preguntas-y-respuestas/(-resuelto-)-extrano-comportamiento-de-primitiva-3d/msg123797/#msg123797. La solución que más me convence seria la de usar el tipo tira, como se expone en el hilo. El problema es que no sé como hacer esa división en triángulos del sprite y usarlo como textura. La solución será seguramente muy sencilla, pero ahora mismo me siento más cortito que un Gnomo cagando sin gorro. Os agradecería una ayuda.
Dejo la imagen del sprite que uso y del pobre resultado que he conseguido. Así como del código de dibujo:
Código [Seleccionar]
//Dibujar la pared
draw_set_colour(c_white);
draw_primitive_begin_texture(pr_trianglefan,sprite_get_texture(pared,1));
draw_vertex_texture(posx1,posy1,0,1); //1 punto
draw_vertex_texture(posx2,posy2,1,1); //2 punto
draw_vertex_texture(altx2,alty2,1,0); //3 punto
draw_vertex_texture(altx1,alty1,0,0); //4 punto
draw_primitive_end();