【问题标题】:TransformFeedback binding multiple output buffersTransformFeedback 绑定多个输出缓冲区
【发布时间】:2017-02-20 07:12:33
【问题描述】:

我正在使用 GL 的 TransformFeedback 功能。是否可以绑定多个输出缓冲区而不是单个缓冲区?假设我有两个输出变量:

out vec4 out0;
out vec4 out1;

我已经为它们生成了两个缓冲区对象:

glGenBuffers(1, &id0);
glGenBuffers(1, &id1);

如何将id0 绑定到out0id1out1

我已经尝试过glBindBuffersBaseglBindBufferRange,但似乎两者都没有。

【问题讨论】:

  • 您使用的是桌面 OpenGL 还是 OpenGL ES?
  • 我正在使用桌面。有什么不同吗?

标签: opengl glsl gpgpu transform-feedback


【解决方案1】:

GL_SEPARATE_ATTRIBS 用作bufferModebufferMode 参数,每个输出将获得一个缓冲区绑定点。但是,请注意,转换反馈缓冲区的数量是最大的,因此如果您想同时捕获大量输出,这并不总是有效。

完成此操作后,您需要为每个变换反馈位置绑定一个缓冲区 GL_TRANSFORM_FEEDBACK_BUFFER

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多