текстурирование в OpenGl - PullRequest
       6

текстурирование в OpenGl

0 голосов
/ 04 декабря 2010

Я новичок в openGl, и у меня есть несколько вещей, использующих его. так что я пытаюсь сделать это нарисовать куб, но применить текстуру только к одной его поверхности ... я не смог найти ответ на некоторых случайных сайтах, которые я нашел в Google, все они говорят о текстурировании целого 3D-объекта Так можно ли наносить его только на одну поверхность или нет?!

спасибо тебе!

Ответы [ 3 ]

1 голос
/ 04 декабря 2010

Использование:

glEnable(GL_TEXTURE_2D);

перед рендерингом одной поверхности, а затем прямо перед другими поверхностями:

glDisable(GL_TEXTURE_2D);

YouКонечно, вы должны убедиться, что вы загружаете свою текстуру, настраиваете и привязываете ее, прежде чем приступить к визуализации поверхностей.

1 голос
/ 04 декабря 2010

Руководства Nehe по OpenGL - это ресурс № 1, который я бы порекомендовал начать разработку OpenGL.По крайней мере, именно с этого я и начал ;-)

Вот ссылка: http: // nehe.gamedev.net

Текстурирование рассматривается в Урок 6: Отображение текстуры

0 голосов
/ 27 октября 2011

Вы также должны добавить текстурные координаты к вершинам полигонов, к которым вы хотите применить текстуру. Для этого вы должны использовать glTexCoord2f / glTexCoord2d. Так, например, если у вас есть следующий (нетекстурированный) полигон:

glBegin(GL_POLYGON);
glVertex3f(0.0f, 0.0f, 0.0f);
glVertex3f(1.0f, 0.0f, 0.0f);
glVertex3f(1.0f, 1.0f, 0.0f);
glVertex3f(0.0f, 1.0f, 0.0f);
glEnd();

Добавьте текстурные координаты так:

glBegin(GL_POLYGON);
glTexCoord2f(0.0f, 0.0f); glVertex3f(0.0f, 0.0f, 0.0f);
glTexCoord2f(1.0f, 0.0f); glVertex3f(1.0f, 0.0f, 0.0f);
glTexCoord2f(1.0f, 1.0f); glVertex3f(1.0f, 1.0f, 0.0f);
glTexCoord2f(0.0f, 1.0f); glVertex3f(0.0f, 1.0f, 0.0f);
glEnd();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...