Transformar texto 3D usando OpenGL
-
09-09-2019 - |
Pergunta
Atualmente estou estudando essa tutorial :
e eu entendo completamente como escala / rotação / traduzir cada uma das cordas em que tutorial.
Mas alguém sabe o que são necessários para cisalhamento / cone / torcer cada uma das cordas de uma forma configurável pelo usuário passos?
Tanto quanto eu sei, aqueles que não fazem parte das chamadas OpenGL, assim normalmente como são essas transformações feito em texto 3D?
Solução
Você pode fazer suas próprias matrizes de transformação. Eles nem sequer têm de "fazer sentido", você pode preenchê-los com o que quer distorções estranho você vê o ajuste. Por exemplo, cisalhamento deve ser algo como isto:
float shear[] = {
1, Ky, 0, 0,
Kx, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1 };
glMultMatrixf(shear);
Outras dicas
Você precisa manipular a matriz de modelagem. Esta página sobre matrizes podem ajudar com o corte, torção, etc. você usa glLoadMatrix
para carga em novos valores . Para rotação, escala e transformando, basta usar as funções normais OpenGL.
Edit: Se você já tem valores na matriz, você pode usar glMultMatrix
. No entanto, se possível, gostaria de começar por carregamento em cisalhamento, etc. e, em seguida, aplicar as outras coisas em cima disso.