FreePascal and OGL

Модератор: Модераторы

Сообщение ANDREY.EXE » 22.04.2006 17:58:34

Win API на прямую, а FreePascal этого не любит

Оппа а чё так я думал Win Api+OGL+FPC идеально подходят ведь Win Api это самое нормальное решение да и по другому некак ведь в ФП нету VCL окна тогда б я таймер помучал который для этого непредназначен.Я и так трачу своё время и труд я ведь нетолько по форумам лажу я и книжки читаю OpenGL+WinAPI+Delphi ну на эту тематику.А начиналось всё с GameMaker'a да было кодато клацаеш туда сюда кнопочки тягаеш спрайтики. :rolleyes:
ANDREY.EXE
новенький
 
Сообщения: 60
Зарегистрирован: 18.03.2006 22:06:35

Сообщение Saemon Zixel » 22.04.2006 23:38:20

Ну у fp нет, а в Lazarus я помоему видел компонент gl-области для формы.
Хотя по моему для opengl наличие окна не обязательно, библеотека сама откроет окно какое ей нужно. Правдо по этой часте я немогу тебе особо подсказать, но примеры по opengl в пакете fp запускаются и некоких окон неиспользуют, ну кроме opengl области (окна).
Saemon Zixel
новенький
 
Сообщения: 78
Зарегистрирован: 20.09.2005 18:19:54
Откуда: Sochi

Сообщение zub » 23.04.2006 01:58:15

>>Хотя по моему для opengl наличие окна не обязательно, библеотека сама откроет окно какое ей нужно.
Это если писать под glut, голому opengl нужен контекст воспроизведения т.е окно
>>Win API на прямую, а FreePascal этого не любит
freepascal та какраз любит winapi, его не любят некоторые програмисты:) отсюда эти ошибки и прут:)
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Сообщение ANDREY.EXE » 23.04.2006 11:32:22

freepascal та какраз любит winapi, его не любят некоторые програмисты отсюда эти ошибки и прут

Нито что я его нелюблю но столько сейчас навалило FPC,OGL просто времени для WinAPI нехватает. :)
ANDREY.EXE
новенький
 
Сообщения: 60
Зарегистрирован: 18.03.2006 22:06:35

Сообщение Saemon Zixel » 23.04.2006 16:13:59

2zub
Да, ты прав. Признаю свою некомпетентность. <_<
Saemon Zixel
новенький
 
Сообщения: 78
Зарегистрирован: 20.09.2005 18:19:54
Откуда: Sochi

Сообщение ANDREY.EXE » 23.04.2006 21:14:04

Во-Во!!!Я уже перепугался :o если не WinAPI то тогда на чём. :D
ANDREY.EXE
новенький
 
Сообщения: 60
Зарегистрирован: 18.03.2006 22:06:35

Сообщение Janus » 24.04.2006 20:39:34

ANDREY.EXE писал(а): Во-Во!!!Я уже перепугался :o если не WinAPI то тогда на чём. :D

Так ведь FreePascal создан специально как кросс-платформенное средство создания программ на паскале! Если использовать WinAPI, то вся кросс-платформенность летит к чертям.

Кроме того, на мой взгляд, гораздо проще использовать glut, чем пытать себя и уродовать программу API-функциями. Тем более, что в стандартной поставке fpc 2.0.2 для этого все есть (ну только саму dll-ку скачать).

P.S. А как бы мне в glut вывести текст? Ни кто, случайно, не знает?
Janus
постоялец
 
Сообщения: 134
Зарегистрирован: 07.11.2005 17:06:49

Сообщение zub » 24.04.2006 22:40:12

Так ведь FreePascal создан специально как кросс-платформенное средство создания программ на паскале! Если использовать WinAPI, то вся кросс-платформенность летит к чертям.

Кроме того, на мой взгляд, гораздо проще использовать glut, чем пытать себя и уродовать программу API-функциями. Тем более, что в стандартной поставке fpc 2.0.2 для этого все есть (ну только саму dll-ку скачать).

Кроссплатформенность палка о 2х концах, серъезное приложение в одиночку не сделать кроссплатформенным. Лучше реально расчитать свои силы и сделать чтото хорошее под одну платформу.
Glut IMHO годится только для примеров и демок, никогда не видел ничего серъезного написаного на нем.
P.S. А как бы мне в glut вывести текст? Ни кто, случайно, не знает?

