C 3D光线投射器渲染错误的墙距离

C 3D光线投射器渲染错误的墙距离,c,graphics,3d,raycasting,C,Graphics,3d,Raycasting,我正试图基于本教程()编写一个光线投射器,但它能够使用体素进行三维渲染。但是,它不会产生任何输出。当我查看输出时,side始终为1,sdist.z有时可能为无穷大,pWallDist的数值异常高。我可能在代码中犯了一个错误,但经过多次检查,我无法找到它 代码:请在问题中输入演示问题的最小代码。我不知道问题出在哪里,但在这种情况下,我怀疑您可能会在尝试缩小代码时发现问题。您所说的三维渲染能力是什么意思?类似这样的东西:或者这样:?渲染体素(您的第二个示例)@Russell356您需要调试。。。所以

我正试图基于本教程()编写一个光线投射器,但它能够使用体素进行三维渲染。但是,它不会产生任何输出。当我查看输出时,
side
始终为1,
sdist.z
有时可能为无穷大,
pWallDist
的数值异常高。我可能在代码中犯了一个错误,但经过多次检查,我无法找到它


代码:

请在问题中输入演示问题的最小代码。我不知道问题出在哪里,但在这种情况下,我怀疑您可能会在尝试缩小代码时发现问题。您所说的
三维渲染能力是什么意思?类似这样的东西:或者这样:?渲染体素(您的第二个示例)@Russell356您需要调试。。。所以在某个地方放置一个断点并跟踪您的代码。。。对于单射线,检查其方向,并在每一步查看变量值,直到第一次与预期状态不符为止。。。注意3D体素光线跟踪速度慢(尤其是在CPU SW渲染上),如果您有某种FPS限制器/强制器,则可能只是渲染尚未完成的图像。。。计算一帧甚至需要几秒钟(取决于屏幕和地图的分辨率)。还要检查你是否在看什么东西,而不是面对地图。。。