Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Рисование текстуры OpenGL


Автор: OlegIT 2.3.2010, 21:27
Как нарисовать текстуру для OpenGL средствами самой OpenGL? 

Автор: Alexeis 2.3.2010, 21:45
Цитата(OlegIT @  2.3.2010,  20:27 Найти цитируемый пост)
Как нарисовать текстуру для OpenGL средствами самой OpenGL?  

  Вопрос о том как перенаправить вывод в битмап?

Автор: OlegIT 2.3.2010, 21:55
Мой вопрос, продолжение http://forum.vingrad.ru/forum/topic-291578/kw-fox-toolkit-opengl.html.
Рисовать в битмап умею, но не средствами OpenGL. Не получается «взять» текстуру. Средствами Windows и FOX битмап отображается, в файл записывается, а как текстура не работает, нет изображения, считанная битмапка из файла работает. Работать через файл… не првильно. Флажки, форматы, кажется всё перепробовал.

Автор: Alexeis 2.3.2010, 22:15
Цитата(OlegIT @  2.3.2010,  20:55 Найти цитируемый пост)
в файл записывается, а как текстура не работает, нет изображения, считанная битмапка из файла работает.

  Вот с этого момента по подробнее. Подозреваю что проблема именно в работе с битмапом в памяти.

Автор: OlegIT 3.3.2010, 12:25
Из файла (*.bmp) считывались данные о цвете (режим RGBA), пропуская заголовок и функциями
Код

glBindTexture(GL_TEXTURE_2D,NameTexture);
GLubyte *Tx = getData(); // выделяется память заносятся в неё данные и
                                        // возвращается указатель на выделенную память
gluBuild2DMipmaps(GL_TEXTURE_2D,4,X,Y,GL_BGRA_EXT,GL_UNSIGNED_BYTE,Tx);
free(Tx);

сгенерировали текстуру.  Затем функциями
Код

glBindTexture(GL_TEXTURE_2D,NameTexture);
……………… // Рисование объектов

Накладываем созданную текстуру на рисуемый объект.

Что не получается.
1.    Не получается рисование на выделенной памяти с помощью FOX-toolkit. Функции  FXImage::loadData() (ещё там есть функции, которые должны возвращать данные) возвращают нули.
2.    Не получается (не знаю как) рисование на выделенной памяти с помощью OpenGL.
Ещё раз что получается.
1.    Генерить текстуру из файла.
2.    Рисовать текстуру в выделенной памяти с помощью WINAPI.
Хочу научиться рисовать в памяти текстуры с помощью OpenGL и FOX-toolkit.

Автор: Alexeis 3.3.2010, 12:53
Цитата(OlegIT @  3.3.2010,  11:25 Найти цитируемый пост)
2.    Не получается (не знаю как) рисование на выделенной памяти с помощью OpenGL.

PIXELFORMATDESCRIPTOR поле dwFlags PFD_DRAW_TO_BITMAP . Кроме того запретить двойную буферизацию. Т.е. DC для опенгла берем от битмапа.

Автор: OlegIT 3.3.2010, 16:37
Спасибо, но PIXELFORMATDESCRIPTOR это Windows зависимость, а мне нужно от этого уйти. Именно поэтому я работаю с FOX-toolkit и OpenGL.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)