Skocz do zawartości

[Lazarus][OpenGL] Początki


Nvm

Polecane posty

Hail wszystkim. Chciałbym zacząć naukę OpenGL, w tym celu mam zamiar napisać jakąś prostą gierkę. Jako iż jestem wielkim maniakiem 2D, 3D mnie jakoś nie rusza, uczyłem się SDL'a i całkiem nieźle mi to szło jednak odkrywszy jego ciemną stronę - toporną prędkość postanowiłem przerzucić się na coś szybszego. SDL byłby użyty do tworzenia okna, odliczania czasu, starowania programem. Całą grafikę wyświetlałby natomiast OpenGL (same oteksturowane kwadraty; jak widzę co potrafią teraz karty graficzne to wyświetleniu kilkudziesięciu kwadratów z teksturą 64x64 to będzie dla nich pikuś). I w takim razie procesor odpowiadałby za to za co ma odpowiadać - czyli za wszelkie obliczenia itp. itd. zaś karta graficzna za wyświetlanie grafiki. Wszystko brzmi świetnie i prosto ale chciałbym to wszystko robić wieloplatforomowo (dlatego używam OpenGL a nie DX, SDL zamiast np. Omegi). I tu zaczynają się schody bo chciałbym tak, że piszę pod Windowsem kompiluję, mam binarkę, przerzucam źródła na Linuxa, kompiluję, mam binarkę, przerzucam źródła na Maca, kompiluję i mam binarkę. Pytanie: czy moduły "gl.pas", "glu.pas" czy wszystko razem - "OpenGL12.pas" działają wieloplatformowo? Bo w sekcji uses znalazłem moduł "Windows", który z tego co wiem zawiera w sobie funkcje WinAPI. Więc czy jest możliwość kompilowania programu na każdym systemie oddzielnie bez modyfikacji w kodzie?

Link do komentarza
Udostępnij na innych stronach

Hejka, troche mnie przeceniacie...

Co do includow OGL z tego co wiem sa wieloplatformowe ale....

Delphi jest tak naprawde 1 platformowy(czytaj Windows) Kylix z tego co wiem umarl smiercia naturalna. O ile sie nie myle Lazarus nie jest w 100% kompatybilny. Prawdopodobnie jesli bedziesz bazowal na czystej skladni OP bez vcl'a i innych cudow stricted delphiowych to powinno sie ladnie kompilowac na rozne systemy. Co do plikow Pas to podejrzewam ze bedzie ich kilka wersji bo tak naprawde sa tlumaczeniem naglowkow .h z c/cpp wiec skoro jest OGL na Linux/Mac to na zdrowy rozsadek trzeba przyjac ze ludzie piszacy w OP na te systemy tez posiadaja takowe .pas

To tyle jesli chodzi i o wieloplatformowosc, ale....

Ja bym ci odradzal pisanie od razu na wiele platform zwlaszcza jesli laczysz to z nauka... Zrob porzadnie na jedna platforme, a pozniej jak ci sie to uda (co nie jest takie hop siup tr la la) zacznij portowac na inne platformy, masz wtedy wieksze szanse na ukonczenie.

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Toster - mam zamiar pisać bez jakiegokolwiek VCL'a (może edytor map) czysty OP (SDL, OpenGL i SysUtils - takie moduły mam zamiar używać). Co do tej wieloplatformowości - w jednym z przykładów na NeHe znalazłem taki komentarz:

{ Requires                                                         }
{ --------                                                         }
{   SDL runtime libary somewhere in your path                      }
{   The Latest SDL runtime can be found on http://www.libsdl.org   }
{   Also Makes uses of Mike Lischke's Cross-Platform OpenGL header.}
{   You can pick it up from...                                     }
{   http://www.lischke-online.de/Graphics.html#OpenGL12            }
{                                                              

 

Pozostaje mi znaleźć więc nagłówki tego Mike'a (bo link nie działa) i rozpoczynam naukę (miejmy nadzieję) ;)

Link do komentarza
Udostępnij na innych stronach

Nie ma problemu ze zrobieniem takiego programu. Nvm: wszystko masz tylko jeszcze o tym nie wiesz ;) W katalogu Lazarusa w Examples jest przykład programu z OpenGL. W pakiecie JEDI-SDL dołączane są też odpowiednie pliki gl.pas i glu.pas. No i jest też tajemniczy (jak dla mnie) plik openglcontext.pas i chyba warto zobaczyć do czego to jest.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...