首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何开始过程化生成?

如何开始过程化生成?
EN

Stack Overflow用户
提问于 2008-09-30 20:59:27
回答 9查看 156.3K关注 0票数 152

Procedural generation最近(由孢子、MMOs等)进入了聚光灯下,它似乎是一种有趣的/强大的编程技术。

我的问题是:

你知道有没有中型项目使用过程化生成techniques?

  • What语言/语言类最适合过程化generation?

  • Can你使用过程化生成来处理“
  • ”代码?(例如,不是游戏)
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2008-10-01 08:50:37

您可能应该从一些理论和简单的示例开始,比如midpoint displacement algorithm。如果您对生成图形感兴趣,还应该学习一些关于Perlin Noise的知识。我利用这一点开始了我最后一年的过程生成项目。

Fractals与过程性生成密切相关。

TerragenSpeedTree将向您展示过程生成的一些惊人的可能性。

过程生成是一种可以在任何语言中使用的技术(它绝对不限于C等过程语言,因为它可以在Java等面向对象语言和Prolog等逻辑语言中使用)。对任何语言中的递归都有很好的理解,这会加强你对过程生成的理解。

对于“严肃”或非游戏代码,过程化生成技术已用于:

在电影和建筑presentations中使用

  • 模拟城市的增长以便规划交通管理
  • 用于模拟血液的增长
票数 122
EN

Stack Overflow用户

发布于 2009-07-02 21:27:41

过程性内容生成维基:

http://pcg.wikidot.com/

如果你想要的东西不在上面,那就添加它;)

票数 50
EN

Stack Overflow用户

发布于 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),我也可以推荐这些。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/155069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档