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

Aktuelle Zeit: Mi Mai 01, 2024 23:04

Foren-Übersicht » Programmierung » Shader
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Mai 15, 2004 15:26 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Hab mich die Tage mal hingesetzt und nen kleinen glSlang-Editor geschrieben, der für Shaderschreiber ein paar brauchbare Funktionen mitbringt :

    Bild
    Download (ZIP, 220KByte)

  • Syntaxhighlight (zumindest rudimentär, Multi-Zeile-Kommentare gehen noch nicht)
    Momentan ist die Farbgebung (Gestaltung) fest. Markiert werden glSlang-Funktionen, Variablentypen, Typenqualifizierer und eingebaute Variablen.
  • Hilfe für glSlang-Funktionen (einfach mit der Maus über einer Funktion stehenbleiben)
  • Validierung des Shaders auf Korrektheit mittels glslValidate von 3DLabs
    glslValidate (Download) ist ein simples Tool um festzustellen ob ein Shader dem glsl-Standard entspricht. tinyglSlangEditor nutzt es als Kommandozeilentool und zeigt dann den Log des Tools an. glSlangValidate muss natürlich installiert sein damit dies funktioniert. Der Pfad in dem sich glslValidate befindet wird in der config.txt angegeben und ist im ZIP der Pfad den das Tool bei der Installation als Standardpfad wählt.
  • Validierung des Shaders anhand der glSlang-Treiberimplementation
    So kann man nämlich ganz schnell feststellen ob der Shader auf der vom Treiber angebotenen glSlang-Implementation läuft. Dazu wird dieser wie gewohnt gelinkt, an ein Programobjekt angebunden und dieses dann kompiliert. So sieht man ob der Shader auf der aktuellen HW laufen würde, und ob er dann in HW oder SW liefe. Hier wird man als fleissiger Shaderschreiber übrigens feststellen das laut glslValidate korrekte Shader nicht immer als funktionierend angezeigt werden. Das liegt dann halt an fehlerhafter glSlang-Implementation seitens des Herstellers.
Wie gesagt ist das ein rudimentäres Tool. Mir gings halt um nen kleinen Editor mit Syntaxhervorhebung und einer schnellen Möglichkeit meine Shader auf Korrektheit zu prüfen. Es sind sicherlich noch hier und da Fehler drin, oder etwas verbesserungswürdig. Ich hab mir das Tool übrigens in die Toolsliste von Delphi eingebunden, so kann man schnell während des Programmeschreibens drauf zugreifen.


Update vom 13.07.2004 :
Da ich momentan an ner Sache arbeite bei der ich recht häufig irgendwelche Shader bearbeiten muss, hab ich den Editor erweitert (aktuell ist jetzt Version 0.2) :
  • Zwei Editierfelder, so dass man gleichzeitig an einem Shaderpaar (VS+FS) arbeiten kann.
  • Im Zuge dessen können jetzt beide Shader zusammen via installierter glSlang-Implementation geprüft werden.
  • Die zuletzt geöffneten Shader werden beim Programmstart automatisch geöffnet.
  • Angaben zur Fensterposition werden gespeichert und beim Start geladen.
  • Drei verschiedene Syntaxfarb-Profile (werden auch gesichert und geladen).

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Zuletzt geändert von Sascha Willems am Di Jul 13, 2004 11:01, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 15, 2004 17:32 
Offline
DGL Member

Registriert: Do Mai 13, 2004 16:36
Beiträge: 116
Wohnort: Deutsch-Wagram (Österreich)
Nettes Tool! (Wo ist der Daumen-Hoch-Smiley)

_________________
Diese Signatur ist defekt. Bitte wählen Sie die Numer 12846712894671893230917497617383216 (gültig ab 32.13.2671)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 15:50 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Wie erstellst du die Schatten bei den Hinweisen?
Sind das wie bei Delphi eigene Fenster oder gibt es eine API Funktion zum anzeigen von Hinweisen oder gibt es eine Funktion für Canvas oder wie machst du das?

Wo ich schon beim Fragestellen bin, wie erhältst du so ein cooles aussehen für deine Fenster? Ist das eines der Themen für XP, ein eigener Prozess, benutzt du ein anderes Betriebssystem?

MfG
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Bin zwar nicht SOS glaube aber dennoch die Frage beantworten zu können. Man möge mich berichtigen falsch ich damit Unwahrheiten verbreite.

