![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Текстуры в OpenGL [Delphi]
Ibrox © (2005-04-10 23:42:00)Недавно начал изучать OpenGL. Может кто знает, как загружать текстуры в OpenGL d видео память?
П7 (2005-04-11 13:35:00) [1]И вообще-то не GLint, а GLuint, если быть точным. Т.к. текстуры с индексом 0 - несущетвует. Т.е. если при создании текстуры у тебя возвращается 0 - значит текстур не создалась.
XProger (2005-04-11 01:53:00) [2]Желательно высвобождать! А текстуры ты хранишь не в GLInt!
GLInt - это номер текстуры в конвеере OpenGL.
Pa5ha (2005-04-11 01:44:00) [3]
Pa5ha (10.04.05 22:35) [21]
Я тут так подумал... glDeleteTexture удалят текстуру или только указатель на её? Для создания её выделяется память: GetMEM. Вызывает ли glDeleteTexture FreeMEM?
--------------------------------------------------------------------------------
XProger © (11.04.05 00:57) [22]
ты выделаешь память под буфер, затем передаёшь OGL значения из него , он в свою очередь копирует их в память видяхи и создаёт текстурку. После этого твой буфер уже не нужен и ты его можешь смело высвобождать.
А саму текстуру из памяти видяхи удаляй при помощи glDeleteTexture
Т.е. я так понял, чтов проектах Джона Хорна буфер создается и сразу убивается после копирования в видеопамять.
Ну и освобождать так: procedure glDeleteTextures(N: GLsizei; Textures: PGLuint); stdcall; external opengl32;
...
glDeleteTextures(1, @ID);
(C) XProgger
Ibrox (2005-04-11 01:03:00) [4]Разабрался с трехмерными построениями, освещением. Разобрался в проектах Яна Хорна. Там он для хранения текстур использует тип GLInt. Но, если я все правильно понял, то он в своих примерах все текстуры держит в ОП.
И еще вопрос: при использовании этого типа (GLInt) требуется ли освобождать ресурсы перед завершением работы приложения?
П7 (2005-04-11 00:35:00) [5]Всё зависит от того, что ты уже изучил... А ваще, вверху есть ссылка на DelphiGFX и ещё РАМБЛЕР твой друг.