glFrambufferTexture动态颜色附件
glFrambufferTexture dynamic color attachment
我试图获得以下代码块
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture1, 0);
使用动态颜色附件,例如:GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2等)
问题是'gl_color_attachment'是'glenum'的一种类型,所以下面的代码不能工作。
std::string temp = "GL_COLOR_ATTACHMENT" + std::to_string(nrComp);
颜色附件枚举是顺序的,因此您可以将nrComp
添加到GL_COLOR_ATTACHMENT0
的int值并强制转换:
glenum temp = static_cast<glenum>(static_cast<int>(GL_COLOR_ATTACHMENT0)+nrComp);
否则,您可以创建一个附件数组和索引:
glenum[] attachments = {GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2,...};
glenum temp = attachments[nrComp];
显然
GLenum temp = GL_COLOR_ATTACHMENT0 + nrComp;
可以工作,因为GLenum只是一个unsigned int,因此可以添加它们。如果他们(在将来)把它变成不连续的
相关文章:
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- C++中的动态铸造故障
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 内联映射初始化的动态atexit析构函数崩溃
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 控制允许动态运行c++的并发操作数
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 输出没有重复元素的动态数组(收缩数组)C++
- 如何在内核C++中使用1920x1080x16M图形或类似的16M颜色?(VGA)
- 如何在24位SDL_Surface上设置像素的颜色
- C++为线程工作动态地分割例程
- 正在插入动态数组
- 在c++中使用动态分配的问题
- C++中的动态对象与非动态对象
- 如何在动态数组上使用搜索函数
- glFrambufferTexture动态颜色附件
- 使用 Libtcod,如何控制台>打印具有动态颜色量的字符串?