Autor Beitrag
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 05.05.11 18:32 
Hey,

ich schreib zur Zeit an einem Editor für die OpenGl Shading Language. Und da ich mit der Arbeit schon relativ weit bin, und man den Editor schon mehr oder weniger gut benutzen kannt wollt ich euch den mal zeigen.

Was ist zur Zeit möglich?
1. Release
  • Erstellen von Vertex-, Fragment und Geometrie-Shadern
  • Syntaxhighlight für die Editoren mit selbstdefinierbaren Styles und Farben
  • Funktions-, Variablen- und Konstanten-Übersicht via DropDown-Menü bzw. AutoComplete für Build-Ins(STRG+SPACE)
  • Menü in dem man die Build-Ins von OpenGL anpassen kann (wenn sich mal wieder was ändert oder neue Funktionen dazu kommen)

2. Release v0.5.16.117
  • Bug-Fixes
  • Erklärung der Funktionen und Variablen im Drop-Down-Menü der automatischen Codevervollständigung
  • Einstellungs-Dialog zum anpassen des Fensterverhaltens (einzelln oder als TabControl) evtl. auch per Drag&Drop

3. Release v0.6.18.123
  • Bug-Fixes
  • Überarbeitung der Datenverwaltung
  • Multilanguage-Support, zur Zeit Englisch und Deutsch
  • Laden und Speichern von Projekten

4. Release v0.6.19.128
  • Bug-Fixes
  • Kompilieren und Speichern von Shadern
  • eine Unit zum verwalten von Shader-Programmen
  • Log-Fenster mit Fehlerausgabe beim Kompilieren

5. Release v0.7.21.134
  • Bug-Fixes
  • Menüleiste und Icons für die GUI
  • Parameter-/Overload-Übersicht für die Funktionen (Grundfunktionen)

6. Release v0.8.22.141
  • Bug-Fixes
  • eine einfache Shadervorschau wo man den Shader auf vorgegebene Primitiven oder geladene Models anwenden kann


Was soll noch dazu kommen?
  • Parameter-/Overload-Übersicht für die Funktionen (Erkennung der Parametertypen)
  • Funktions-, Variablen- und Konstanten-Übersicht via DropDown-Menü bzw. AutoComplete für selbstdefinierte Funktionen und Variablen


Ideen für die ferne Zukunft:
  • Versionstest der einzellnen Funktionen und dementsprechende Behandlung im Editor


eingesetzte Komponenten/Bibliotheken:


Known Bugs:
  • SyntaxHighlight spielt verrückt wenn man Kommentar-Blöcke (/*Comment*/) benutzt - fixed in v0.4.10.101
  • DropDown-Menü für Arrays mit einem Struct als Typ funktioniert nicht. Bsp.: gl_LightSource[0].ambient fixed in v0.4.12.105
  • Index-Zahl von Arrays werden beim eingeben verdoppelt fixed in v0.4.12.105
  • Die Editoren werden beim Wechseln der Editoransicht manchmal nicht richtig bzw. gar nicht angezeigt


gewonnene Awards:
user defined image
Bestes Projekt Q4/2010
user defined image
Nützlichstes Projekt 2010
user defined image
Bestes Projekt Q3/2011


Screenshots:
[url=bergmann89.de/files/...or/screenshot_0.png]user defined image[/url] [url=bergmann89.de/files/...or/screenshot_1.png]user defined image[/url] [url=bergmann89.de/files/...or/screenshot_2.png]user defined image[/url] [url=bergmann89.de/files/...or/screenshot_3.png]user defined image[/url] [url=bergmann89.de/files/...or/screenshot_4.png]user defined image[/url] [url=bergmann89.de/files/...or/screenshot_5.png]user defined image[/url]

So weit zum Projekt. Hier noch die Links:
DOWNLOAD rar v0.8.22.141 (1674,47 KiB)
DOWNLOAD Setup v0.8.22.141 (1.908,79 KiB)
DGL Projekt-Thread
DGL Meinungs-Thread
Entwickler-Blog

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^


Zuletzt bearbeitet von Bergmann89 am Sa 12.11.11 00:13, insgesamt 5-mal bearbeitet
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 05.05.11 19:15 
Ist der Editor Linux kompatibel?
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 05.05.11 20:53 
Hey,

zur Zeit läuft er nur unter Windows. Linux war bis jetzt auch nicht geplant, aber wenn entsprechende Nachfrage da ist werd ich ihn noch auf anderen Platformen anbieten. Oder ich mach ihn OpenSource, dann kann ihn jeder selbst kompilieren. Platformabhängige Units benutz ich glaub ich nicht, also sollte das auch kein Problem dastellen.

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Mi 14.09.11 03:04 
*Release v0.7.21.134*

Heyho,

nach langem Warten dürft ihr euch jetzt wieder über ein neues Release freuen ^^

Diesmal hat sich hauptsächlich was am Design getan. Der leere Platz über dem Editor wurde jetzt mit einer Menüleiste gefüllt. Außerdem hat das Programm schicke Icons bekommen, die jetzt auch mit den Dateien verknüpft werden. Damit dass auch alles richtig installiert wird gibt es den Editor jetzt als Setup-Datei. Aber auch die normale rar-Variante bleibt bestehen.

