Wir sind im Moment nur zwei mehr oder weniger aktive Entwickler im Projekt,
daher ist jede Hilfe willkommen.
Wenn Sie etwas zum Programm beitragen wollen und interessiert sind,
sich dem Projekt anzuschließen, dann werfen Sie doch einen Blick auf diese Liste
von interessanten Aufgaben auf unserer TODO Liste. Wenn Sie sich für eine Aufgabe
bewerben wollen, senden Sie bitte mir
eine EMail mit einer kurzen Beschreibung von Ihnen, ihrer bisherigen Programmiererfahrung
mit C++, KDE/Qt und Grafik/OpenGL und evtl. einem Link zu einem Open-Source Projekt, in dem Sie
eingebunden sind oder waren.
KPovModeler hat ein sehr sauberes und genügend dokumentiertes Framework. Die meisten
Aufgaben verlangen allerdings sehr wenig Kentnisse davon. Ich werden Ihnen natürlich zu
Beginn eine Einführung in die benötigten Bereiche geben. Sobald das Plugin-Framework
abgeschlossen ist, werde ich eine komplette Dokumentation und ein Tutorial für die verschiedenenen
Plugin-Typen zur Verfügung stellen.
Plugin Framework: (Andreas Zehender zugewiesen)
Das Plugin Framework ist meine momentane Aufgabe. Das Ziel ist es,
KPovModeler zu einem allgemeinen Rahmen für verschiedene Renderer zu machen.
Einige Teile sind bereits abgeschlossen:
- Laden von Plugins: Plugins können Elemente in Menüs und in die Werkzeugleiste
einfügen (über das KParts Plugin Framework)
- Objekt-Plugins: Plugins können dem Programm neue Objekte mit neuen
Kontroll-Punkt Typen, ihren eigenen Eigenschafts-Dialogen und Regeln
für die möglichen Einfüge-Positionen hinzufügen.
- Ansichts-Plugins: Plugins können neue Arten von Ansichten
in das Hauptfenster einfügen
Geplante Teile:
- Import/Export Plugins: Unterstützung für andere Dateiformate
- Renderer Plugins: Unterstützung für andere Renderer
Plugins:
Ich hätte gerne einige Killer-Plugins wie rekursive Baum- oder Pflanzengeneratoren
oder Landschaftsgeneratoren im Programm integriert.
POV-Ray 3.5 Objekte, fehlende POV-Ray 3.1 Objekte: (Leon Pennington zugewiesen)
Einige POV-Ray 3.1 und POV-Ray 3.5 Objekte werden noch nicht unterstützt.
Ihre Aufgabe würde daraus bestehen, neue oder fehlende Objekte zu identifizieren
und zu implementieren.
Objekt- und Tekturbibliothek: (Luis Passos Carvalho zugewisen)
Die momentane Methode, Texturen in eine neue Szene durch Öffnen einer Beispielszene und Kopieren
der gewünschten Texturen einzufügen ist nicht zweckmäßig.
Geplant ist eine Bibliothek aus Objekten und Texturen mit
- dem KPovModeler Objekt Code
- einer Beschreibung und Schlüsselwörtern
- einer gerenderten Vorschau
- einem Suchdialog, um Objekte nach der Beschreibung oder nach den Schlüsselwörtern
zu durchsuchen
- Paketen von Objekten und Texturen zum Weitergeben und Verteilen
Objekt-Auswahl in der 3D-Ansicht
Objekte sollten in den 3D-Ansichten selektierbar sein.
Die 3D-Ansichten werden mit OpenGL gerendert, welches Objekt-Selektion unterstützt.
Es wäre zu prüfen, ob dieses Feature für KPovModeler ausreichend ist, ansonsten
müssten Sie dieses Feature selbst implementieren.
Schattierte Ansichten, CSG Ergebnisse:
Im Moment werden in den 3D Ansichten nur die Drahtgittermodelle gerendert,
Es gibt eine interessante Bibliothek names breplibrary
(http://breplibrary.sourceforge.net),
die das resultierende Objekt aus CSG Operationen berechnen kann und bereits in
anderen 3D Projekten verwendet wird. Um diese Bibliothek
benutzen zu können, müssten Flächen zu den Drahtgittern hinzugefügt werden.
Dann könnten mit der genannten Bibliothek die resultierenden CSG Objekte berechnet werden, um
schattierte 3D Ansichten zu ermöglichen.
DCOP Interface
Um Skripting zu ermöglichen sollte ein DCOP Interface zum Programm hinzugefügt werden.
Vom Öffnen und Rendern von Szenen zu einfachen Veränderungen der Szene sollten mit
DCOP Aufrufen möglich sein.
Das DCOP Interface wird allerdings nicht ein komplettes Skripting- und Animationssystem
innerhalb des Programms ersetzen.
|