Procedural generation最近(由孢子、MMOs等)进入了聚光灯下,它似乎是一种有趣的/强大的编程技术。
我的问题是:
你知道有没有中型项目使用过程化生成techniques?
发布于 2008-10-01 08:50:37
您可能应该从一些理论和简单的示例开始,比如midpoint displacement algorithm。如果您对生成图形感兴趣,还应该学习一些关于Perlin Noise的知识。我利用这一点开始了我最后一年的过程生成项目。
Fractals与过程性生成密切相关。
Terragen和SpeedTree将向您展示过程生成的一些惊人的可能性。
过程生成是一种可以在任何语言中使用的技术(它绝对不限于C等过程语言,因为它可以在Java等面向对象语言和Prolog等逻辑语言中使用)。对任何语言中的递归都有很好的理解,这会加强你对过程生成的理解。
对于“严肃”或非游戏代码,过程化生成技术已用于:
在电影和建筑presentations中使用
发布于 2009-07-02 21:27:41
发布于 2013-08-21 21:29:05
程序内容生成现在都是为GPU编写的,所以你需要知道一种着色器语言。这意味着GLSL或HLSL。这些语言分别与OpenGL和DirectX捆绑在一起。
虽然我个人更喜欢Dx11 / HLSL,但由于速度快、学习曲线更容易和Frank D Luna,OpenGL在更多的平台上都得到了支持。
如果希望直接开始编写着色器,而不必花费设置OpenGL / DirectX游戏引擎所需的(相当多)时间,还应该查看WebGL。
程序内容以噪音开头。
因此,您需要了解Perlin noise (及其后继者Simplex noise)。
Shadertoy是学习着色器编程的绝佳参考。我建议你一旦自己给了着色器编码,就来看看它,因为那里的代码不是针对数学上不稳定的,但这就是程序内容是如何完成的。
Shadertoy是由程序天才Inigo Quilez创建的,它是在Pixar工作的演示场景的产品。他有实时编码会话的some youtube videos (great example),我也可以推荐这些。
https://stackoverflow.com/questions/155069
复制相似问题