помоему там чтото вроде glutBitmapCharacter для растровых шрифтов и glutStrokeCharacter для векторных. но насколько помню функции бедные (вроде как небыло определения ширины строки в мировых координатах, было только в экранных) я бы придумал какойнить свой вывод, ну ее нафиг, такую кроссплатформенность

зы. вспомнил, в глуте чайники классно рисовать:)
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Сообщение Romtek » 24.04.2006 23:55:51

Ничего подобного. Видел и игры, и графические мини-редакторы. А для действительно серёзного и вправду не хватит.
Аватара пользователя
Romtek
постоялец
 
Сообщения: 190
Зарегистрирован: 22.05.2005 12:29:35
Откуда: Рамат Ган

Сообщение Janus » 25.04.2006 18:04:10

Чайники - да =) Чайник, вообще, такая вещь, что ее встраивают куда не лень :lol:

Кстати, о кросс-платформенности. Да, это сложно, но возможно. И полезно. Кроме того, даже сами мелкомягкие постепенно уходят от использования API и mfc в прикладных программах. Необходимо стараться, по возможности, всегда минимизировать количество платформенно-зависимых и низкоуровневых решений.

А насчет glut, ну это не единственное решение для OpenGL.

P.S. Настоящие демки (64K Intro) всегда платформенно-зависимы, пишутся на асме и все чаще используют Direct 3D.

P.P.S. А у игр, вообще говоря, обычно свои движки есть - специально под игры написанные и оптимизированные ;)

Так что с "чистым" OpenGL или популярными библиотеками, как раз-таки, в основном, и пишутся прикладные программы, которым просто надо что-то не особо изощренное отобразить в 3D, а то и в 2D.

P.P.P.S. А я вот заинтересовался OGL как раз для того, чтобы сделать несложный платформенно-независимый вывод графики на экран. А так, можно было, конечно, использовать GDI.
Janus
постоялец
 
Сообщения: 134
Зарегистрирован: 07.11.2005 17:06:49

Сообщение Sniper » 25.04.2006 18:26:24

>>пишутся на асме
Нет, пишутся на обычном С, С++ с небольшими вставками асма, а то и вовсе без них.
Я просто погружаюсь иногда в эту кухню и знаю как что устроено.
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Janus » 26.04.2006 00:04:36

Ну, может, и на С. Там, в принципе, тоже программки от размера не особо страдают.
Janus
постоялец
 
Сообщения: 134
Зарегистрирован: 07.11.2005 17:06:49

Сообщение badaninslava » 07.05.2006 22:48:58

Кто-нибудь может выложить пример примитивной программы, использующий Ogl в Linux на Lazarus(с использованием формы)... А то чё-то у меня ничего не выходит (в отличие от винды)
Пожалуйста. Буду признателен.
badaninslava
постоялец
 
Сообщения: 101
Зарегистрирован: 12.12.2005 01:21:44

Сообщение badaninslava » 08.05.2006 10:51:21

Пожалуйта...
badaninslava
постоялец
 
Сообщения: 101
Зарегистрирован: 12.12.2005 01:21:44

Сообщение Cheb » 31.05.2006 18:20:48

P.P.P.S. А я вот заинтересовался OGL как раз для того, чтобы сделать несложный платформенно-независимый вывод графики на экран.

Платформенно-независима OGL с оговорками. Всё, что относится к рендерингу - там да. А вот создание рендеринг контекста... Надо или вызывать платформенно-зависимые функции вкупе с функциями конкретной операционки (wglCreateContext() + WinAPI / glXCreateContext () + функции X), создавая окно вручную, либо использовать GLUT/ FreeGLUT. Про FreeGLUT не скажу, а GLUT - глюкавая, как сволочь, устаревшая, и давно не поддерживаемая.

У меня один модуль, который только окно создавал, ничего больше, 1500 в строк получился. Плюс ещё отладка. Два раза - под Win и Linux.

З.Ы. Когда я (давным-давно) плюнул на DirectX, и решил перейти на OpenGL - ско-о-олько же времени у меня ушло на поиск в документации функций переключения видеорежима или вообще просто запуска этой всей хрени. Коих функций там, разумеется, не было.

З.З.Ы.
Кто-нибудь может выложить пример примитивной программы, использующий Ogl в Linux на Lazarus(с использованием формы)... А то чё-то у меня ничего не выходит

Это ещё что - мне Лазарь вообще так и не удалось заставить компилировать, пока у меня ещё Линукс стояла. Так и приходилось - править в Лазаре, а компилировать через fpc, из командной строки.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Пред.След.

Вернуться в Графика

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru