Pregunta

En uno de mis preguntas anteriores Le pregunté sobre los eventos de OnTouche en OpenGL. La idea era crear una aplicación simple que dibujara un cuadrado donde presionó la pantalla. Después de un tiempo salí con una aplicación que hizo todo como debería haberlo hecho, pero el cuadrado no volvió a dibujar, simplemente desapareció de la pantalla.

Me han dicho que para resolver esto necesito enviar un rayo al entorno 3D de OpenGL desde mi perspectiva 2D, pero por mi vida no puedo entender por qué, porque cuando leí sobre Raycasting parecía usarse Principalmente para efectos de iluminación. ¿Qué es exactamente el Raycasting? ¿Por qué necesitaría el eje Z cuando todo lo que necesito cambiar en la posición de los cuadrados es el eje x e y del que se pueden encontrar coodineados sin importar a qué profundidad se registre el toque?

¿Fue útil?

Solución

Debe enviar un rayo desde la vista a la pantalla para saber en qué parte del mundo dibujará su cuadrado. Si bien esto implica lanzar un rayo, no es un lanzamiento de rayas como una técnica de renderizado. A menos que esté trabajando orto, e incluso entonces, hasta cierto punto, las matemáticas para convertir de pantalla a mundo o mundo a pantalla deben hacerse para encontrar el punto correcto para su primitivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top