Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Mär 28, 2024 12:26

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: BaseGraph
BeitragVerfasst: Fr Mai 02, 2003 11:12 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Also ich werkle in meiner (viel zu knappen :( ) Freizeit an einem 3D-Editor, der es

1) Programmieranfängern/ OpenGL Novizen ermöglichen soll, in kurzer Zeit eigenständige und gut aussehende OpenGL Programme zu erstellen - und somit auch einen einfachen und attraktiven Einstieg in die Programmierung an sich geben soll

2) "Profis", die mal schnell mit den Effekten diverser OpenGL Einstellungen rumspielen, die einfache Objekte für ihre Demos benötigen, oder aber einfach mal die ungefähre Performance des von ihnen angepeilten Szenarios abschätzen wollen, bevor sie viel Zeit in dessen Programmierung stecken - um dann draufzukommen, dass es so dann doch nicht funktioniert, sollten diese Möglichkeit ebenfalls haben.

Zu 2 ist mir natürlich schon klar, dass die meisten (ok, alle) Leute, die sich intensiv mit OpenGL Programmierung befassen, bereits ihre eigenen OpenGL Bibliotheken haben - aus diesem Grund habe ich darauf geachtet, den Source, den Carad erstellt, soweit als möglich von der BaseGraph Bibliothek (der SzeneGraph auf dem der von Carad erzeugte Code aufbaut) unabhängig ist, sodass z.B. als OpenGL Code erzeugte Objekte ohne viel Änderungen per Copy & Paste in eigene Programme eingefügt werden können.

Wie kurz angeschnitten, besteht das Projekt eigentlich aus mehreren Teilen:
- der normalen BaseGraph Bibliothek, diese ist bereits dafür ausgelegt unterschiedliche OpenGL Treiber zu nutzen (aktuell wird auch MESA unterstützt) und sollte Betriebssystem- und plattformunabhängig sein
- dem 3D-Editor Carad
- der Skriptsprache BaseGraph Pascal und der zugehörigen IDE (als Standalone Version und in Carad integriert), diese kann ebenfalls Delphi (und in Zukunft FreePascal) als Backend Compiler verwenden
- diverse Utilities, mit denen z.B. funktionale 3D-Texturen sowie Cubemaps erzeugt werden können

Das Programm kann hier heruntergeladen werden http://www.basegraph.com

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Zuletzt geändert von Mars am Sa Sep 17, 2005 09:00, insgesamt 4-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 06, 2004 17:40 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Ich habe mich die Tage mal hingesetzt und die ToDo Liste von Carad erheblich verkürzt.

Die wichtigsten Änderungen sind

* Unterstützung von FreePascal. Ähnlich wie Virtual Pascal kann in den Projekteinstellungen nun auch FreePascal (ab der letzten stable) als Ausgabeziel gewählt werden (funktioniert natürlich nur für non-VCL Projekte). Nachdem ich mit dem FreePascal Editor etwas auf Kriegsfuß stehe (der funktioniert eigentlich nur auf einem alten Notebook so wie er soll) wird auch eine Batchdatei generiert, die den Code mit fpc automatisch kompilieren und linken kann.
Immerhin kann man nun BaseGraph Programme auch in Lazarus bearbeiten, und das ist dann doch recht witzig.

* Integration einer GLSL IDE. Dazu könnte ich jetzt recht viel schreiben - lieber poste ich allerdings einen entsprechenden Eintrag im GLSL Forum, wo es auch besser hinpasst.

* Unterstützung von mehreren Renderpasses pro Objekt: jedem Objekt können mehrere Renderpasses zugeordnet werden, die wiederum beliebige Shaderlisten erhalten - ein Renderpass wird automatisch auch auf alle Kindobjekte angewandt, und erhält die Möglichkeit diverse OpenGL Buffer auch zu löschen. Damit lassen sich alle möglichen Multipassrenderingverfahren recht komfortabel nachbilden, in BaseGrapg funktioniert auch schon alles einwandfrei, Carad bietet zur Zeit aber nur Zugriff auf den ersten Renderpass.

* Einfachere Verwaltung von Shaderlisten mit der Shaderpalette

* Bessere Unterstützung von niedrigen Auflösungen durch klappbare Controls (der grüne Knopf in den Non-Client-Area der meisten Fenster)

Bild

Zum Download der aktuellen (Beta-)Version:
http://www.basegraph.com/bg/CaradNext/index.html



ToDos:

* C und C++ BaseGraph Bibliotheken updaten

* BaseGraph Dokumentation auf den neuesten Stand bringen

* Carad Dokumentation aktualisieren



Sonstiges:

