gpt4 book ai didi

c++ - OpenGL 在已经绑定(bind)时绑定(bind)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:46 29 4
gpt4 key购买 nike

我正在用 OpenGL 3.2+ 编写一个引擎。可渲染对象有一个网格(也称为 VAO)和一些 Material (也称为着色器和程序)。所有可渲染对象都存储在渲染队列中,该队列以需要最少 OpenGL 绑定(bind)调用的方式对 Material 和网格的渲染过程进行排序。

但是,有时它会绑定(bind)已经绑定(bind)的对象,我的问题是:OpenGL 会自动检测您何时尝试绑定(bind)已经绑定(bind)的对象并跳过所有昂贵的操作,还是您必须执行一个检测对象是否已被绑定(bind)的系统?

如果 OpenGL 没有检测到这一点,是通过 glGet* 获取对象名称并与您尝试绑定(bind)的对象进行比较,还是自己跟踪当前绑定(bind)的对象可能更快?

最佳答案

我认为规范不需要执行此类检查,但每个主要实现都需要。但是,如果您决定自己做——为什么不自己存储值呢? glGet 对这里没有特别的兴趣。顺便说一句, Material 和着色器不是一回事。

关于c++ - OpenGL 在已经绑定(bind)时绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12559561/

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