DGL https://delphigl.com/forum/ |
|
Cubemaps an den Shader übergeben https://delphigl.com/forum/viewtopic.php?f=20&t=9640 |
Seite 1 von 1 |
Autor: | simon1988 [ So Dez 12, 2010 20:46 ] |
Betreff des Beitrags: | Cubemaps an den Shader übergeben |
Hallo, ganz einfache Frage, aber ich komm leider nicht auf die Lösung. Habe versucht das Cubemapping mit einem Shader nachzuprogrammieren. Das hat auch soweit geklappt: Code: //Laden der Cubemap mittels glBitmap //Cubemap ist dabei vom Typ GluInt -- > Ist das korrekt? LoadCubemap('opensea_positive_x.tga','opensea_negative_x.tga','opensea_positive_y.tga','opensea_negative_y.tga','opensea_positive_z.tga','opensea_negative_z.tga',Cubemap,false); //...als nächstes wird die Cubemap gebunden und an den Shader übergeben: glBindTexture(GL_TEXTURE_CUBE_MAP,Cubemap); glUniform1i(glGetUniformLocation(Shader, PGLCharARB('Tex')), 0); Im Shader wird dann einfach folgendes gemacht: Code: uniform samplerCube Tex ; //.... gl_FragColor = textureCube(Tex, reflect(v,normal)); Soweit hat alles wunderbar geklappt. Jetzt wollte ich aber noch eine Bumpmap mitgeben und daran scheitere ich: Code: glBindTexture(GL_TEXTURE_2D,Bump) ; glUniform1i(glGetUniformLocation(Shader, PGLCharARB('Bump')), 0); Zur Probe hab ich mal getestet, ob die Bumpmap angekommen ist und habe sie einfach als Textur genutzt. Hat geklappt. Aber meine Cubemap ist jetzt weg. Das Problem liegt glaube ich an glUniform1i(glGetUniformLocation(Shader, PGLCharARB('Tex')), 0); Ich verstehe nicht ganz welchen Wert ich hinten übergeben muss. Bisher dachte ich für GL_TEXTURE0 eine 0, für GLTEXTURE1 eine 1 usw. Was aber für die Cubemap? Vielen Dank im Vorraus |
Autor: | simon1988 [ So Dez 12, 2010 22:04 ] |
Betreff des Beitrags: | Re: Cubemaps an den Shader übergeben |
Ok, ich glaube ich hab das Problem gelöst: Anstelle von glBindTexture(GL_TEXTURE_CUBE_MAP,Cubemap); habe ich die Cubemap einfach in eine Normale Texturebene reingeladen. Indiesem falls glBindTexture(GL_TEXTURE0,Cubemap); |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |