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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top