登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-22 15:15:39 484浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《如何增加光线投射渲染距离?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

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

该原始项目主要基于 lodev 光线投射教程。

这是我第一次创建光线投射引擎,我已经设法让它进入良好的工作状态,除了一个主要问题:渲染距离太短,我想渲染得更远,但我看不到一个明显的参数可以实现这一点。任何建议将不胜感激!

这是一个 YouTube 视频,演示了它以及渲染距离问题,如果您查看远处较大的墙壁何时决定绘制: https://www.youtube.com/watch?v=HqNorhH37xY


解决方案


原来是一个最近被修复的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,因此最近的过滤器不会发生这种情况。

好了,本文到此结束,带大家了解了《如何增加光线投射渲染距离?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>