我已经编写了自己的 3D 游戏引擎(花了我一年的时间),我想创建一个在我的 CPU(不是 GPU !!)上运行的 Raytracer
目前,光线追踪过程被简化如下:
- 为每个输出像素投射一条光线。
- 如果当前光线击中一个物体,将输出像素颜色设置为“白色”
- 否则设置为黑色
为了提高光线追踪器的速度,我为每个实体添加了一个球形边界框。如果当前光线与边界框相交,它将对实体的每个三角形运行相交测试。
我在射线三角形相交和射线点距离上使用最快的方法,但仍然每条射线都必须测试每个可能相交的实体的每个三角形。
结果,我用大约 10000 个多边形渲染一个对象 (1920x1080) 需要超过 5 分钟,我认为这不是我想要的。
有什么方法可以减少我需要检查的三角形数量吗?
问候,芬恩