-
mihail (05.11.09 23:19) [0]Есть функция wglGetProcAddress возвращающая указатель на функцию OpenGL. Вот сишный код, а как его переделать на паскаль?GLuint s = ((wglGetProcAddress("glCreateShader")))(GL_VERTEX_SHADER);
((PFNGLSHADERSOURCEPROC)wglGetProcAddress("glShaderSource"))(s,1, &vsh,0);
((PFNGLCOMPILESHADERPROC)wglGetProcAddress("glCompileShader"))(s);
((PFNGLATTACHSHADERPROC)wglGetProcAddress("glAttachShader"))(p,s);
Т.е. вызов функций с параметрами.
И вообще какой плюс в использовании wglGetProcAddress, а не объявление обычным способом?
Уменьшается размер приложения за счет уменьшения таблицы импорта? -
mihail (05.11.09 23:36) [1]Ладно, как использовать я разобрался остался вопрос в рациональности.
-
mihail (06.11.09 00:25) [2]Появилась проблема компилятор 3 делфя не понимает записи типа:
var
glCreateProgram: function():UINT; stdcall;
glCreateShader: function(type:integer):UINT; stdcall;
Как с этим разобраться? Т.е. можно произвести вызов функции без объявления ее как переменной? -
CrytoGen (06.11.09 08:10) [3]попробуй заменить UINT на Cardinal
-
mihail (06.11.09 14:14) [4]Не проблема не в типах. Дело в том что блок VAR воспринимается как блок TYPE и она видит неправильную запись :
DEMO.pas(22) Error: Identifier expected but 'TYPE' found
DEMO.pas(22) Error: '=' expected but ')' found
DEMO.pas(22) Error: '=' expected but ';' found
DEMO.pas(23) Error: '=' expected but ':' found -
@!!ex © (06.11.09 14:35) [5]ВОт поэтому везде в генофонде _type
-
имя(15.11.09 03:00) [6]Удалено модератором