Я использую текстуру объекта буфера так:Как я могу написать объект текстурного буфера?
glGenBuffers(1, &tbo);
glBindBuffer(GL_TEXTURE_BUFFER, tbo);
glBufferData(GL_TEXTURE_BUFFER, maxSize*sizeof(float), faceNormals.data(), GL_STATIC_DRAW);
glGenTextures(1, &tbo_tex);
glBindBuffer(GL_TEXTURE_BUFFER, 0);
и я могу прочитать его в моем вычислительном шейдере с помощью texelFetch (u_tbo_tex, индекс), но как я могу изменить это значение?
спасибо! luiz
Зачем беспокоиться об этом в первую очередь? Если вы используете вычислительный шейдер, вместо этого используйте 'imageLoad' и' imageStore'. Это в значительной степени единственный способ, которым вы собираетесь писать текстуру из вычислительного шейдера. Вы должны будете учитывать согласованность памяти, если вы это сделаете, но в любом случае вы должны иметь дело с какой-то точкой в вычислительных шейдерах. –