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

Aktuelle Zeit: Mi Aug 06, 2025 19:35

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: glSlang auf ATI-Karten
BeitragVerfasst: Do Aug 18, 2005 22:45 
Offline
DGL Member

Registriert: Sa Mär 20, 2004 22:48
Beiträge: 104
Servus, hab' mal wieder was mit Shadern gemacht...und zwar Bump Mapping. Auf meiner GeForce 6800 GT läuft das ganze auch exzellent, als mein Kumpel das Programm aber bei sich laufen lies, erhielt er ettliche Fehlermeldungen, u.a. bezüglich der Konvertierungen von vec3 zu vec4 (nur eins von vielen Beispielen). Ich hab' mich dann mal hingesetzt und alles nochmal "genauer" programmiert, d.h. überall Konstruktoren benutzt usw., bis das Prog auch bei ihm ohne Fehlermeldungen startete. Während die verbesserten Shader bei mir immer noch genau so aussahen, wurden sie auf der Radeon 9800 Pro nicht wirklich angewendet, viel mehr wurde scheinbar der komplette Shadercode übersprungen (obwohl bei beiden Shaderteilen nur eine leere MessageBox ausgegeben wurde). Zu sehen war weder Licht noch irgendein Bump-Effekt, es war, als hätte man einfach nur eine Textur draufgelegt. An den Treibern kann es nicht liegen, die sind von der neusten oder zweit-neusten Version. Ich wüsste gern, ob jemand mir da ein paar Tips geben kann, was man beachten muss, dass die Shader auch von ATI Karten korrekt benutzt werden können. Notfalls kann ich auch mal den Shadercode hier posten, hätte aber gerne ein paar generelle Hinweise, dass ich das beim nächsten Shader besser machen kann.

Mfg, Gran

_________________
Der Bump Mapping User ist nur zu faul, selbst eine Wand mit Tesselation zu erstellen ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 19, 2005 09:58 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
zu glsl auf ati karten ist allgemein zu sagen, dass sie (wie du ja auch festgestellt hast) es schon übertrieben genau nehmen mit sachen wie typkonvertierung usw. bei sowas muss man also aufpassen. Die einzige Möglichkeit die wirklich hilft ist meiner erfahrung nach aber nur sich mit ner ATI Karte hinsetzen und schaun das man das zum laufen kriegt. wenn du willst würde ich das mal machen
Wenn der shader nicht ausgeführt wird ist das ansich ein recht klarer hinweisdass er nicht richtig kompiliert ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 19, 2005 10:01 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Cg funktioniert ja auch mit ATI Karten und man kann per "-oglsl" Parameter auf GLSL Syntax umschalten. Da der Compiler dann extern ist, weiß man wenigstens was generiert wird.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 19, 2005 14:46 
Offline
DGL Member

Registriert: Sa Mär 20, 2004 22:48
Beiträge: 104
danke für die schnellen Antworten. Zu den cg Shadern kann ich nur sagen, dass ich mir das schlicht und einfach nicht zutraue, da mir dazu das Material fehlt. glSlang konnte ich (fast) problemlos mit Sascha's exzellentem Tut lernen, zu den CG Shadern hab' ich bisher leider nix gefunden, was ich verstehe.

@Grizzly: Vielen Dank für das Angebot, scheint mir mittlerweile auch die einzige Lösung zu sein. Hab' den Source angehängt, wäre sehr nett wenn du dir das mal ansiehst.

EDIT: Für die Normal Map war leider kein Platz mehr


Dateianhänge:
glSlBump.rar [76.31 KiB]
303-mal heruntergeladen

_________________
Der Bump Mapping User ist nur zu faul, selbst eine Wand mit Tesselation zu erstellen ;-)
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 19, 2005 20:08 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
---------------------------
Opengl15_template
---------------------------
ERROR: 0:8: '__LightPosition' : reserved built-in name
ERROR: 0:13: '__LightPosition' : undeclared identifier
ERROR: 2 compilation errors. No code generated.


---------------------------
OK
---------------------------

---------------------------
Opengl15_template
---------------------------
ERROR: 0:12: '__SourceAmbient' : reserved built-in name
ERROR: 0:13: '__SourceDiffuse' : reserved built-in name
ERROR: 0:15: '__MaterialSpecular' : reserved built-in name
ERROR: 0:16: '__MaterialShininess' : reserved built-in name
ERROR: 0:25: '*' : wrong operand types no operation '*' exists that takes a left-hand operand of type '3-component vector of float' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 0:27: '__SourceAmbient' : undeclared identifier
ERROR: 0:28: '__SourceDiffuse' : undeclared identifier
ERROR: 0:29: '__MaterialSpecular' : undeclared identifier
ERROR: 0:29: '__MaterialShininess' : undeclared identifier
ERROR: 0:29: '=' : cannot convert from 'float' to '4-component vector of float'
ERROR: 10 compilation errors. No code generated.


---------------------------
OK
---------------------------
auf ner 9500 pro akzeptiert er schonmal scheints keine underlinesasl veriablenanfang
weiterhin hab ich festgestellt, und das ist das merkwürdige, dass der Wert von IDiffuse allgemein nicht 0 ist, aber bei interaktion mit texture2D(texSampler, vec2(gl_TexCoord[0])) scheinbar als 0 angenommen wird


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 19, 2005 20:43 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Zitat:
glSlang konnte ich (fast) problemlos mit Sascha's exzellentem Tut lernen, zu den CG Shadern hab' ich bisher leider nix gefunden, was ich verstehe.

Cg kann auch GLSL. Zur Not kann man das mit dem Kommandozeilenkompiler per Hand kompilieren und die Assembler Shader Datei laden, falls man nicht die Cg DLL dabei haben möchte.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 19, 2005 22:36 
Offline
DGL Member

Registriert: Sa Mär 20, 2004 22:48
Beiträge: 104
oops, sorry, hab' vergessen zu sagen, dass ich eben diese Fehler alle (scheinbar) verbessert habe, also so, dass das Programm ohne Fehlermeldungen auf ATI Karten kompiliert wurde, und bei mir immer noch das gleiche Ergebnis lieferte. Aber scheinbar wurde es doch nicht richtig kompiliert und zeigte einfach nur eine ganz normale Textur an.

_________________
Der Bump Mapping User ist nur zu faul, selbst eine Wand mit Tesselation zu erstellen ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 23, 2005 08:48 
Offline
DGL Member

Registriert: Fr Nov 12, 2004 14:58
Beiträge: 76
Wohnort: Aachen
Grizzly hat geschrieben:
auf ner 9500 pro akzeptiert er schonmal scheints keine underlines als variablenanfang


Ich meine mich zu erinnern, das in dem "Orange Book" drin stand, das der _ am Anfang einer Variable für den internen Gebrauch reserviert ist und Variablen mit __ (zwei Underscore) für die Zukunft reserviert sind und nicht verwendet werden sollten.

_________________
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (Engl. Sprichwort)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 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.024s | 18 Queries | GZIP : On ]