Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

наложение текстуры на цилиндр

6.8K
03 июля 2008 года
artemkaint
60 / / 12.07.2006
народ хелп плиз...никак не могу наложить текстуру на цилиндр чтобы она нормально отображалась...я хочу чтоб у меня одна картинка была натянута на весь цилиндр...и желательно без натяжки на торцы (т.е основания сверху снизу)...у меня он в упор натягивает 4 картинки на одну сторону ...плиз...


Код:
GLuint ObjectID;

    AUX_RGBImageRec *Texture;
    Texture=auxDIBImageLoad("Earth.bmp");  
    glGenTextures(1,&ObjectID);
    glBindTexture(GL_TEXTURE_2D,ObjectID);
    glPixelStorei(GL_UNPACK_ALIGNMENT,1);
gluBuild2DMipmaps(GL_TEXTURE_2D,4,Texture->sizeX,Texture->sizeY,GL_RGB, GL_UNSIGNED_BYTE,Texture->data);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glEnable(GL_TEXTURE_GEN_S);
    glEnable(GL_TEXTURE_GEN_T);

glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_EYE_LINEAR);
glTexGeni(GL_T,GL_TEXTURE_GEN_MODE,GL_EYE_LINEAR);


// запрещаем текстуре размножаться маленькими копиями по объекту
//glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP);
//glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP);
//при включении почему-то ничего не отображается...
   
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,ObjectID);
glTranslated(3,2,0);
glRotated(90,-1,0,0);

GLUquadricObj *quadObj;
quadObj = gluNewQuadric();
       
glPushMatrix();

gluQuadricTexture(quadObj, GL_TRUE);
gluQuadricDrawStyle(quadObj, GLU_FILL);
gluCylinder(quadObj, 1, 1, 2, 20, 1);
glFlush ();
glDisable(GL_TEXTURE_2D);
gluDeleteQuadric(quadObj);


забыл написать эт конечно openGL
247
04 июля 2008 года
wanja
1.2K / / 03.02.2003
А где ты рисуешь торцы?
7.0K
04 июля 2008 года
Rusd
88 / / 26.08.2006
"OpenGL Graphics Through Applications" Robert Whitrow. Страница 171 - наложение текстур на простые поверхности
6.8K
04 июля 2008 года
artemkaint
60 / / 12.07.2006
Цитата: wanja
А где ты рисуешь торцы?



а я наверно и не рисую их...сам опен жл никак не может их выставить?
да и вообще как привязать координаты текстуры и координаты цилиндра? если плоский объект там все ясно...а вот объемный...

6.8K
04 июля 2008 года
artemkaint
60 / / 12.07.2006
Цитата: Rusd
"OpenGL Graphics Through Applications" Robert Whitrow. Страница 171 - наложение текстур на простые поверхности



ну да видил я такое...тока опять же там нет привязки к объемной фигуре

7.0K
04 июля 2008 года
Rusd
88 / / 26.08.2006
Цитата: artemkaint
а я наверно и не рисую их...сам опен жл никак не может их выставить?
да и вообще как привязать координаты текстуры и координаты цилиндра? если плоский объект там все ясно...а вот объемный...



Quadric-объекты рисуются библиотекой GLU.

Цитата: artemkaint
ну да видил я такое...тока опять же там нет привязки к объемной фигуре


Есть. На координаты S и T обратил внимание?

Попробуй еще добавить:

 
Код:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN__FILTER, GL_NEAREST),
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
247
24 июля 2008 года
wanja
1.2K / / 03.02.2003
А торцы таки надо рисовать самому. gluDick тебе в руки.
41K
29 июля 2008 года
rumyancev
1 / / 29.07.2008
и совсем не сложно! :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог