Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OpenGL - получение указателя на текстуру


Grim ©   (2005-05-12 13:30:00) 

Всем доброго дня!
Есть такой вопрос:

Текстура уже загружена, получен ее идентификатор, с помощью glGenTexture.
Нужно получить указатель (Pointer) на нее в памяти.

Есть функция glGetTexImage, но среди ее параметров, нет идентификатора конкретной текстуры :| Что она выдает, я так и не понял.


Grim   (2005-05-12 18:46:00) [1]

Я тут еще покопал по теме.
Вроде бы, действительно, получить указатель на OGL'ную текстуру нельзя. Но ее можно получить, причем в желаемом формате при помощи вышеупомянутой glGetTexImage.

Вот сишный код, думаю, тут и так все понятно.

float[][] getData(GLuint tex_id)
{
 //нужно знать размер текстуры
 //предполагатся, что в данном случае, мы его знаем
 int row,col;
 int c=0;
 int buffer_size=row*col*RGBA*sizeof(GLfloat);
 float *result;
 buffer = (GLfloat *) malloc(buffer_size);

 glFinish();
 glBindTexture(GL_TEXTURE_2D, tex_id);
 //Извлечение данных из текстурной памяти
  glGetTexImage(GL_TEXTURE_2D,0,GL_RGBA, GL_FLOAT, result);
 return result;
}


AlterEgo of WondeRu   (2005-05-12 15:04:00) [2]

Grim   (12.05.05 13:30)
Нужно получить указатель (Pointer) на нее в памяти.


не получится)


Наверх

Титульная страница Поиск, карта сайта Написать письмо