PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Mitarbeiter



DerSensemann
15.06.2003, 13:48
Moin moin,

Die Programmierarbeiten laufen im Moment ganz gut, trotzdem gibts ein Problem: ChaosAngel wird in ein paar Wochen zum Bund eingezogen und alleine codet sich schlecht :)

Außerdem könnte allgemein mal Verstärkun her, zu zweit eine Engine zu programmieren ist doch etwas.. nunja..

Egal, kommen wir zur Sache. Zuerst ein wenig über das Projekt:

Unsere Engine ist als Source Framework konzipiert, heißt, dass Clientprogamme (ev. Spiele) den Quellcode direkt nutzen statt eine DLL o.ä.. (Gründe wären Templates in der API, Exceptions..).
Ziel ist es, eine umfassende Schnittstelle zur Spieleprogrammierung bereitzustellen. Darunter fallen 3D-, Sound-, Musik- oder Netzwerk-Funktionen, wobei wir im Moment noch am 3D Modul arbeiten. Wir legen großen Wert aufs Programmdesign und die strenge Abtrennung zwischen den einzelnen Aufgaben. So besteht jedes Modul mal aus verschiedenen Layern, wobei jedes Layer eine höhere API ans jeweills nächste Layer zur Verfügung stellt. Layer 0 im 3D Modul z.B. mümmert sich um die Vereinheitlichung aller 3D APIs und definiert gemeinsame Basisklassen und die dazu gehörigen API abhängigen Implementationen. Darunter fallen VertexBuffer, IndexBuffer, ShaderKlassen, TextureKlassen & Co, wobei zu jeder wie gesagt eine spezialisierte D3D und später noch ein OGL Klasse existiert. Layer 1 brauch sich so keine Gedanken mehr um irgendwelche API Abhängigkeiten mehr zu machen und kann mit Hilfe der LowLevel Klassen höhere Objekte definieren wie z.B. Meshes, ShadowVolumes & Co.
Die ClientApplication kann nun higher API Klassen nutzen und brauch sich keine Gedanken mehr um Speicherverwaltung o.ä. zu machen.
Als Beispiel:
Der VertexBuffer kümmert sich schon komplett um Auslagerung des Speichers in den idealen Speicher. So hält er zum einen eine Kopie der Daten im Systemspeicher zum schnellen Zugriff auf Daten vom Programm aus. Eine andere Kopie wird in einem großen VertexBuffer im VideoSpeicher ausgelagert, so dass mehrere VertexBuffer sich einen Hardware VertexBuffer teilen und so Speicherfragmentierung auf der Grafikkarte entgegenwirken (~2-4MB VertexBuffer werden angelegt).

Die Engien soll später einmal moderne "Technologien" bereit stellen, von denen wir im Moment einige testen. Z.B. PerPixel Lighting oder VolumeShadows, sollen realistische Ausgaben einmal möglich machen. Wir arbeiten sehr wahrscheinlich zum Indoor Rendering hin, wobei im Moment noch beides möglich ist.

Soviel mal für einen GROBEN Überblick über die bisherige Arbeit und die Planung.


Gesucht wird nun jemand der mindestens


gute bis sehr gute C++ Erfahrungen (verwendeter Compiler VC++ 7.x) vorweisen kann
wie wir großen Wert auf Programmdesign legt
Erfahrung in einer modernen 3D API besitzt, ideal aber in Direct3D 9


und optional noch


Interesse an Shaderprogrammierung besitzt
sich mit dem Laden von Modellen aus einem Format wie 3DS (oder einem anderen von 3DSMax unterstützten Format) auskennt oder sich zutraut eigene Exporter PlugIns für 3DSMax zu schreiben
eine gute Grafikkarte mit am besten PS 2.0 Support besitzt


Fragen erwünscht ;) Ansonsten bei Interesse bitte über eMail (DerSensemann2001@gmx.de) melden.