gpt4 book ai didi

c++ - 绑定(bind)到 VAO 后,我可以 glDeleteBuffer 一个 VBO 和 IBO 吗?

转载 作者:行者123 更新时间:2023-12-04 12:31:03 25 4
gpt4 key购买 nike

我读到 VBO(顶点缓冲区对象)本质上保留一个引用计数,因此如果将 VBO 的名称指定给 glDeleteBuffers(),如果一个活的VAO(顶点数组对象)仍然引用它。这种行为类似于“智能指针”,越来越多的新语言被采用。但是这在多大程度上是正确的并且可以围绕它进行设计,以及它是否也适用于 IBO(索引缓冲区对象),我还没有找到任何相关信息。

如果 VBO 由引用它的 VAO 保持事件状态,并且我不打算更新它或在 VAO 死亡后使用它,我认为最好的做法是销毁我对它的引用。这样做合适吗?我可以对 IBO 做同样的事情吗?

最佳答案

对象可以附加到其他对象。只要一个对象附加到另一个对象,附加的对象实际上不会通过调用 glDelete* 销毁。只有在它未附加或它所附加的对象也被销毁后,它才会被销毁。

这真的不是什么值得担心的事情。如果您 glDelete* 一个对象,您不应该再次直接使用该名称。

关于c++ - 绑定(bind)到 VAO 后,我可以 glDeleteBuffer 一个 VBO 和 IBO 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69088830/

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