"Texture Clamp to Edge", Frage zu weiteren Eigenschaften
-
Hallo,
ich OpenGL beispiel Weise kann man mittels:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
dafür sorgen, dass die Pixel auf einem Dreieck am Rand nicht über die Texture hinausgehen können. Sehr praktisch also für SkyBoxes und auch Lightmaps.
Jetzt habe ich aber das Problem, dass ich für jedes Dreieck nur einen kleinen Teil auf einer gesammten Lightmap-Textur reserviert habe. Die Dreiecke holen sich dann, mittels Texture-Koordinaten, den richtigen Teil heraus. Dadurch passiert aber leider, dass am Rand der Dreiecke, trotz der obigen Textur Eigenschaften, auch Pixel außerhalb des reservierten Platzen zu sehen sind, weil diese im flüssigen Modus mit denen am Rand flüssig in einander übergehen.
Meine Frage ist also: wie kann man das "Clampen" der Texturen für die Dreiecke auch dann verhindern, wenn die Dreiecke sich die Texturen inerhalb einer großen Texture herausschneiden?Ich hoffe ihr versteht was ich meine, das lässt sich hier schlecht erklären, so ganz ohne etwas zeigen zu können.
Danke schon mal im Vorraus
-
Wegen bilinearem Filter laesst es sich nicht vermeiden, Texel ausserhalb des tatsaechlichen Polygons zu samplen.
In der Praxis berechnet man die Lightmap darum immer etwas ueber das Polygon hinaus.