Lightmap mit OpenGL
-
Hallo, ich kombiniere mit OpenGL mithilfe von MultiTexture eine Textur mit einer Graustufen Lightmap mit GL_MODULATE. Nun möchte ich gern die Lightmap mit einer bestimmten Intensität von 0 bis 1 mit der Textur mischen, geht das?
Also ums anders zu formulieren: Sagen wir ich habe eine Lampe, und diese Lampe kann gedimmt werden, dann muss ja auch die zugehörige Lightmap gedimmt werden. Wenn ja, wie geht das?
-
Da gibts mehrere Möglichkeiten. Das einfachste ist es vermutlich per Fragmentshader die Daten aufzuhellen/abzudunkeln.
-
Ja, daran dachte ich auch, aber das ist glaube ich auch die langsamste Möglichkeit... Und meine Graphikkarte geht bei shadern recht schnell in die Knie, deswegen hoffte ich auf ne andere, bessere Möglichkeit, am besten mit den Multi-Texture Funktionen
-
je nach graphikkarten hersteller gibt es andere moeglichkeiten, bei nvidia sind es register combiner.
aber pixelshader sind wohl das schnellste und einfachste.
-
-Foo- schrieb:
Ja, daran dachte ich auch, aber das ist glaube ich auch die langsamste Möglichkeit...
Das glaube ich wiederum nicht. Es sei denn du hast einen uralten Chip, der rein gar nichts mit Shadern anfangen kann. Register-Combiner wurden ja schon erwähnt, außerdem kannst du auch einen Pixelpuffer anlegen und die Daten selbst manipulieren.
-
Also meine GeForce5 geht bei Pixelshadern recht schnell in die Knie... Naja ich werd mal schauen, da wird sich schon was finden...
-
-Foo- schrieb:
Also meine GeForce5 geht bei Pixelshadern recht schnell in die Knie... Naja ich werd mal schauen, da wird sich schon was finden...
Geforce5 kannste bei sowas knicken ... eine moderne Graka wäre mal angebracht für dich ...
-
Ja, aber dann muss ich auch den Rest neu kaufen, und dann wirds teuer und als armer Student hab ich natürlich kein Geld. Außerdem reicht die GeForce 5 ja um meinen Desktop anzuzeigen und Videos anzuzeigen, und da ich kein Gamer bin, brauch ich normalerweise auch nicht viel mehr Power
-
Nun möchte ich gern die Lightmap mit einer bestimmten Intensität von 0 bis 1 mit der Textur mischen, geht das?
einfach die Vertexfarbe dazumultiplizieren?
-
shader und "multitexture funktionen" sind bei einer geforce5 fuer simple dinge genau das selbe (sprich Shadermodel 1).
du wirst keinen performanceunterschied feststellen/haben.