gpt4 book ai didi

c++ - GLES 程序资源索引/位置与统一索引/位置

转载 作者:行者123 更新时间:2023-11-28 05:05:02 25 4
gpt4 key购买 nike

在OpenGL ES 3.2中,有如下函数

//for simplify I omit the params
GLuint glGetProgramResourceIndex(...);
void glGetProgramResourceiv(...);
GLint glGetProgramResourceLocation(...);

查询程序中命名资源的索引,检索索引为 index 的单个事件资源的多个属性的值,查询程序中命名资源的位置。

还有如下函数:

void glGetUniformIndices(...);
GLuint glGetUniformBlockIndex(...);
GLint glGetUniformLocation(...);

检索命名统一 block 的索引,检索统一变量的位置。

感谢@Nicol Bolas,我已经通过这个问题知道统一位置和统一索引之间的区别Difference between uniform location and uniform index?

但是program resources index/locationuniform index/location有什么关系?

最佳答案

在较旧的 OpenGL 版本(4.3 之前)中,有几种不同的 API 调用来识别着色器的资源,例如,glGetActiveAttrib 用于属性,glGetActiveUniform* 用于制服或 glGetActiveSubroutine* 用于子例程。

在 OpenGL 4.3 中,通过 ARB_program_interface_query 扩展引入了查询这些资源的统一方式。使用这些命令,您基本上可以完成与上述功能相同的事情(或更多),但不必为每种资源类型使用不同的方法。

This page有关于该主题的更多信息。

关于c++ - GLES 程序资源索引/位置与统一索引/位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45028416/

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