程序几何生成
我最近一直在研究OS X的SceneKit,并注意到有几种工厂方法可以创建几何形状,例如: 框,胶囊,锥,圆柱,平面,金字塔,球体,圆环和管。 我有兴趣在我的渲染器中添加这样的原始形状,但是我一直在努力寻找任何合理的来源,从中我可以收集对程序生成的理解。有许多资源详细介绍了该理论,但是缺少适当的源代码来对其进行备份。 SceneKit提供了工厂方法,该方法允许动态设置此类形状的属性。对于Box,可以为每个面应分为的宽度,高度和深度段数提供整数值。 我了解理论,但缺乏知识来开始细分几何面以实现所需的效果。 每个形状的顶点很可能很容易在简单的循环中生成。让我感到困扰的是,我知道如何创建这些面,或者是为每个面创建适当的纹理坐标。可以按每张面孔计算法线,因此我很自信可以实现自己想要的目标,只是知道从哪里开始。 谁能提供有关程序几何的任何详细信息?我真正需要的是一些源代码来收集一些信息。我在教程中搜索了很多内容,但到目前为止,只提出了一些合理的站点或博客。任何优秀的书籍,教程,博客或研究论文将不胜感激。 根据评论进行编辑 我应该澄清的是,我知道如何为基本形状创建顶点,其中大多数可能可以通过简单的循环来实现。我不理解的是如何从生成的顶点数组创建面。如何从看似无序的顶点阵列中创建一个或多个三角形带? 我假设一旦超过了这一点,就可以从每张脸创建法线。尽管我还没有深入研究,但是我已经看到了很多对此的参考,并且确信它很容易实现。 理想情况下,我希望能够从一组给定的属性(例如SceneKit提供的方式)生成几何。鉴于SceneKit已经做到了,并且您可以在Blender和Maya等中做类似的事情,我想我不是在尝试实现不可能的事情。 最后一个方面是应用纹理。再说一次,这不是我实现的,但是已经阅读并了解了需求。 这里的主要问题是我知道我想要实现什么,但是正在努力解释如何为上述原语实现。我希望能够通过源代码找到一些相似的知识,但是到目前为止,我确实还没有遇到任何合适的东西。