gpt4 book ai didi

c++ - 如何在 OpenGl 中动态添加顶点?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:08 25 4
gpt4 key购买 nike

例如,如果我想做这样的事情:

createTriangle(1.0,1.0); // Create triangle at (1,1)

我如何在代码中执行此操作?我很乐意对此进行硬编码,但如果我想动态地执行它,我该如何绑定(bind)和填充缓冲区,然后在显示时绑定(bind)它?我只是将顶点添加到一个大缓冲区吗?但是,我该如何对不同的对象进行不同的转换呢?

编辑:为了澄清,我问的是如何创建顶点,然后将它们插入图形管道。

最佳答案

如果你想做一个游戏,就去做吧:) 解决问题,没有一个,是一个问题!您是否规划了架构,并有在场景中表示对象及其组件(物理、图形)的想法?如果是这样,您可能在代码中有一个地方,您可以在其中初始化场景(所以让我们在那里创建缓冲区),然后让“引擎”对象(或者只是在您拥有 main/render/animate/loop 的地方)绘制所有这些。根据对象以及您拥有的模型/3d/2d 数量,您可以将缓冲区的 ID 存储在对象中(正在绘制,并且在渲染循环中,“引擎”对象绑定(bind)缓冲区),或者只是简单地存储在“引擎”中' 对象。

一切都取决于,你正在制作什么游戏,你面临什么问题,规模有多大(例如,在那种情况下,你可以创建一些更大的对象管理器,包含对象组等。问题是:你是否真的需要这些吗?他们可能会制造更多的错误,并且需要更多的时间来维护代码,毕竟你将不得不重新编写这个模块。)不要制作你不需要的结构。

一条规则可能会指导您:“让事情尽可能简单,但不要更简单”。制作游戏,而不是您想要的架构,只因为 UDK 有一个。

关于c++ - 如何在 OpenGl 中动态添加顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10865872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com