OpenGL渲染一个像素

时间:2013-12-10 19:51:15

标签: c# opengl rendering pixel opentk

(我意识到这个问题也被问到here,但是没有答案对我有用,所以我再次要求我得到一个有效的解决方案)

我正在使用OpenGL渲染一种数据查看界面,我需要像素完美渲染,否则它看起来很丑陋。

问题在于某些图形驱动程序OpenGL渲染了1个像素,在我的情况下是一个左边。做一个(0.375,0.375)的翻译修复了它的原语,但它真的很难模糊纹理,不幸的是,这是不可接受的。如何在不模糊纹理的情况下检测和/或修复偏移的像素?

1 个答案:

答案 0 :(得分:2)

当数学方程与该像素内的菱形相交时,线/点会遮挡一个片段。当整个像素位于多边形内部时,多边形会遮挡片段。您的修复是可以的,因为没有线/点精确地落在2个像素的边界上并且偏移刚好足以使多边形不在像素边界上振荡。

对于纹理模糊,您可以使用NEAREST过滤器,也可以使用相同的值负面偏移多边形。