-
Модераторы, прошу прощения за дублирование. Первый раз ошибся конференцией, написал в прочее. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- Перевожу графическое приложение с Delphi на FreePascal, чтобы оно компилилось под LInux'ом. Само по себе приложение не очень зависит от ОС, 99% кода никак с ОС не всязан. Остается только: Создание окна Получение количества милисекунд прошедших с начала работы системы GetTickCount получение состояния клавиатуры GetKeyboardState Положение мыши GetCursorPos SetCursorPos и вопрос, который я в принципе не понимаю... OpenGL - это куча функций находящихся в dllке. По умолчанию в стандарте прописаны только основные функции. Чтобы получить доступ к расширениям приходится делать что-то типа: procedure glVertexPointer(size:GLint; atype:GLenum; stride:GLsizei; data:pointer); stdcall; external OpenGL32; или glCreateShaderObjectARB := wglGetProcAddress('glCreateShaderObjectARB'); Как сделать тоже самое в LInux?? ведь там же НЕТ dll...
помогите перевести этот код под Linux...
-
Не в курсе, как будет конкретно с OpenGL в Linux, но по идее должно быть что-то вроде
procedure glVertexPointer(size:GLint; atype:GLenum; stride:GLsizei; data:pointer); cdecl; external 'opengl.so';
Вместо opengl.so должно стоять реальное имя библиотеки ("местный DLL").
-
uses gl; там по идее прописано
-
> [1] аноним (28.01.08 17:53)
Спасибо! ТОчно так и есть. Смотрю сорсы FPCшные, вроде все понятно.
> [2] Fredy314 © (29.01.08 20:26)
Скорее всего придем к тому, что не будет НИЧЕГО стандартного, кроме системных вызовов. Это проще контролировать. ИМ в вашем способе проблема в том, что сам то ОГЛ доступен, а вот расширения все равно подключать надо.
-
> @!!ex © (08.04.08 06:33) [3] Где-то в форумах пробегало, что в линуксе, в отличае от Win та же nVidia поставляет заголовочные файлы не к ogl1.1+расширения, а непосредственно к версиям (например ogl2.0) и динамически подключать расширения не требуется - они уже прописаны, достаточно определить необходимый дефайн для версии ogl. Но заголовки только на сях.
Про создание окна и получение событий клавиатуры и мыши - посмотри про XWindow, именно там все это и организовано. Более экзотические варианты думаю тебя не заинтересуют.
|