[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] Centroid sampling makes conformance tests fail?

The OpenGL specification does not define nor does it make guarantees about the way that results are rasterized. The details and implementation of the rasterizer is entirely up to the vendor of the driver and hardware.

There are a variety of situations in which different results in the rasterized output will occur:
- centroid vs. non centroid sampling
- observing or ignoring texture2D bias arguments (which the driver is free to do)
- the heuristic used to come up with the derivatives (usually by evaluating 2x2 patches from top/left to bottom/right, but this is just one of several possible ways)
- the algorithm that performs anti-aliasing (supersampling, multisampling, other more excotic methods)
- the presence or absence of driver override settings in regards to anti-aliasing, anisotropic filtering, mipmapping, tone-mapping etc.
- the precision, implementation and bit-widths of the numerical circuitry, GPUs are not bound to do that by any IEEE standard for graphics applications, and may implement any variety of floating or fixed point schemes they deem appropriate
- I'm sure there are about two or three dozen I don't know about.

I think that writing pixel-precise and color-precise tests with zero tolerances is not a good idea.