С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wizar
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 10
#1

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

18.05.2011, 23:02. Просмотров 584. Ответов 3
Метки нет (Все метки)

Я,наверное,всех уже достал с текстурами)Но всё же вот фрагменты кода
рисовка цилиндра с текстурой
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;
}
Вместо текстуры накладывается невнятная психоделичная картина.Где я допустил кучу ошибок?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 23:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Опять текстуры (C++):

Текстуры OpenGL - C++
Подскажите пожалуйста как наложить текстуру на прямоугольник. Уже часов 5 ищу в гугле, информации там полно но до меня не доходит как это...

Натяжение текстуры на сферу - C++
Здравствуйте, уважаемые! Подскажите, как в OpenGL на сферу натянуть текстуру, хочу создать виртуальный глобус, но не знаю как. Как...

Экспорт из 3d max, наложение текстуры - C++
Здравствуйте. Проблема с наложением текстуры. С помощью библиотеки lib3ds.lib импортирую 3ds файл в программу (простой куб), накладываю...

опять же строки - C++
в общем дана строка состоящая из слов разделенных пробелами, нужно поменять местами первое и последнее слова и вывести получившуюся строку...

Опять ошибка - C++
Идет ошибка сегментации, а я в программировании не так силен, понять не могу в чем проблема... (+ Выдает ошибки, когда количество...

Опять файлы - C++
Если, я открыл файл записал туда данные, а потом пытаюсь читать эти данные до тех пор пока не встретится конец файл. Это будет корректно?...

3
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
18.05.2011, 23:14 #2
Попробуй заполнить какой нибудь массив пикселями одного цвета и вывести. если получится, значит косяк в считывании.
0
wizar
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 10
19.05.2011, 16:11  [ТС] #3
Почему то в data лежит 6 элементов с мусором.Должно быть явно больше же.
0
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
19.05.2011, 17:03 #4
Значит считывание косячное
0
19.05.2011, 17:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2011, 17:03
Привет! Вот еще темы с ответами:

Опять указатели - C++
Здравствуйте. Изучаю эти туториалы: http://www.rastertek.com/dx11tut03.html В конце есть упражнение: конфигурацию видеокарты вывести в...

Опять static - C++
Есть два файла. ////////////////////////////////////// //main.cpp class SomeClass { public: SomeClass(REC*...

Опять конструкторы - C++
допустим есть два класса. template <typename T = int> class SkillBase { public: // cd SkillBase(T val = 0) : m_value(val) {} ...

опять о шрифтах - C++
приветствую. Имеется программа из учебника: #include <iostream> #include <clocale>; using namespace std; int main() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.