Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphics 程序天穹_Graphics_Procedural Generation - Fatal编程技术网

Graphics 程序天穹

Graphics 程序天穹,graphics,procedural-generation,Graphics,Procedural Generation,有人知道如何或在哪里可以找到有关如何进行程序性skydome的信息吗?欢迎提供任何帮助。请参阅GameDev。也有C++中的一些示例代码。 < P>天空穹顶只是一个围绕整个水平绘制的球体。只需绘制一个球体,确保背面消隐处于禁用状态,正面消隐处于启用状态(因为您位于球体内部) 要按程序生成球体很简单,我通常的方法是从硬编码的二十面体开始,细分面,直到达到所需的细节。gamedev上有一个关于生成球体的线程: 我不确定这是否真的回答了你的问题,看到你对另一个答案的回答让我觉得对什么是天穹有些困惑。

有人知道如何或在哪里可以找到有关如何进行程序性skydome的信息吗?欢迎提供任何帮助。

请参阅GameDev。也有C++中的一些示例代码。

< P>天空穹顶只是一个围绕整个水平绘制的球体。只需绘制一个球体,确保背面消隐处于禁用状态,正面消隐处于启用状态(因为您位于球体内部)

要按程序生成球体很简单,我通常的方法是从硬编码的二十面体开始,细分面,直到达到所需的细节。gamedev上有一个关于生成球体的线程:


我不确定这是否真的回答了你的问题,看到你对另一个答案的回答让我觉得对什么是天穹有些困惑。重申一下,它只是一个球体,重要的一点是你在上面绘制的纹理。

我不认为他们在讨论我的问题。我希望按程序生成skydome网格,而不是更改应用的纹理,也不是自动计算它(尽管我将来可能会这样做,所以这是一本有趣的读物,谢谢)。为什么要更改网格?天穹的全部意义是任意远离。因此,几乎从定义上讲,网格并不重要:您可以选择一组简单、固定的多边形(例如,一个巨大的长方体),然后使用纹理绘制skydome。如果这不是你所说的“程序性skydome”,那你是什么意思?呃,让我纠正一下我自己:网格可以是球体的形状(这就是为什么它是圆顶的原因),但通常你会使用巨型长方体形状的纹理。这些纹理决定了天空在任何特定点的颜色——因此,当你询问有关“程序skydome”的信息时,我们假设你想用某种程序着色器替换这些纹理。我不确定如何称呼它,如果这个问题让人困惑,我很抱歉。我想要的是按程序创建一个球体;我知道什么是天穹。我还将做一些程序着色器来应用于skydome,但我会在之后做,我或多或少已经弄清楚了。我仍然是计算机图形学的新手,有很多东西需要阅读和学习,如果我的问题让人困惑的话,我很抱歉。