Beide Sachen darf man getrost XP in die Schuhe schieben. Die Schatten macht XP selbständig bei sehr vielen Sachen. Menüs, Popups, Hints.
Und das müsste ein Theme für XP sein. Habe jedenfalls mal ein Theme gesehen was dem von SOS erstaunlich ähnlich (um nicht zu sagen gleich) war. Wobei mir persönlich da die anderen Farbeinstellungen besser gefallen hatten als das Schwarze. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 21, 2004 21:08 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Dem von LossyEx gesagtem kann ich nix mehr hinzufügen. Der Schatten ist bei WinXP normal und das Fenster sieht aufgrund des Windowsstyles so aus.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 22, 2004 14:42 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Die Hinweise von Delphi haben keine Schatten obwohl ich es unter WindowsXP nutze. Bei den Menus(inkl. PopMenus) gibt es Schatten, aber leider sind Hinweise was ganz anderes.

Wie erzeugt man den solche Hinweise?
MfG
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 22, 2004 15:36 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Das sind die ganz normalen Hints. Also in dem Falle TRichEdit.Hint.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 22, 2004 19:54 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Also in Delphi 5 hatten die noch keine Schatten, aber als ich es mal kurz in Delphi 7 testete gab es welche.
(Jetzt könnte ich natürlich weiterfragen ob jemand zufällig weis, was da genau in der 7 Version anders ist :wink: )

MfG
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 22, 2004 20:24 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Wenn die Fensterklasse den Stil CS_DROPSHADOW hat, wird ein Schatten geworfen. Das ist erst ab WinXP möglich.
Um das für eine beliebige Komponente einzuschalten muß man CreateParams überschreiben und bei der übergebenen Variable Params.WindowClass den Stil hinzufügen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jul 13, 2004 11:03 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wer ins erste Posting schaut, wird bemerken dass ich eine neue Version veröffentlicht habe. Downloadlink ist der selbe, was sich geändert hat (+neuer Screen) gibts also ganz oben in diesem Thread.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 15, 2004 12:17 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Ich finds immer wieder erstaunlich wie schnell du neue apps machst.
Und vor allem so gut wie fehlerfrei und lauffähig :(
Bist der aktivste in der Community :)
Soviel projekte schon und so gut wie alles fertig.

Wäre schon wenn ich auch soviel ehrgeiz besitzten würde mal etwas fertig zu machen.

Grosses Lob also von mir :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 15, 2004 23:57 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
:D Das ich so viel veröffentliche liegt prinzipiell daran dass ich jemand bin der Dinge gerne fertigstellt; und zudem lasse ich auch gerne die "Öffentlichkeit" an den Sachen die ich so bastle teilhaben (ob das was mit Selbstdarstellungsdrang zu tun hat? *sg*). Hat halt den Nebeneffekt dass man so "bekannt" wird, und solche Sachen wie deine Postings (oder auch konstruktive Kritik und anderes Feedback) sind immer gesunde Nahrung fürs Ego.

Hier gibts aber sicherlich noch einige (Lars *hust*) die in ihrer Freizeit sicherlich nicht weniger fleissig am Werkeln sind als ich, aber das mit dem dauernden veröffentlichen und rausrücken von Infos ist halt nicht jedermanns Sache.

P.S. : Das Tool hier war allerdings nur ne recht popelige Sache, die aber doch recht nützlich ist (besonders wenn man, so wie ich grade, intensiv mit glSlang am werkeln ist). Eigentlich würde sich das Programm total erübrigen, wenn man in Delphi so wie in VC einfach per Datei eigene Syntaxhighlights einbinden könnte, aber Borland sehen da wohl keine Nötigkeit für. Also hab ich mir halt dieses kleine Programm geschrieben dass ich dann immer im Hintergrund laufen lasse solange ich shadertechnisch am werkeln bin.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 19, 2005 19:13 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
hi sascha, dein kleiner glsl-editor ist genau das was ich gesucht habe.
gibt nur zwei punkte, die ich dich bitten würde zu ändern. zum einen kann man im open dialog keine beliebigen dateien öffnen, was mich daran hindert damit direkt meine shader-dateien öffnen zu können (ich verwende *.fs/*.vs) und zum anderen nimmt das richedit keine tabs. man kann also keine schöne einrückung machen. würd dich also bitten da noch tabs anzustellen und die tabbreite so aud delphi-breite stellen.
wäre klasse wenn du die beiden kleinigkeien noch einbauen könntest.

PS: BTW, du nutzt doch die TRichEdit -Compo hier, oder ?

_________________
www.extrawurst.org


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.017s | 15 Queries | GZIP : On ]