自定义3D渲染

时间:2014-02-02 18:03:33

标签: java 3d zbuffer

所以我最近一直在互联网上孜孜不倦地刺激并且遇到了一些有趣的游戏。基本示例是Minecraft4k。它是几年前为Java4k竞赛而制作的,但我真正感兴趣的是渲染是如何完成的。每年有很多这样的游戏,但我真的找不到创作者如何合成3D世界,更不用说最少的代码了。

本来可以实现的基础是多边形填充,z排序和某种“雾”,以防止绘制过多的景观(可选,真的)。我已经阅读了扫描线填充算法,并有一个工作示例,但我不知道如何使任何形式的z缓冲工作。所以问题是,有没有人有这种自定义3D渲染工作的经验?如果是这样,您可以指向我的任何提示/指针/资源?

我知道这是一个浅薄且可能不充分的问题,但我想我会在这里试试。提前谢谢!

1 个答案:

答案 0 :(得分:0)

Wikipedia是一个很好的起点(尽管发布链接对我来说不好)并解释了不同的技术。

我开发了一个用于点的3D软件渲染器(有史以来最简单的3D渲染器;))和z缓冲包括根据Z坐标对渲染元素的数组进行排序,而Z坐标依赖于您正在使用的投影,正交,等距等(见another Wikipedia article about projections)。在最简单的投影中,您只需在绘制对象时忽略Z坐标,但在旋转期间将其考虑在内(因为它对X和Y有影响)。