【发布时间】:2012-07-28 17:58:16
【问题描述】:
我需要一种算法来在不使用 OpenGL 的情况下渲染像素完美三角形。
我在哪里可以得到像 OpenGL 使用的这样的算法?最好是单线程的。
它必须像 OpenGL 那样做,因为 OpenGL 不会在共享边的两个三角形上留下间隙或重叠像素。扫描线方法会出现这些错误:http://joshbeam.com/articles/triangle_rasterization/。我也尝试了这个半空间算法:http://devmaster.net/forums/topic/1145-advanced-rasterization/ 但我无法让它工作(呈现胡言乱语)。
OpenGL 是如何做到的?工作强度太大,我应该忘记它并改用(有问题的)扫描线方法吗?
我在哪里可以得到算法?
我更喜欢 C++ 解决方案,但语言不是问题。
【问题讨论】:
-
OpenGL 是一个规范,它不包含算法。我假设您在谈论 OpenGL 实现?
-
不留空隙并不是任何单一算法所特有的,如果是这样,它只是一个错误。
-
为什么禁止使用 OpenGL?如果是缺乏对硬件的访问权限,则可以通过软件对其进行仿真。
标签: c++ algorithm opengl language-agnostic rendering