ПрограммированиеФорумГрафика

GLSL не Работает ((((

Страницы: 1 2 Следующая »
#0
0:36, 8 июля 2011

Hi All. недавно я начал изучать GLSL, изучив теорию я приступил к практике ( на Делфи )  Но проблема в том что вызывая эти функции, при работе програмы выдается ошибка
Изображение удалено

#1
0:41, 8 июля 2011

Указатель glCreateShaderObjectARB не был инициализирован.
Забыл позвать инициализацию GLEW/GLee, или чем ты там пользуешься для получения адресов функций.
Или драйвер ARB версию не вернул, т.к. эта функция уже в ядре, и суффикс не нужен.

#2
0:43, 8 июля 2011

У меня закрадывается очучение, что товарищ вообще ни чего не инициализировал - TForm1.FormCreate - содержит вызов только одной функции и более ни чего.

#3
1:03, 8 июля 2011

а как правельно покажите плиз

#4
1:05, 8 июля 2011

Defractor
> а как правельно покажите плиз

Правильно идти в гугл.

#5
1:17, 8 июля 2011

ну вот вроде инициализирую
Изображение удалено

#6
1:17, 8 июля 2011

Executor
> Правильно идти в гугл.
Только не на работу устраиваться.

Defractor
Скажу прямо - с графикой раньше дела не имели? Начните тогда с изучения OpenGL вообще

#7
1:19, 8 июля 2011

Defractor
> ну вот вроде инициализирую
А все же под дебагером посмотреть чему равно glCreateShaderObjectARB???

#8
1:21, 8 июля 2011

с OpenGL работал даже игровой движок писал, но с glsl немогу разобратся

#9
1:24, 8 июля 2011

оно вообще ниче не возвращает

#10
1:27, 8 июля 2011

Defractor
1. Сначала создаешь контекст.
2. Делаешь его активным.
3. Только после всего этого зовешь wglGetProcAddress("glCreateShaderObjectARB");

#11
1:28, 8 июля 2011

Defractor
> с OpenGL работал даже игровой движок писал, но с glsl немогу разобратся
Сорри тогда.
Ну так чего с инициализацией то? Посмотри объявление glCreateShaderObjectARB. Это скорее всего вара процедурного типа. Соответственно где-то она должна инициализироваться.
Если все-таки ты думаешь, что инициализация вызывается, но на лицо - ее нет, то могу предположить - поскольку линковка динамическая, то DLLка с glCreateShaderObjectARB либо не содержит ее, либо содержит но под другим именем, либо дллка вообще не найдена.

#12
1:35, 8 июля 2011

вот DLL OpenGL

#13
1:40, 8 июля 2011

эти процедуры я вызываю из dglOpenGL.pas

#14
1:48, 8 июля 2011

Defractor
> эти процедуры я вызываю из dglOpenGL.pas
Смотри исходники.
Заметь, что glCreateShaderObjectARB инициализируется в процедуре Read_GL_ARB_Shader_Objects. Она зовется из ReadExtensions,
а та зовется из ActivateRenderingContext, если параметр loadext был true.
Т.е. как минимум один раз ActivateRenderingContext должен быть вызван с loadext=true. Только после этого расширения будут доступны.

Страницы: 1 2 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.