0

是否有可能以某种方式自动继续构建现有网格?如何做到这一点?
举个例子吧。我有一个长方体,我想在运行时有一个更大的长方体。长方体也有一些纹理,长方体的新部分应该有新的纹理。我认为对于这个问题,缩放是不够的,因为纹理。如何在运行时向长方体添加纹理?

您能否建议我一些教程/框架以及解决此问题的任何帮助?


编辑:根据@datenwolf 回答:
我想我可以通过更多时间重复使用相同的网格来扩展长方体的形状。
你知道如何在运行时纹理化一些东西吗?


Edit2:
所以,一个更具体的问题:我想建一所房子,一个简单的长方体房子,只有一层。一段时间后,我想添加另一个楼层。我认为这是一项容易的任务,但我以前从未处理过这类问题。

4

1 回答 1

3

OpenGL 不是场景图。它只是一个绘图 API。屏幕上的可见内容没有内部表示。在绘制完某些东西之后,OpenGL 唯一剩下的就是帧缓冲区的内容。

你想要改变一些东西,你清除帧缓冲区并在完成调整后重绘你的场景。


关于 Quation EDIT 2: 我只能重申我的第一个陈述:OpenGL 不是场景图,即您不能用它“构建”场景。您拥有的是几何数据(顶点)和采样数据(图像/纹理)。

然后你有一个绘图函数,它告诉 OpenGL 从几何数据中制作三角形、线条或点,并用从照明计算、纯色和纹理采样数据中得出的值填充生成的片段(=像素)。

在 OpenGL 中不会发生对场景的更改!通过更改提供给 OpenGL 的几何数据以及这意味着不同的绘图操作来更改场景

就像我已经说过的那样,您不会使用 OpenGL“构建”您的场景/几何图形。为此,您可以使用 Blender、Maya、3DS Max、Cinema 4D 或类似的 3D 建模程序,将模型以渲染程序可以访问的格式存储到某个数据存储(文件、Web 资源、数据库条目等)。更改的模型存储在不同的存储位置,同时加载并表示您绘制新模型的更改。

构建几何的另一种方法是使用构造(实体)几何 (CSG) 系统,您可以使用该系统从基本构建块(平面、球体、圆锥体、闭合曲面片)和逻辑运算(联合、差异、交叉、排除)构建场景. 然而 OpenGL 不是一个几何处理库。

OpenGL 为您提供的是绘图工具:画布(=帧缓冲区)、模板、剪刀、拼贴图像(纹理)、“形状”(=基元,即点、线、三角形)和“智能画笔”(着色器)。有趣的是,通过使用具有多次传递的模板缓冲区,可以对实体进行屏幕空间、基于图像的逻辑操作。但这实际上只是基于图像的效果,不会处理几何本身。

于 2011-09-22T06:56:42.107 回答