Наложение нескольких текстур на объект.
помоги пожалуйста с текстурами. я вот все читаю но никак не могу понять как они накладываються.
мне вот нужно как. у меня есть сфера, на нее натянута текстура.
так что мне сделать чтоб на этой сфере взять кусок (как координаты куска находить уже знаю) например прямоугольгик и на этот кусок натянуть другую текстуру!!!
как это сделать никто не подскажет?!!!!:confused: :confused: :confused:
Для начала:
DX || GL?
пишу на C++ Builder
1. Из части вершин одного объекта создать другой объект с другой же текстурой.
2. Натянуть на объект другую текстуру, часть которой (вне пределов прямоугольника) должны быть прозрачной.
имхо, легче сделать вторую текстуру прозрачной на всю сферу, кроме того прямоугольника. а дальше - сблендить их да и все.
вот у меня есть тестура я ее загружаю в функции создания формы.
вот так:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, 3,photo_image->sizeX, photo_image->sizeY,
0, GL_RGB, GL_UNSIGNED_BYTE,
photo_image->data);
в функции перерисовки я рисую сферу
вот так
gluSphere(quadObj, 50, 100, 100);
но вот если я еще одну сферу нарисую то на ней такая же текстура наложиться!!
вот как мне так вот сказать что- вот сфера - на нее эта тестура.
а вот прямоугольник- на него другая!!!!
и вот еще одна проблема не столь важная просто вопрос в каком направлении почитать. Вот мне надо создать пересечение сферы и конуса.
причем чтоб сфера была видимой , конус почти прозрачным(это уже я сделал) а вот их линия пересечения очень ярко выделялась!!!!!!
Опять же, ты заставляешь OpenGL генерить тебе требуемые примитивы. Такой подход хорош в стандартных ситуациях. Если тебе нужна ситуация нестандартная, то лучше генерить объект ручками, тогда у тебя появляется бОльшая свобода по манипуляции им. В частности, взять из него только часть вершин.
А что вот по поводу веделения пересечения фигур может помочь?