Das einzige neue Feature in dieser Version ist die Parameteranzeige bei Funktionen. Diese zeigt zur Zeit alle Parameter an, mit der die Funktion gefüttert werden kann. Das wird später aber noch so abgeändert, dass die Überladungen, die vom Datentyp her nicht passen aussortiert werden. Einige kleine Bugs hab ich natürlich auch noch gefixt.

Download gibt‘s wie immer im 1. Post. Ich würd mich über paar Kommentare freuen ;)

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Mo 10.10.11 23:48 
Hey,

es passt zwar nicht 100%tig hier rein, aber trotzdem hat es was mit dem Editor zu tun.
Und zwar hab ich meinen Blog weitestgehend fertig gestellt. Unter Anderem gibt es jetzt ein User Account System, in dem ihr euch registrieren könnt. So erhaltet ihr immer eine Mail, wenn es etwas neues zum Editor zu lesen gibt.
Schaut mal vorbei: bergmann89.de/

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
Bergmann89 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Sa 12.11.11 00:11 
*Release v0.8.22.141*

Hey,
der gewonnene Award hat mir einen riesigen Motivationsschub gegeben (nochmal danke für eure Stimmen) und deshalb gibt es jetzt ein neues Release. Bei diesem Release habe ich die Vorschau für den Shader implementiert. Wie schon früher erwähnt kann man den Shader nun auf mehreren primitiven Objekten Testen und so eventuelle Fehler im Shadercode ausmachen. Da das Formular weitestgehend selbsterklärend ist werde ich hier nur mal kurz auf die Hilfslinien und die Bewegung im Raum eingehen:
Es werden je nachdem ob man ein Objekt ausgewählt hat 2 oder 3 Koordinatensysteme angezeigt. Das kleine ist der Mittelpunkt der Kamera, also der Punkt um den sich alles dreht. Das große Koordinatensystem ist der Ursprung des Systems, in dem die Objekte liegen. Und wenn man ein Objekt selektiert hat wird zusätzlich das System des Objektes angezeigt. Mit gedrückter linker Maustaste kann man die Kamera relativ zum Weltsystem verschieben. Die Kamera bewegt sich dabei nur in der XZ-Ebene. Erst bei gedrückter SHIFT-Taste bewegt sich die Kamera vertikal. Die Rotation der Kamera erfolgt mit gedrückter rechter Maustaste. Die Objekte kann man natürlich auch manipulieren. Dazu einfach ein Objekt auswählen, sodass das Koordinatensystem des Objekts angezeigt wird. Dann kann man mit der Maus eine Achse auswählen (wird gehighlightet) und entsprechend verändern. Mit der linken Maustaste wird das Objekt verschoben, mit der rechten Maustaste wird das Objekt gedreht und mit gedrückter STRG-Taste und der linken Maustaste wird das Objekt skalieren. Wenn man genau Werte benötigt kann man die Matrix des Objekts auch direkt in den Objekteigenschaften anpassen. Bei der Manipulation der Objekte mit der Maus wird nur die horizontale Bewegung der Maus ausgewertet. Das ist zwar am Anfang etwas gewöhnungsbedürftig, aber man hat den Bogen schnell raus. Vieleicht bau ich das Ganze auch nochmal um, wenn ich einen vernünftigen Weg finde, die Vektoren auf die Ebene zu projizieren. Hier die Befehle nochmal im Überblick:

  • LMT: Kamera bewegen (XZ-Ebene)
  • LMT + SHIFT: Kamera bewegen (Y-Achse)
  • RMT: Kamera drehen

bei selektierter Objekt-Achse:
  • LMT: Objekt auf Achse verschieben
  • RMT: Objekt um Achse drehen
  • LMT + STRG: Objekt auf Achse skalieren


Soweit zur Steuerung. Was könnt ihr nun mit den Objekten machen? Jedes Objekt hat ein Front- und Backmaterial, sowie eine Textur die ihr einstellen könnt. Weiterhin gibt es verschiedene Parameter mit denen ihr das Objekt anpassen könnt, um z.B. die Auflösung der Vertex oder die Form des Objekts zu ändern. Alle Werte der Objekte sind in einer extra Baumstruktur angeordnet, in der man die Werte per Doppelklick oder durch einen Druck auf Enter anpassen kann. Weiterhin kann man einstellen, dass die komplette Szene in ein FBO gezeichnet und dann als FullscreenQuad ausgegeben wird. So kann man auch Post-Processing-Shader ohne Probleme testen.
Am Editor selbst hat sich nicht viel geändert. Hier und da hab ich ein paar kleine Fehler korrigiert. Das einzige was für euch wichtig ist: Durch das hinzufügen der Vorschau könnt ihr eure alten Projekte nicht mehr laden, da ich das Format der Datei komplett umgebaut habe. In Zukunft passiert sowas aber nicht wieder, da ich vorsorglich eine Versionsprüfung in die Datei mit eingebaut habe. Es könnte sich hier und da noch der eine oder andere Fehler eingeschlichen haben. Also sobald irgendwas nicht so funktioniert wie es soll, einfach mal melden, wie das geht wisst ihr ja ;)
So dann mal viel Spaß beim Shader entwickeln. Download gibts wie immer im 1. Post.

[url=bergmann89.de/files/...or/screenshot_5.png]user defined image[/url]

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^