PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NV Texture Rectangles Texturkoordinaten


Chris Lux
2004-01-14, 09:05:12
ich habe hier ein kleines gedankenproblem, in der NV_texture_rectangle spec steht:
NPOTD textures are accessed by non-normalized texture coordinates.
So instead of thinking of the texture image lying in a [0..1]x[0..1]
range, the NPOTD texture image lies in a [0..w]x[0..h] range.


so.
mir geht es um ein 1:1 mapping eines bildes auf das passende rendertarget (also w,h passend). wenn ich nun die texturkoordinaten angebe für das bildfüllende polygon gebe ich die koordinaten zz mit 0->w und 0->h an wie in der spec. aber das bild hat ja nur w oder h pixel in x- oder y- richtung. müsste es nicht 0->(w-1) bzw. 0->(h-1) sein?

oder kann es sein, dass somit die pixelmitten (wo ja bei openGL gesampelt wird) dann schon den index um 0.5 verschoben haben?

Xmas
2004-01-14, 12:24:44
Stell dir eine 2 Texel breite Textur vor. Die linke Außenkante des linken Texels ist dann bei 0, die rechte Außenkante des rechten Texels bei 2. Die Texelmitten bei 0,5 bzw. 1,5.

Wenn du jetzt diese Textur mit den Koordinaten 0 und 2 auf ein Polygon mappst, dass von rechter Außenkante eines Pixels bis zur linken Außenkante des Nachbarpixels geht, liegen die Pixelmitten genau auf den Texelmitten.

Zu deinem Problem:
- Aktiviere Pointsampling
- ModelView und Projektionsmatrix auf Identity
- Quad rendern mit Koordinaten (-1 -1) -> (1 1)
und Texturkoordinaten (0 0) -> (w h)

Mit den beiden Matrizen als Identitätsmatrix liegen die Koordinaten -1 bzw. 1 genau auf dem Außenrand des Viewports.

Chris Lux
2004-01-14, 15:01:11
ok, hab ich doch alles richtig gedacht. danke