ich versuche nun schon seit ein paar Tagen die zweite Textur in einem Shader zum laufen zu bekommen. Die Anwendung die ich nun habe ist eine reine Testanwendung um herauszufinden was der Fehler ist.
Der Aufbau:
Ich habe zwei Texturen die aus einer Datei geladen werden (Dies funktioniert, werden beide angezeigt wenn ich sie direkt auf einen Würfel render). Nun habe ich ein FBO (fboPass0) das dass Ergebnis von meinem rendern mit den Shadern in der Texture renderResultPass0 ablegt.
Ich übergebe beide Texturen meine Fragmentshader, dort wollte ich sie eigentlich mischen. Aber es kommt nur die erst an. Wenn ich gl_FragColor mit den Werten der ersten Textur setze, sehe ich sie 1 zu 1 auf dem Würfel aufgebracht. Versuche ich das gleiche mit der zweiten Textur. Sehe ich nix.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Willkommen im Forum.
Einfach mal so ins Blaue hinein geraten, da ich mich mit Shadern so gar nicht auskenne. Du solltest evtl. die Texturen auch beide aktivieren. Also du musst glBindTexture und glEnable(GL_TEXTURE_2D) pro Textureeinheit aufrufen. Und wenn du sie nicht mehr brauchst auch wieder deaktivieren. Besonders die TMU1, da du später zwar die Textur in der TMU0 ersetzt, allerdings die TMU1 nicht mehr anrührst. Somit wird das die restliche Darstellung verfälschen können.
PS: Bevor du dich wunderst. Ich vermute, dass die erste durch das Laden der Texturen bereits aktiviert wurde. Die müsste ansonsten ja auch "tot" sein.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Wie gesagt. Shader sind nicht so mein Fachgebiet. Aber wenn der Shader sich nicht darum kümmert ob die aktiviert oder deaktiviert sind dann ist ja gut. Werde ich mir merken (hoffentlich).
danke fuer die Antworten, gleich vorne weg es geht immer noch nicht .
elektrokrach: Wenn ich versuche einen dritten Parameter wie vorgeschlagen mit zu uebergeben bekomme ich die Meldung: Zu viele Argumente.
Darauf hin habe ich noch mal schnell nachgeschaut: http://developer.3dlabs.com/documents/G ... cation.htm Nur zwei Argumente. Ich muss das ganze unter C++ mach was den Unterschied erklaeren koennte.
Lossy eX, elektrokrach zum zweiten Post: Stimmt so kenne ich das auch.
Hatt jemand sonst noch eine Idee woran es liegen koennte?
Ok,
dann werde ich den FBO jetzt mal wieder in meine Anwendung reinnhemen. Werde ihn mal neue machen in der Hoffnung das ich den Fehler nicht noch mal mache .
Hoffe es klappt dann, sonst werde ich die Combinder versuchen.
Aber eins noch wenn du noch mal in den Code vom ersten Post schaust, schalte ich doch das FBO ab und binde die Texture bevor ich sie nutze. Geht das so oder muss ich sie direkt nach dem Abschlaten binden oder erst wenn ich sie benoetige?
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.