2009-07-27 2 views
0

Для назначения класса я хочу иметь очень простую демонстрационную версию с Glut (glutSolidTeapot) с одной текстурой.Не повторяющаяся текстура на объекте Opengl

Когда я это сделаю, текстура будет отображаться несколько раз в чайнике, как если бы у него было несколько лиц. Это может быть нормально для большинства распространенных OpenGL-приложений, но в моем случае я бы хотел, чтобы текстура растягивалась по всему объекту (т. Е. Только одно большое изображение/текстура).

Я попробовал GL_REPEAT, GL_LAMP ... но без изменений.

ответ

2

Вы должны предоставить координаты текстуры, которые находятся в диапазоне от нуля до единицы. Я думаю, что на добром старом чайнике OpenGL создаются текстурные координаты, которые повторяются. Невозможно покрыть чайник без повторения при использовании этих повторяющихся координат.

+0

, так что предоставляя его только текстуре, а затем применяя ее? – Jordi

+0

Прошу прощения, я не понимаю ваш вопрос. Я имею в виду, что при отправке геометрии вам необходимо предоставить правильные координаты текстуры. –

+1

Жорди, если Николай прав, это не проблема openGL, а проблема сетки. Чайник состоит из множества треугольников, и у этих треугольников установлены координаты текстуры от 0 и 1. То, что вы хотите, это сетка чайника, которая имеет диапазон по всему чайнику, так что это индивидуальный трис только от 0,33 до 0,4 и т. д. Поэтому вам нужно будет как-то отредактировать. Хотя в прошлый раз я использовал чайник OGL, я уверен, что TC были по всей модели, а не от 0 до 1 для каждого треугольника ... – Pod

Смежные вопросы