Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ Аналог дельфийского Opengl.pas на Fpc

Автор: Archon 13.07.2006 22:06

Перехожу с Delphi на FPC. Сначала всё было нормально (на Delphi я всё равно VCL не пользуюсь), только с OpenGL возникли проблемы. На Delphi юзал OpenGL.pas, на FPC модули другие sad.gif. Пробовал подключить Дельфийский модуль, не компилит.
Его можно как-нибудь под FPC перепелить? Или может есть аналог?

Автор: volvo 13.07.2006 22:11

Archon, в FPC просто GL...

А вообще, в сторону библиотеки GLUT не смотрел? Очень интересная вещь, посмотри обязательно.

Автор: Archon 13.07.2006 22:21

Цитата
в FPC просто GL...

Знаю, что GL smile.gif. Таки тот код, что я пишу она не принимает.
Цитата
А вообще, в сторону библиотеки GLUT не смотрел? Очень интересная вещь, посмотри обязательно.

Посмотреть то посмотрю... Но переучиваться придётся.
Кстати ни один из трёх примеров использования OpenGL у меня не заработал.

Автор: volvo 13.07.2006 22:50

Цитата
тот код, что я пишу она не принимает.

Ну, тогда код присоедини, я попробую у себя поколдовать...

Цитата
Кстати ни один из трёх примеров использования OpenGL у меня не заработал.
Какая версия компилятора, и что значит "не заработал"? Не компилится? Не запускается? Виснет?

Автор: Archon 13.07.2006 23:41

Цитата
Какая версия компилятора, и что значит "не заработал"? Не компилится? Не запускается? Виснет?

Версия: fpc 1.0.6 + DevPascal 1.9.2
Пример bounce: компилится, запускаетс, около секунды вижу консольное окно, всё.
А ещё он хинтами ругается:
125 / 22 bounce.pp Hint: Parameter X not used
125 / 24 bounce.pp Hint: Parameter Y not used
42 / 3 bounce.pp Hint: Local typed const YMAX is not used
Пример glutdemo: не может найти юнит GLU. Это при том, что я его уже скачал и кинул не только в units\opengl, но даже в папку с примером.
Пример morph3d: компилиться отказывается...
299 / 29 morph3d.pp Hint: use DIV instead to get an integer result
306 / 31 morph3d.pp Hint: use DIV instead to get an integer result
813 / 20 morph3d.pp Error: Incompatible types: got "VOID" expected "<procedure variable type of procedure();>"
795 / 20 morph3d.pp Error: Incompatible types: got "VOID" expected "<procedure variable type of procedure();>"
781 / 20 morph3d.pp Error: Incompatible types: got "VOID" expected "<procedure variable type of procedure();>"
769 / 20 morph3d.pp Error: Incompatible types: got "VOID" expected "<procedure variable type of procedure();>"
759 / 20 morph3d.pp Error: Incompatible types: got "VOID" expected "<procedure variable type of procedure();>"

Цитата
Ну, тогда код присоедини, я попробую у себя поколдовать...
Да я код писал для теста, простейший. Был Identifier not found на функции wglCreateContext, wglMakeCurrent, wglDeleteContext и т.д. Может они называются здесь иначе... или сам принцип другой?




Автор: volvo 13.07.2006 23:57

blink.gif Интересно... У меня просто нет FPC 1.0.6, у меня 2.0 установлен... Все примеры компилируются, и wglMakeCurrent находится при подключении GLU...

Может, кто-нибудь с твоей версией сюда заглянет, посоветует что... Или установи себе 2.0.2...

Цитата
не может найти юнит GLU. Это при том, что я его уже скачал и кинул не только в units\opengl, но даже в папку с примером.
Ну, модуль ты может и скачал, а libpglu?

Автор: Archon 14.07.2006 0:09

Цитата
Ну, модуль ты может и скачал, а libpglu?

Кинул libpglu. Теперь пишет:
24 / 10 glutdemo.pp Fatal: Can't compile unit GLU, no sources available
Я в шоке blink.gif.
Что-то не понимаю я систему модулей в FPC. wacko.gif