首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何进行批处理渲染?

如何进行批处理渲染?
EN

Stack Overflow用户
提问于 2020-02-04 17:05:57
回答 1查看 127关注 0票数 1

我有4-5个目标。我为他们每个人画了几个三角形。

代码语言:javascript
复制
while !window.should_close() {
    for target in targets.iter() {
        // Update uniform (target.color_value [red, blue, green, yellow] )
        // BindVertexArray
        // DrawElements
    }
}

一切正常,我的三角形以不同的颜色绘制在屏幕上。

我可以有一个绑定一次并运行一次绘图命令的buffer吗?就像这样

代码语言:javascript
复制
while !window.should_close() {
    for target in targets.iter() {
        // Update uniform (target.color_value [red, blue, green, yellow] )
    }
    // BindVertexArray
    // DrawElements
}

我试过了,但正如我所料,所有的东西都是黄色的。

我找到了How to draw multiple objects by using uniform buffer objects and instanced rendering?以及glMultiDrawArraysIndirectglDrawArraysInstanced

我对如何组织我的代码感到困惑。

EN

回答 1

Stack Overflow用户

发布于 2020-02-05 08:30:30

每次绘制调用只能为所有顶点指定一个统一的值。

可以为每个顶点提供具有颜色值的附加属性。它的工作方式与为三角形顶点提供坐标属性的方式相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60053894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档