Форум программистов, компьютерный форум CyberForum.ru

Опять текстуры - C++

Восстановить пароль Регистрация
 
wizar
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 10
18.05.2011, 23:02     Опять текстуры #1
Я,наверное,всех уже достал с текстурами)Но всё же вот фрагменты кода
рисовка цилиндра с текстурой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
glEnable(GL_TEXTURE_2D);
barkn=0;
glGenTextures(1, &barkn);
glBindTexture(GL_TEXTURE_2D, barkn);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, 3,
             width,
             height,
             0, GL_RGB, GL_UNSIGNED_BYTE,
             data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
gluQuadricDrawStyle(quobj, GLU_FILL);
 gluQuadricTexture(quobj, GL_TRUE);
gluCylinder(qobj,baseRadius,topRadius,height,slices,stacks);
glDisable(GL_TEXTURE_2D);
Фрагмент с FormCreate
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 ilInit();
 glEnable(GL_TEXTURE_2D);
ilLoad(IL_BMP,"bark.bmp");
//bark = auxDIBImageLoad("bark.bmp");
 
width = ilGetInteger(IL_IMAGE_WIDTH);
height = ilGetInteger(IL_IMAGE_HEIGHT);
bpp = ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL);
data = ilGetData();
 
// ?????????????? ??? ??? OpenGL
switch (bpp)
{
case 1:
  type  = GL_RGB8;
  break;
case 3:
  type = GL_RGB;
  break;
case 4:
  type = GL_RGBA;
  break;
}
Вместо текстуры накладывается невнятная психоделичная картина.Где я допустил кучу ошибок?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 23:02     Опять текстуры
Посмотрите здесь:

C++ Натяжение текстуры на сферу
Опять конструкторы C++
Опять static C++
опять же строки C++
C++ Текстуры OpenGL
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
18.05.2011, 23:14     Опять текстуры #2
Попробуй заполнить какой нибудь массив пикселями одного цвета и вывести. если получится, значит косяк в считывании.
wizar
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 10
19.05.2011, 16:11  [ТС]     Опять текстуры #3
Почему то в data лежит 6 элементов с мусором.Должно быть явно больше же.
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
19.05.2011, 17:03     Опять текстуры #4
Значит считывание косячное
Yandex
Объявления
19.05.2011, 17:03     Опять текстуры
Ответ Создать тему
Опции темы

Текущее время: 20:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru