【问题标题】:"Empty" rendering with openGL使用 openGL 进行“空”渲染
【发布时间】:2011-02-27 17:33:36
【问题描述】:

规格:带 openGL 3.3 和 GLSL 1.5 的 Radeon 3870HD

我正在通过计算着色器渲染数据。由于依赖关系,我不得不将所有数据放到统一的纹理中,而没有任何东西可用于属性。唯一改变每个基元的值是索引,我可以从 gl_VertexID 获得这个值。但是我在设置正确的渲染调用时遇到问题,看起来如果没有属性指针设置渲染甚至不会运行,设置指针而不是存储会导致错误(ofc ..)。设置存储不是空渲染;)。有没有办法渲染这个设置?

是的,我忘记了一些重要的事情.. 我渲染:

glDrawArrays(GL_POINTS, 0, elements);

我认为它不运行着色器的原因是因为对已处理图元的查询结果为 0.. 使用数据设置一些虚拟属性指针会导致正确数量的图元...

【问题讨论】:

  • 你试过渲染简单的三角形吗?
  • 呃,你怎么想的?如果您的意思是将渲染调用设置为 GL_TRIANGLES 我现在尝试过,但它也不起作用..

标签: c++ opengl glsl gpgpu


【解决方案1】:

我对 ATI 也有同样的问题。为了绕过它,我使用任何可访问的缓冲区作为每个顶点输入数组 1 字节的虚拟缓冲区(着色器不使用)。

【讨论】:

  • 啊,太好了.. 开始喜欢那些 ATI 卡了我完成了它,但我认为它很可能正如你所说的那样,那个虚拟的一个字节将把所有东西都整理好..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多