[Algorithms] 2D in a 3D world
Brought to you by:
vexxed72
From: Jason H. <jh...@st...> - 2010-08-07 21:39:14
|
I've been trying to resolve an issue where full screen textures being drawn through the 3D system appear blurry. I feel like I'm probably not considering something. Any ideas would be welcome! - I'm using an orthographic projection matrix along Z, a view matrix that is pretty much identity except for some negations on various axes to correct for LH/RH differences in the engine. - The quad is mapped to the full screen both for vertex positions and UVs (0,0,1) to (1,1,1), since the ortho matrix is 0..1, not in screen pixels. - The texture has the exactly the same number of pixels in both directions as the back buffer. - Back buffer and window match resolution exactly. - Resolution is 1024x600 (but problem exists in other resolutions) - Texture sampling is bilinear or anisotropic (shouldn't matter). Both show the problem. Sometimes my 2D stuff needs to cleanly scale, so I can't force point sampling globally. Texture matrix is disabled. Steps I've taken to debug: - I made a simple texture with regions that are alternating white and black columns and rows that are 1, 2, and 4 pixels wide, so I could see what was happening with texture sampling. The result is an even gray in the 1-pixel wide areas, but can be made brighter and darker depending on the offset I put into the matrices. Half-pixel adjustment didn't fix it. I never get white or black lines. - I checked to make sure that the test image wasn't being munged by the texture processing tools and it's perfectly clean (no GIGO). I can understand not getting perfect rasterization vertically due to the height being a non-power-of-two, but I expected columns to be cleanly mapped. What else should I be looking for? Most appreciated, JH Jason Hughes President Steel Penny Games Austin, TX |