OpenGLFeedback初次尝试时可能遇到的一些问题
feedback很好用, 这样就相当于可以调试GPU中的数据了,
比如某某矩阵乘了, 但是结果不太对,
问题大概有2种:
——本来要输出给Feedback的数据, 被片元或者其他着色器先接收走了
——绑定的Feedback缓存的内存大小比GetBufferSubData的内存小
————(即使是小1一个字节,
————也是输出都为0.0,
————可能是OpenGL在GetBufferData时会先进行内存大小的判断)
————
————
先是正常情况的( 需要注意的地方主要是数据类型vec3 vec4 , 其他都是些天天会写的东西, 所以大概的 略过 的看看)
————着色器内交换
————输出向Feedback
————与输出向片元着色器
————的位置
正常情况(1)异常情况(2) 本来打算输出给FeedBack的数据 被片元着色器先接收了
情况(3) 初始时
情况(3) 修改后 注释掉片元着色器的内容后Feedback又正常接收数据了接下去是另外几个情况
情况(1) feedback缓存大小比GetBufferData的内存小
情况(2) feedback缓存大小比GetBufferData的内存大, 可以大但不可以小
(具体的比如把GetBuffer的大小也写成别的什么的有兴趣的可以自己试, 这种东西弄不出什么特别效果的, 只会存在比如写错了代码)
Feedback常用的用法是初始化为GL_ARRAY_BUFFER, 比如红宝书里的那个粒子碰撞的双缓存的例子————
随便加了个透视矩阵
————
暂时也没有什么更深入的例子可以拿出来举例
过段时间应该有空, 应该会写一个比较有一点点意思的东西分享