Pregunta

Actualmente estoy estudiando esta tutorial :

y entiendo completamente cómo girar / escala / traducir cada una de las cadenas en ese tutorial.

Pero ¿alguien sabe qué medidas son necesarias para esquilar / cono / giro que cada una de las cuerdas de una manera configurable por el usuario?

Por lo que yo sé, los que no son parte de OpenGL llamadas, por lo que normalmente forma en que se realizan estas transformaciones en el texto 3D?

¿Fue útil?

Solución

Usted puede hacer sus propias matrices de transformación. Ni siquiera tienen que "tener sentido", puede rellenar con todas las deformaciones extraño que parezca. Por ejemplo, cizalla debe ser algo como esto:

float shear[] = { 
   1, Ky, 0, 0, 
   Kx, 1, 0, 0,
    0, 0, 1, 0,
    0, 0, 0, 1 };
glMultMatrixf(shear);

Otros consejos

Es necesario manipular la matriz modelview. Esta página sobre matrices podrían ayudar con el cizallamiento, torsión, etc. Utiliza glLoadMatrix para cargar los nuevos valores . Para rotar, escalar, y la transformación, sólo tiene que utilizar las funciones normales de OpenGL.

Editar: Si ya tiene los valores en la matriz, puede utilizar glMultMatrix. Sin embargo, si es posible, comienzo por la carga de cizalla, etc., y luego aplicar las otras cosas por encima de eso.

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