Texture matrix

OpenGL и SDL и многоплатформено програмиране на игри.
Потребителски аватар
Miraka
Regular User
Regular User
Мнения: 80
Регистриран: 19 мар 2006 13:53
Местоположение: София

Texture matrix

Мнение от Miraka » 17 сеп 2006 14:13

Значи това което искам е да сложа дадена текстура и да си я преместа където си искам по обекта, да я скалирам както си искам и да я завъртя на какъвто си ъгъл искам. Всичко това е ок, освен ъгъла.. Получава се следния ефект:

Изображение

Дясната текстура не е завъртяна, а лявата е завъртяна на 30 градуса. И 2те текстури са изместени по x и y с 0.25 и са скалирани по 2. Кода, който използвам за трансформациите е:
glMatrixMode(GL_TEXTURE);
glPushMatrix();
glScalef(subTexScaleX, subTexScaleY, 1);
glTranslatef(XDisplacement, YDisplacement, 0);
glRotatef(subTexRotationAngle, 0,0,1);
glMatrixMode(GL_MODELVIEW);

... //рисувам обекта

glActiveTextureARB(GL_TEXTURE1);
glMatrixMode(GL_TEXTURE);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);

Някой има ли идея защо се разкривява лявата текстура при завъртане ?

GeLeTo
Power User
Power User
Мнения: 285
Регистриран: 16 дек 2003 17:02

Мнение от GeLeTo » 17 сеп 2006 17:47

Сложи Rotate-a да е пръв

Потребителски аватар
Miraka
Regular User
Regular User
Мнения: 80
Регистриран: 19 мар 2006 13:53
Местоположение: София

Мнение от Miraka » 17 сеп 2006 19:23

Мда е 1ви трябва да е Rotate-а ама не беше там дерта ами нещо се беше сбозило в текстурните координати.. както и да е вече всичко е ок.. мерси за отговора

Отговори