tutorial transformaciones matrices opengl 3d transformation

transformaciones - opengl tutorial



OpenGL: ¿Múltiple vector de usuario por matriz modelview? (4)

La razón por la cual opengl probablemente no solo hará esto por usted es porque el cálculo no es parte de la canalización de renderizado. y opengl (en su mayor parte) solo realiza cálculos durante el ciclo de visualización. Por lo tanto, no tiene sentido proporcionar este tipo de interfaces síncronas.

¿Hay alguna manera de hacer que OpenGL se convierta en un vector general? Se lo doy con la matriz modelo de vista actual y obtener el resultado?

La forma obvia es consultar la matriz de modelos y hacer la multiplicación, pero estoy casi seguro de que debería haber una manera de hacer que OpenGL haga esto por mí.


Lo mejor es hacer el cálculo fuera de OpenGL. Las preguntas frecuentes de Matrix y Quaternions son un buen recurso para aprender a realizar los cálculos si no lo sabe ya. Usted obtiene la matriz de vista de modelo 4x4 de la siguiente manera

float modelview[16]; glGetFloatv(GL_MODELVIEW_MATRIX, modelview);


Probablemente sea mejor hacer las transformaciones en el lado de la CPU. La única otra forma en que puedo pensar es usar EXT_transform_feedback más un sombreador de vértices que solo haga las transformaciones modelview.


Tienes razón, debes obtener la matriz modelview y transformar el vector tú mismo.

Para una confirmación, vea este enlace en el párrafo 9.120.