【发布时间】:2012-04-11 13:08:27
【问题描述】:
我想画一个很薄的物体,它因为锯齿而消失了。当然可以理解。但我想确定这个对象在我的屏幕上。至少 1 像素宽。
瘦对象不是简单的 OpenGL 线条,它是一个实际的 3D 对象。有没有办法将此对象投影到屏幕上或使其始终可见,而不管混叠问题如何? (见图)
我正在使用 Unity3D,但也可以使用简单的 OpenGL 函数。
【问题讨论】:
-
也许你应该在渲染对象之前计算它的投影边界框,如果小于给定值,则渲染一个简单的像素大小的正方形。
-
或者,计算对象中心的屏幕空间位置并渲染一个指向它的大红色箭头作为覆盖:-)。
-
您是否正在寻找一种通用解决方案,该解决方案将使各种对象至少在一个像素内可见,或者更具体地说,例如,该特定对象(始终与地面平行)可见?无论如何,您可以手动绘制线条(或正方形或其他任何东西,就像 Nicolas 建议的那样),或者可以先将您的对象渲染为纹理并在其上运行一些过滤器? (这将找到丢失的像素并填充它们。)
标签: c# opengl graphics 3d unity3d