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

Aktuelle Zeit: Mi Aug 06, 2025 10:39

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



Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 30, 2004 12:08 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ja, was glSlang wirklich fehlt ist sowas wie glGetAssemblerSource oder so in der Richtung. Halt eine Funktion mit der man den nach ARB_VP/ARB_FP übersetzten Shadercode eines glSlang-Shaders bekommt. Damit könnte man dann schön sehen, wo und v.a. ob der Treiber optimiert und auch korrekt übersetzt.
Allerdings fallen mir da direkt zwei Gründe ein warum das nicht im Interesse der Hersteller ist : Erstens würde man damit im Endeffekt ja Compilerinterna (sprich Optimierungen usw.) preisgeben, und zweitens wird der Zwischenschritt glSlang->ARB_VP/ARB_FP wohl spätestens auf Karten der (über)nächsten Generation wegfallen, die dann glSlang vielleicht schon komplett in Hardware unterstützen.

Aber wenn NV wirklich erst Ende des Jahres mit einer öffentlichen glSlang-Implemtation rausrücken, dann wirds leider wohl noch recht lange dauern bis man kommerzielle Produkte bzw. Spiele mit glSlang-Support sieht. Wenn man bedenkt wie einfach und v.a. herstellerunabhängig man jetzt auch in OpenGL über eine HLSL Shader schreiben kann ist das eigentlich recht schade.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 30, 2004 12:11 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Doom3 soll doch auch glSlang verwenden. Ich hoffe mal das mit dem Erscheinen von Doom, glSlang eine wichtigere Bedeutung bekommt. Wenn das nämlich nur ATI Karten unterstützen, dann ist das fast wie eine ATI_* Extensions und dann nützt es nicht viel.


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

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wenn das so ist, wäre das natürlich eine tolle Sache für glSlang an sich. Ich glaube auch das Carmack in seinem .plan-File erwähnt hat dass er was mit den 3D-Labs Karten gemacht hat (eigener Renderpfad). Und da die ja weder ARB_FP noch ARB_VP, sondern nur glSlang unterstützen, wäre es möglich das D3 so einen Renderpfad besitzt.
Allerdings ist es fraglich ob dieser Renderpfad dann in D3 beim Launch (soll ja in zwei bis drei Monaten so weit sein) für ATI-Karten freigeschaltet wird, da deren glSlang-Implementation ja noch fehlerhaft ist.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 30, 2004 13:22 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Für Doom3 Licht reicht glSlang ja aus. Doom3 ist von den Shadern her ja aus heutiger Sicht nicht so anspruchsvoll. Und Carmack hat auch geschrieben, daß seine nächste Engine auf jeden Fall eine Hochsprache benutzt und daß er glSlang unterstützen will. Ich hoffe mal das er nur glSlang benutzt und so eine gute Implementierung im Treiber erzwingt. Da er vermutlich schon längst an der nächsten Engine arbeitet, bin ich mal gespannt ob er bald mal wieder was zeigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 30, 2004 18:20 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Zitat:
und zweitens wird der Zwischenschritt glSlang->ARB_VP/ARB_FP wohl spätestens auf Karten der (über)nächsten Generation wegfallen, die dann glSlang vielleicht schon komplett in Hardware unterstützen


Das muss nicht sein - zumal diese Extensions ja auch in aktueller Software bereits genutzt werden. Im "schlimmsten" Fall sollte es für einen Videokartenhersteller ja nicht schwierig sein, ARB_VP/FP eins zu eins nach GLSlang zu übersetzen, das von seinen Spezifikationen ja ein Superset des "Assemblers" ist (auch wenn die zusätzlichen Features noch gar nicht genutzt werden können).

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 08:08 
Sascha Willems hat geschrieben:
Das was du da willst, geht definitiv, und ich habs auch schon (in kleinerem Stile) selbst in nem Shader im Einsatz :

Code:
  1. uniform sampler1D tex0;
  2. uniform sampler2D tex1;
  3. uniform int pass;
  4.  
  5. void main(void)
  6.  {
  7.   if (pass == 1)
  8.    gl_FragColor = texture1D(tex0, gl_TexCoord[0].s) * gl_Color  * texture2D(tex1, vec2(gl_TexCoord[1])) * 2.0;
  9.   else
  10.    gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
  11.  }


Auch der von dir angesprochene Alphavergleich ist über If-Abfragen funktional und hat bei mir auch schon geklappt (via gl_FragColor.a). Problem bei solchen Konstrukten ist aber die Tatsache, das solche Abfragen zu recht langem Shadercode führen, wodurch du zumindest auf Radeons ganz schnell die maximale Anzahl an Instruktionen im Fragmentshader sprengen tust. Dort wirst du also leider kaum mehrere Shader in einem durch If-Abfragen unterbringen können.


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 20:44 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
Ich check den Beitrag dem ominösen Gast zwar nicht, aber nur deswegen bin ich auf diesen Thread gekommen...
Hab ihn mir von Anfang an durchgelesen und wollte mal fragen wie denn nun der Stand der Technik in Sachen
Treibern und Fähigkeiten von glSlang ist und wie sah es nun in Doom3 mit glSlang aus.... ist ja nun seit langem raus...

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 22:46 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Quake4 hat jetzt GLSL Shader. Allerdings nur einige wenige.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » Shader


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.008s | 14 Queries | GZIP : On ]