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

Aktuelle Zeit: So Jul 27, 2025 18:00

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Shader-Tutorial
BeitragVerfasst: So Mai 08, 2005 18:59 
Offline
DGL Member

Registriert: Fr Nov 12, 2004 14:58
Beiträge: 76
Wohnort: Aachen
Salut,

im Abschnitt 3.2 findet sich der folgende Rechtschreibfehler: glUnifrom1iARB

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 08, 2005 19:20 
Offline
DGL Member

Registriert: Fr Nov 12, 2004 14:58
Beiträge: 76
Wohnort: Aachen
Insgesamt schönes Tutorial, wenn auch reichlichst technisch. Hätte mir gerne ein paar mehr Beispiele vor allem zum Aufruf und setzen der Variablen aus dem eigentlichen Programmcode heruas gewünscht.
Mal sehen was das Shader-Forum so alles zu bieten hat.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 08, 2005 19:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Also, falls es euch interessiert, ich arbeite grad an einem Erweiterungs-Tutorial zum Thema Shader, dass ich wesentlich praktischer gestalten will. Ich bin schon ziemlich fertig, aber acht Seiten ncoh ein bissl zu klein, wenn ihr also noch einen Monat warten könntet, dann wärs fertig. Eine kleine Leseprobe:
Zitat:
Ohne viel Umschweife komme ich dann mal gleich zum Mulitexturing. Dazu müssen wir zuerst in unseren Delphi-Code. Hier belegen wir zwei Texture-Units mit....ja...mit Texturen (immer diese verdammten Wiederholungen, mein Deusch-Kursleiter würde mich hauen). Danach kommt wieder was Shader-spezifisches: Wir weisen den uniform-Variablen (uniform sampler2D Texture0) im Shader „ihre“ Textur-Einheit zu.

Delphi-Code:
glActiveTextureARB(GL_TEXTURE0_ARB);
glBindTexture(GL_TEXTURE_2D, Textur);
glActiveTextureARB(GL_TEXTURE1_ARB);
glBindTexture(GL_TEXTURE_2D, Textur2);

glUniform1iARB(glGetUniformLocationARB(shader, 'Texture0'), 0);
glUniform1iARB(glGetUniformLocationARB(shader, 'Texture1'), 1);

Nun gehts wieder ab in die Shader! Wieder übergeben wir hier nur die Koordinaten, wenn sie die gleichen (wie in der Beispiel-Demo) sind, würde der Shader von vorhin ausreichen. So spart man sich eine Zeile, soviel zu Performance-Optimierung ;)

Vertexshader:
void main(void)
{
gl_Position= gl_ModelViewProjectionMatrix * gl_Vertex;

gl_TexCoord[0]= gl_MultiTexCoord0;
gl_TexCoord[1]= gl_MultiTexCoord1;
}

Im Fragmentshader auch nicht wirklich was neues: Wir binden die zweite Textur ein und bringen sie mit gl_FragColor ins Spiel. Ich hab im Beispiel-Code einfach mal beide Texturen multipliziert, aber ihr könnt damit eigentlich anstellen, was ihr wollt, probiert einfach mal ein paar Sachen aus!

Fragmentshader:
uniform sampler2D Texture0;
uniform sampler2D Texture1;

void main(void)
{
gl_FragColor= texture2D(Texture0, vec2(gl_TexCoord[0]))
* texture2D(Texture1, vec2(gl_TexCoord[1]));
}


In dem Tutorial geht es hauptsächlich um die nachprogrammierung der Standard-Hardware-T&L-Einheit per Shader. Im obigen Auszug geht es um die Implementation von Texturen.

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 13, 2005 13:00 
Offline
DGL Member

Registriert: Fr Nov 12, 2004 14:58
Beiträge: 76
Wohnort: Aachen
Im bisherigen Shader-Tutorial fehlt der Verweis das man das Programm mit

glUseProgramARB(ProgramObject)

dann auch benutzen sollte :o)
Und ich hab mich schon gewundert warum mein Rechner mir alles in rot zeichnet, wo ich doch extra gelb als Farbe angegeben habe ;-)

@La_Boda:
Liest sich bisher ganz gut.

_________________
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  [ 4 Beiträge ] 
Foren-Übersicht » DGL » Feedback


Wer ist online?

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