everyone appears to agree that the specs say opengl samples at the center. and i could see how this could be useful for maybe rendering to a texture where it is only logical that opengl should sample its rasterization targets just like it would in screen space.
but no one thinks about textures this way in reality. and in my experience modeling environments like maya and what have you don’t reflect this fact conceptually.
simply put this gets by because you will never notice if you are not looking at the texture at the subpixel level.
yes this is very much a problem, but it looks like i will just have to learn to live with it.
to see the effects yourself, just setup a heightmap which uses subpixel sampling to fill in vertices between the pixels. your height values will not match opengls colour map for instance using the same texture coordinates… unless you are doing opengl style sampling in your app, which as described is much more convoluted, in the fact that whole numbers never reliably fall on texel edges or centers. this makes mapping to a discrete buffer a pain.
for instance for a 10x10 heightmap, values like 0.1, 0.2, 0.3, 0.4 for the most part would neither fall on edges or centers.
opengl appears to base its mapping on setting 0.0 and 0.1 for identity texture matrix, to the center of the corner pixels… everything inbetween is just a matter of interpolation.
since no one else seems to care. just don’t respond.
this seems like a big deal to me though. and as at least a couple of people have stated. they were not previosly thinking of texel sampling in these terms.
if you don’t care about your filtering being off by a half a texel. then go on your marry way. otherwise you should be thinking about modifying your systems.
if you are using a high resolution displacement map, and a low resolution colour map. this disparity can be ignormous. for instance i’ve worked with a 10000 width height field, and a 512 colour map. the colour map can be off by 100’s of kilometers. oceans can land on hills. its pretty ugly stuff.
there should be an open debate on this rather than a couple staunch actors just saying ‘sit down and shut up’.