- void main(void) {
- gl_TexCoord[0] = gl_MultiTexCoord0;
- gl_TexCoord[1] = gl_MultiTexCoord1;
- gl_Position = ftransform();
- }
DGL https://delphigl.com/forum/ |
|
Die zweite Texture scheint nicht im Shader an zu kommen https://delphigl.com/forum/viewtopic.php?f=20&t=7070 |
Seite 1 von 2 |
Autor: | pfefferkeks [ Mo Nov 19, 2007 15:23 ] |
Betreff des Beitrags: | Die zweite Texture scheint nicht im Shader an zu kommen |
Hallo, 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. Vertex Shader: Code:
Fragment Shader: Code:
Wenn ich hier tmp1 durch tmp2 ersetze sollte ich Texture 2 normal sehen. Leider ist das nicht der Fall. und hier nutze ich das ganze: Code:
Hoffe das ihr mir helfen koennt! Gruesse, pfefferkeks |
Autor: | elektrokrach [ Mo Nov 19, 2007 15:38 ] |
Betreff des Beitrags: | |
war falsch |
Autor: | Lossy eX [ Mo Nov 19, 2007 15:39 ] |
Betreff des Beitrags: | |
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. |
Autor: | elektrokrach [ Mo Nov 19, 2007 15:41 ] |
Betreff des Beitrags: | |
egal |
Autor: | Lossy eX [ Mo Nov 19, 2007 15:47 ] |
Betreff des Beitrags: | |
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. ![]() |
Autor: | elektrokrach [ Mo Nov 19, 2007 15:48 ] |
Betreff des Beitrags: | |
Macht nix |
Autor: | pfefferkeks [ Mo Nov 19, 2007 15:49 ] |
Betreff des Beitrags: | |
Hey, 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? Danke, pfefferkeks |
Autor: | elektrokrach [ Mo Nov 19, 2007 16:03 ] |
Betreff des Beitrags: | |
erledigt |
Autor: | pfefferkeks [ Mo Nov 19, 2007 16:30 ] |
Betreff des Beitrags: | |
Macht ja nix, die Idee fand ich auf jeden Fall gut und ich habe fuer einen Moment Hoffnung geschoepft ![]() Werde es gleich mal on FBO versuchen. Gruesse, pfefferkeks |
Autor: | pfefferkeks [ Mo Nov 19, 2007 16:37 ] |
Betreff des Beitrags: | |
Habe das ganze jetzt mal ohne FBO versucht. Das scheint zu klappen. Der Code ist (funktioniert): Code:
Ob jemand meinen Fehler in dem FBO findet? Oder ist es gar garnicht moeglich multitextureing + FBO + Shader zu nutzen? Danke |
Autor: | elektrokrach [ Mo Nov 19, 2007 16:47 ] |
Betreff des Beitrags: | |
forget it |
Autor: | pfefferkeks [ Mo Nov 19, 2007 17:19 ] |
Betreff des Beitrags: | |
Habe den Tippfehler mal raus genommen, da der keine Absicht war ![]() elektrokrach: Klar kannst den Code von dem Shader haben, sobalt er fertig ist schicke ich ihn dir. Was meinst du mit Combinern? Google bringt mir zwar das es so was gibt aber was richtig greifbares leider nicht. Gruesse, pfefferkeks |
Autor: | elektrokrach [ Mo Nov 19, 2007 17:22 ] |
Betreff des Beitrags: | |
erledigt |
Autor: | pfefferkeks [ Mo Nov 19, 2007 17:27 ] |
Betreff des Beitrags: | |
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? Thanks, pfefferkeks |
Autor: | elektrokrach [ Mo Nov 19, 2007 17:38 ] |
Betreff des Beitrags: | |
bringt nix |
Seite 1 von 2 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |