Skocz do zawartości

Rubid Graphic Engine


DevPort

Polecane posty

Hej, dawno mnie tu nie było... ;] lecz to miało swoje powody... :)

 

Chciałbym powiadomić o prowadzonym projekcie pewnego engine grafiki.

Obecnie za wiele nie jest zrobione, gdyż jest on w dość początkowym stadium rozwoju,

aczkolwiek posiada już pewne zalety swojego istnienia.

 

Kod pisany jest w edytorze Geany pod FPC zgodny ze składnią ObjFpc, testowany na kompilatorach Free Pascala: ppc386 (w przyszłości też pod ppcrossx64), Delphi poczeka może na swoją kolej (obecnie nie wspierane, kompilator Delphi nie łyka kodu xD)

Celem projektu jest oczywiście wydajność i minimalny kod wynikowy stworzonej aplikacji (nie używa SDL i podobnych bibliotek).

Obecnie samo wyświetlanie okna i obsługa wszystkiego co stworzone do tej pory mieści się do 47kB (exe).

Silniczek nie korzysta z bibliotek (unitów) podstawowych Free Pascala (tj. Windows, SysUtils, Messages itp.).

Wszelki jego kod pisany jest dosłownie od podstaw, np. własna biblioteka GL pisana jest zgodnie z OpenGL 2.0 (planowane 3.0).

Funkcje systemowego API importowane są z bibliotek dynamicznych np. user32.dll, opengl32.dll (linux: libGL.so)...

 

Co zrobione:

- Obsługa Okna (Windows) -> z Fullscreen i VSych

- Obsługa Klawiatury, Myszki (Windows)

- Obsługa Czasu (Timer : Windows, Linux)

- Obsługa Tekstur - Manager Tekstur (format DDS z kompresją, obsługa mipmap)

- Obsługa plików konfiguracyjnych (wzorowane na plikach INI)

- Obsługa OpenGL: 2.0 (jeszcze nie kompletna z uwagi, że funkcje dodaje jak mi jest potrzebna... xD )

- Moduł Utils -> Operacje na plikach, Porównania liczb, operacje na ciągach znaków (string), konwersja typów zmiennych

- Obsługa Strumienia danych (TStream: Pamięć, Plik)

- Prosty Render -> Set2D, Set3D, SetBlend, SetDepthTest, SetDepthWrite

 

Co do zrobienia:

- Sprite 2D z animacją po-klatkową

- Z uwagi, że nie posiadam linuxa na chwilę obecną, nie pisze obsługi okna, klawiatury i myszki pod ten system (kod przygotowany pod takie zmiany)

- Manager Materiałów

- Obsługa paczek własnego formatu (*.rpf)

- Więcej wam nie potrzeba :P wiedzieć...

 

Cel: Stworzenie wydajnego silnika grafiki 2/3D dla maniaków Free Pascala (ciężko znaleźć coś podobnego), a tym samym promowanie tego kompilatora.

Projekt realizowany również na potrzeby przyszłych mini projektów.

 

Wraz z nowym rokiem postaram się przedstawić dokonania w postaci jakiegoś prostego demka.

 

Pozdrawiam.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

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

×
×
  • Utwórz nowe...