Модераторы: Rickert, Alexeis, BorisVorontsov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наложение текстурЫ на сферу, как? 
:(
    Опции темы
Elfet
  Дата 26.11.2004, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Код
//как?
GLUquadricObj *gsea;
gsea = gluNewQuadric();
glColor3f(0.2, 0.2, 1.0);
gluQuadricDrawStyle(gsea, GLU_FILL);
gluSphere(gsea, 100, 100, 100);

Вот, как наложить тексуру на эту сферу?
smile
Заранее благодарен! smile


--------------------
PM MAIL WWW Skype   Вверх
DENNN
Дата 26.11.2004, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Код

gluQuadricTexture(gsea,GL_TRUE);
gluQuadricDrawStyle(gsea, GLU_FILL);
glColor3f(0.2, 0.2, 1.0);

gluSphere(gsea, 100, 100, 100);

 gluDeleteQuadric(gsea);
  auxSwapBuffers();

PM ICQ   Вверх
Elfet
Дата 26.11.2004, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Код

gluQuadricTexture(gsea,GL_TRUE);

только вот это вставить? smile что то я не понял как наложить текстуру! smile


--------------------
PM MAIL WWW Skype   Вверх
chipset
Дата 26.11.2004, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 165



Ну ты же сначала пробиндишь её glBindTexture ;)


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Elfet
  Дата 26.11.2004, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Код
GLUquadricObj *gsea;
gsea = gluNewQuadric();
glColor3f(0.2, 0.2, 1.0);
gluQuadricDrawStyle(gsea, GLU_FILL);
gluQuadricTexture(gsea,GL_TRUE);
glBindTexture(GL_TEXTURE_2D, texture[0]);
gluSphere(gsea, 100, 100, 100);

smile не работает, забыл я как это делается!

Это сообщение отредактировал(а) Elfet - 26.11.2004, 15:21


--------------------
PM MAIL WWW Skype   Вверх
chipset
Дата 26.11.2004, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 165



Elfet
Пробиндь текстуру перед gluQuadricTexture(gsea,GL_TRUE);, может заработает..

Это сообщение отредактировал(а) chipset - 26.11.2004, 15:44


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
DENNN
Дата 26.11.2004, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Текстуру сначала надо загрузить smile
Что-то типа этого
Код

mytex=auxDIBImageLoad("lya-lya.bmp");
glGenTextures(1,&mytexcode);
glBindTexture(GL_TEXTURE_2D,mytexcode);
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
glTexImage2D(GL_TEXTURE_2D,0,3,mytex->sizeX,mytex->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,mytex->data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);


Примерно так, могу где-то ошибиться - я обычно фигурами из глюта не пользуюсь.
PM ICQ   Вверх
chipset
Дата 26.11.2004, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 165



Код

int mytexcode;
AUX_RGBImageRec image  = auxDIBImageLoad("lya-lya.bmp");
glGenTextures(1,&mytexcode);
glBindTexture(GL_TEXTURE_2D,mytexcode);
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
glTexImage2D(GL_TEXTURE_2D,0,3,mytex->sizeX,mytex->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,mytex->data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);

Вроде бы так..


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Elfet
Дата 26.11.2004, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



smile
да я вроде загружаю
Код
GLuint texture[3];
GLvoid LoadGLTextures()
{
// Загрузка картинки
AUX_RGBImageRec *texture1;
   texture1 = auxDIBImageLoad("data/textures/sphere.bmp");
// Создание текстуры
glGenTextures(1, &texture[0]);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data);

}

может сюды чего-нибудь? :
Код
GLUquadricObj *gsea;
gsea = gluNewQuadric();
glColor3f(0.2, 0.2, 1.0);
gluQuadricDrawStyle(gsea, GLU_FILL);
gluQuadricTexture(gsea,GL_TRUE);
glBindTexture(GL_TEXTURE_2D, texture[0]);
gluSphere(gsea, 100, 100, 100);




--------------------
PM MAIL WWW Skype   Вверх
[ss]3L33T@
Дата 27.11.2004, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 14.10.2003
Где: Казармы

Репутация: 1
Всего: 1



Не о том вы гутаете!
Сферу надо делать самому, мат. методом, потом указывать для каждого полигона UV координаты и натягивать текстуру.
ИМХО
--------------------
Понастоящему добрый человек всегда простит и забудет вам ваше зло, но он никогда не простит и не забудет вашего добра[ss]3L33T@
PM MAIL WWW ICQ   Вверх
Elfet
Дата 27.11.2004, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



[ss]3L33T@, можешь код сферы дать?


--------------------
PM MAIL WWW Skype   Вверх
[ss]3L33T@
Дата 27.11.2004, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 14.10.2003
Где: Казармы

Репутация: 1
Всего: 1



Код

void BornASurface(unsigned int w, unsigned int l, float scalex, float scalez)
{
unsigned int i, j, k;
k = 0;
for(i = 0; i < unsigned int(w * scalez); i++)
 for (j = 0; j < unsigned int(l * scalex); j++)
 {
  polygon[k].vertex[0][0]=j/scalex;
  polygon[k].vertex[0][1]=0;
  polygon[k].vertex[0][2]=i/scalez;

  polygon[k].vertex[1][0]=j/scalex+1/scalex;
  polygon[k].vertex[1][1]=0;
  polygon[k].vertex[1][2]=i/scalez;

  polygon[k].vertex[2][0]=j/scalex+1/scalex;
  polygon[k].vertex[2][1]=0;
  polygon[k].vertex[2][2]=i/scalez+1/scalez;

  polygon[k].vertex[3][0]=j/scalex;
  polygon[k].vertex[3][1]=0;
  polygon[k].vertex[3][2]=i/scalez+1/scalez;
  k++;
 }
}

Вопросы будут - задавай.
--------------------
Понастоящему добрый человек всегда простит и забудет вам ваше зло, но он никогда не простит и не забудет вашего добра[ss]3L33T@
PM MAIL WWW ICQ   Вверх
Elfet
Дата 28.11.2004, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



smile огромное спасибо!


--------------------
PM MAIL WWW Skype   Вверх
DENNN
Дата 29.11.2004, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Это, я так понимаю, генерация апроксимирующего полигона для точки сферы?

Вот генерация сферы с текстурными координатами.

Это сообщение отредактировал(а) DENNN - 29.11.2004, 13:03
PM ICQ   Вверх
decembrist
Дата 3.12.2004, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 1.4.2004

Репутация: нет
Всего: нет



Elfet ты на чем программируешь?
Я над строчками
Цитата
GLUquadricObj *gsea;
gsea = gluNewQuadric();

уже не один день парюсь. Первая строчка проходит, а на второй виснет, зараза. Компилятор вааще игнорирует ее. smile

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.1018 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.