Преобразование 3D текста с использованием OpenGL - PullRequest
1 голос
/ 12 апреля 2009

Я сейчас изучаю этот учебник :

и я полностью понимаю, как вращать / масштабировать / переводить каждую из строк в этом уроке.

Но кто-нибудь знает, какие шаги необходимы для сдвига / сужения / скручивания каждой из струн настраиваемым пользователем способом?

Насколько я знаю, они не являются частью вызовов OpenGL, так как обычно такие преобразования выполняются для трехмерного текста?

Ответы [ 2 ]

7 голосов
/ 12 апреля 2009

Вы можете сделать свои собственные матрицы преобразования. Им даже не нужно «иметь смысл», вы можете заселить их любыми странными искажениями, которые вы считаете нужными. Например, сдвиг должен выглядеть примерно так:

float shear[] = { 
   1, Ky, 0, 0, 
   Kx, 1, 0, 0,
    0, 0, 1, 0,
    0, 0, 0, 1 };
glMultMatrixf(shear);
3 голосов
/ 12 апреля 2009

Вам нужно манипулировать матрицей вида модели. Эта страница о матрицах может помочь с резанием, скручиванием и т. Д. Вы используете glLoadMatrix для загрузки новых значений. Для вращения, масштабирования и преобразования просто используйте обычные функции OpenGL.

Редактировать: Если у вас уже есть значения в матрице, вы можете использовать glMultMatrix. Однако, если возможно, я начинаю с загрузки в сдвиг и т. Д., А затем применяю другие вещи поверх этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...