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

Aktuelle Zeit: Do Mai 16, 2024 12:50

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: PPL2 Shader - Texturenproblem
BeitragVerfasst: So Jul 24, 2011 08:17 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Hallo,

könnte man beim Shader das Problem mit der Textur nicht einfach umgehen, indem man ein Boolean mitübergibt, der angibt obs texturiert ist oder nicht. Wenn ja führt man die beiden Zeilen aus, wenn Nein, dann macht mans ohne Texturen. Wär doch einfacher.

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PPL2 Shader - Texturenproblem
BeitragVerfasst: So Jul 24, 2011 10:05 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
könnte man beim Shader das Problem mit der Textur nicht einfach umgehen

Welches Problem? Ist PPL2 irgendwas spezielles oder meinst du einfach Shadermodell 2?

Zitat:
indem man ein Boolean mitübergibt, der angibt obs texturiert ist oder nicht.

Das geht, die Frage ist ob es sinnvoll ist. Diese if-Abfrage muss für jedes Fragment ausgeführt werden! Normalerweise optimiert man Shader immer genau für eine spezielle Aufgabe. Wenn sich Shader extrem ähneln lagert man die gemeinsamen Teile in eine eigene Datei und included diese quasi. Makros (#define, #ifdef, ...) sind auch eine hilfreiche Sache, damit würde der Switch bereits vom Shader-Compiler durchgeführt. Nennt man Shader-Permutations. Zu Uniform-Switches greift man nur dann, wenn Grafikspeicher oder Shader-Switches zu Problem werden. Für kleine Testanwendungen oder ähnliches ist so ein Textur-Switch natürlich kein Problem. Aber vermeide den eierlegenden Wohlmilchsau-Shader...

Zitat:
Wär doch einfacher.

Es hat niemand behauptet das Shader einfach sind. Es geht darum die optimale Performance aus der Hardware zu bekommen um eben solch vermeidbare Switches zu umgehen.

Übrigens, wenn keine Textur gebunden ist (also einfach "0") müsstest du beim Zugriff einfach schwarze Farbe bekommen.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PPL2 Shader - Texturenproblem
BeitragVerfasst: So Jul 24, 2011 14:23 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
*Kopf gegen den Tisch schlag* hab nicht dran gedacht... naja trotzdem danke.

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PPL2 Shader - Texturenproblem
BeitragVerfasst: Mi Jul 27, 2011 21:47 
Offline
DGL Member

Registriert: Sa Nov 24, 2007 11:59
Beiträge: 116
Programmiersprache: FreePascal
Coolcat: Wird bei einer nicht gebundenen Textur nicht *weiße* Farbe zurückgegeben (zumindest bei texture2D(), die ganzen texelFetch*-Dinger werfen tatsächlich nur Nullen)? Dann braucht man nämlich nicht einmal eine If-Abfrage. Problem ist natürlich, dass der texture2D-Call nach wie vor unsinnig ist, aber ggf weniger Overkill als dafür extra nen neuen Shader zu laden und dann zu wechseln. Wenn man nur wenige untexturierte Objekte lädt, lohnt sich das mE ziemlich wenig.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PPL2 Shader - Texturenproblem
BeitragVerfasst: Do Jul 28, 2011 07:29 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
Coolcat: Wird bei einer nicht gebundenen Textur nicht *weiße* Farbe zurückgegeben (zumindest bei texture2D(),

Jetzt wo du es sagst...sicher bin ich mir nicht => versuch macht kluch.

_________________
Yeah! :mrgreen:


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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.023s | 17 Queries | GZIP : On ]