diff options
author | Sven Gothel <[email protected]> | 2014-03-04 18:11:06 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-03-04 18:11:06 +0100 |
commit | 8bab15934fe63e44084294e315492420e07a902b (patch) | |
tree | a708a260e95d17eb16b951b36aad9da8991a8098 /make/lib/swt/gtk-linux-x86_64 | |
parent | 7b1a0c17fe5471557ab5e0db0334bed34edb553a (diff) |
Bug 801: Fix VBAA Distortions (VBO-size fractional delta) and AA (Sample fragment position and count)
Inflating the FBO pixel-size of the region using a 'samples count'
multiplier to the projected window bounding box
allows controlling the AA distortion as well as defining the
fragment position due to it's grid-fitting nature, see below.
- Fix VBAA Distortions (FBO-size fractional delta)
Inflated framebuffer exceeds 'box-size * sampleCount'
since it must be the ceiling of the latter due to it's integer number nature.
This difference either must reflect the texture-coords -or- the
texture bounding vertices-box in the 2nd pass, otherwise a distorion will appear
which is quite visible explicit w/ text.
Using texture-coords is not suitable, due to floating point accuracy,
hence this patch extends the texture bounding vertices-box about the ceiling delta.
A comparible distortion existed with the previous implementation as well,
since it used an arbitrary FBO-size and hence the magnification was not grid-fitting.
Current implementation is grid-fitting, or at least matches the non-inflated grid,
since it inflates the original window-size of the region about samples-count.
- AA (Sample fragment position and count)
Using a sample-count w/ a multiple of 2 (currently 2, 4 and 8 are properly implemented),
based on the projected window bounding box will give the 2nd-pass fragment shader (AA)
a fragment-postion in center of the sample pixels exposing one AA pixel.
Hence we need to use the diagonal coords (NW, SW, ..) off by half a pixel
to reach the 1st sample-pixel .. and 1.5 pixels to reach the 2nd .. and so forth.
Diffstat (limited to 'make/lib/swt/gtk-linux-x86_64')
0 files changed, 0 insertions, 0 deletions