如何增加光线投射渲染距离?

时间:2019-04-04 01:31:07

标签: go raycasting

要学习Golang并乐在其中,我尝试将现有的raycaster项目从C#转换为Go:https://github.com/harbdog/raycaster-go

该原始项目主要基于lodev raycasting tutorial

这是我第一次创建raycaster引擎,除一个主要问题外,我设法使其处于良好的工作状态:渲染距离太短,我想进行更远的渲染,但是我看不到一个显而易见的参数将允许这样做。任何建议将不胜感激!

这是一个youtube视频,演示了它和渲染距离问题,如果您看一看距离较大的墙何时决定插入: https://www.youtube.com/watch?v=HqNorhH37xY

1 个答案:

答案 0 :(得分:0)

原来是bug in the Ebiten 2D rendering engine,最近已修复!更新到最新版本的Ebiten可以解决此问题。

go get -u github.com/hajimehoshi/ebiten/...

要点是,较早版本的Ebiten不会渲染Y比例小于0.25的1像素宽度的图像,根据Ebiten开发人员的说法,问题是:

  

好的,所以原因是使用线性滤波器选择了mipmap:如果几何矩阵的行列式很小,则使用mipmap,但在您的情况下,mipmap级别太高,图像宽度变为0。最近的过滤器不会发生这种情况,因为在这种情况下不使用mipmap。