Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OpenGL中将数据上载到多采样纹理_Opengl - Fatal编程技术网

在OpenGL中将数据上载到多采样纹理

在OpenGL中将数据上载到多采样纹理,opengl,Opengl,我想将数据从CPU上传到OpenGL中的多样本2D纹理。对于2D纹理,我可以使用以下功能: void glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); 将数据从像素推送到纹理。如何对多采样2D纹理执行相同的操作?您无法通过Ope

我想将数据从CPU上传到OpenGL中的多样本2D纹理。对于2D纹理,我可以使用以下功能:

void glTexSubImage2D(   GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
const GLvoid * pixels);

将数据从像素推送到纹理。如何对多采样2D纹理执行相同的操作?

您无法通过OpenGL的客户端访问多采样纹理的图像数据。唯一的解决方法是使用着色器和/或FBO

从概念上讲,可以将全屏四边形渲染为多采样纹理,并在片段着色器中,使用
gl_SampleID
确定当前正在写入的采样。结合
gl\u FragCoord
,您可以例如索引到TBO中,该TBO保存您要存储在纹理中的每采样原始值


然而,由于样品位置完全在德国劳埃德船级社的控制之下,因此该操作是否有用值得怀疑。YMMV.

您的数据是否包含每个样本的值?还是仅每像素?它具有每个样本的数据。