BaseGraph Pascal wird definitiv seinen Einzug in Carad behalten - ich finde es einfach toll, in einem Programm eine Szene erstellen zu können, und diese im selben Programm gleich anzuprogrammieren und als .exe Datei zu exportieren.
Die Möglichkeit BGP Programme als Delphi Source zu exportieren funktioniert ebenfalls gut und wird eventuell ebenfalls auf FreePascal erweitert, das mit "normalen" BaseGraph Programmen (wie sie der "normale" Delphi Export erstellt) inzwischen ja recht gut zurecht kommt.

Erstaunlich problematisch war übrigens, einen Knopf in der Non Client Area eines Fensters unterzubringen, wobei ich mir hierbei natürlich auch selbst ein wenig im Wege stand, als ich mich weigerte existierende Komponenten (die es tatsächlich gibt) zu verwenden, um das ganze Projekt möglichst sauber zu halten - na ja, man kann über Microsoft durchaus schimpfen wie man will, aber das MSDN ist eine Informationsquelle erster Güte.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 17, 2005 15:23 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Leider komme ich in der letzten Zeit nicht viel dazu, hier im Forum zu posten - ich muss mir schon die Zeit, die ich in die Programmierung meiner Privatprojekte stecke zusammensuchen ... allerdings verfolge ich mit, was sich bezüglich Delphi und OpenGL so tut, was sich auch in einigen Designentscheidungen für Carad niedergeschlagen hat:

* Es ist mir eindeutig zu aufwändig geworden BaseGraph in drei verschiedenen Programmiersprachen (C++, Ansi C und Pascal) zu warten, insbesondere als Carad inzwischen auch Projekte für die (im vergleich zum "normalen" BaseGraph) viel komplexeren BGP Runtime Library erstellen kann - aus diesem Grund habe ich mich entschieden die Unterstützung für C basierende Sprachen zu entfernen.
Mit der Entwicklung von Delphi bin ich nicht so recht zufrieden - ich verwende immer noch Delphi 7, da ich für .NET ggü. Visual Studio keinen Vorteil sehe, und sich auf der Win32 Ebene nichts getan hat.
Pascal halte ich immer noch für eine sehr viel "schönere" Programmiersprache als C++, interessant ist vor allem FreePascal, da hier mit Lazarus eine IDE zur Verfügung steht, die langsam wirklich mit Delphi vergleichbar wird. Carad kann nun auch LCL Projekte (mit Formular) erzeugen, die sofort in Lazarus geöffnet und kompiliert werden können.

* Carad kann Objekte nun in bis zu 12 Layern verwalten - insbesondere bei sehr komplexen Szenen ist es praktisch, wenn ganze Gruppen von Objekten ein- und ausgeblendet werden können.

* In Carad können Objekte nun auch mit physikalischen Eigenschaften versehen werden. Die Umsetzung und die Sourcecodeerstellung funktioniert dann mit ODE - ich habe eine Weile mit dem Gedanken gespielt, Newton hierfür zu verwenden, allerdings ist mir eine Open Source Physikengine dann doch sympathischer, auch wenn Newton leichter anprogrammiert werden kann und hinsichtlich der Features ODE (etwas) überholt hat.
Immerhin geht die Entwicklung auch bei ODE weiter (wenn auch nicht so schnell, wie bei Newton - das liegt wahrscheinlich auch an der Open Source Konzeption) - und der C++ Code ist recht sauber, sodass es tatsächlich möglich ist, ODE selbst zu verändern, wenn es nötig sein sollte. Die Opcode Bibliothek, die in ODE für Kollisionen mit beliebigen Meshes verwendet wird, ist ebenfalls recht schnell und leistungsfähig.
Joints müssen in Carad noch programmgesteuert erstellt werden (das kann auch im integrierten BaseGraph Pascal gemacht werden) - bei einem der nächsten Releases wird dies ebenfalls interaktiv möglich sein.

* Die Unterstützung von Windows XP Stilen ist wieder entfernt worden - eine Nachverfolgung, was sich da eigentlich tut, ergab, dass z.B. bei Toolbuttons mit XP Stil wirklich extrem viele Nachrichten mehr oder weniger unnötigerweise durch die Gegend geschickt werden - da ist mir das klassiche Windows NT / 2000 Design doch viel sympathischer.

Einen kleinen Artikel über einige Neuerungen in Carad, insbesonder bezüglich Projekterstellung und Physikunterstützung, gibt es hier:
http://www.basegraph.com/bg/tutorials/ger_article_caradsource/caradsource.htm

Das einfache Demoprogramm kann hier heruntergeladen werden
http://www.basegraph.com/bg/tutorials/ger_article_caradsource/HalfPipeApp.zip
Bild

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 29 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.061s | 17 Queries | GZIP : On ]