之前用包围盒和重心坐标法做过光栅化实现,但是那个方法存在问题,这次要实现一个更高效的光栅化方法.
包围盒的问题
之前使用的包围盒方法确定光栅化范围,但是包围盒确定的范围是矩形,要光栅化的是三角形,那么每次都会有不需要的像素参加运算,一个面当然没啥问题,但是如果是100个面问题就大了.
改进方法
在 <3d游戏编程大师技巧> 中作者使用了三角形扫描线插值的方法,效率不错,实现方法类似下图:
通过计算三角形三条边的方程和每条扫描线的两个交点以确定光栅化x值的范围,然后就能够准确地进行光栅化计算,这样就不用考虑不可能到达的像素了.

本文探讨了使用包围盒进行光栅化的局限性,即由于包围盒生成的矩形区域包含了不必要的像素,导致对于大量三角形的光栅化效率降低。为解决这一问题,作者提出了改进方法,旨在实现更高效的光栅化算法,从而提高图形渲染性能。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



