Opengl es 如何在opengl es中调用draw时检索纹理状态(texel)?
如何在opengl es中调用draw时检索纹理RGB值 如何获取指向纹理或属于特定纹理的像素的指针Opengl es 如何在opengl es中调用draw时检索纹理状态(texel)?,opengl-es,textures,Opengl Es,Textures,如何在opengl es中调用draw时检索纹理RGB值 如何获取指向纹理或属于特定纹理的像素的指针 glGetTexParameter似乎没有提供检索单个纹理、纹理颜色状态的选项?由于ES不支持glGetTexImage,唯一可能的方法是将纹理一对一地渲染到屏幕上(即通过渲染屏幕大小的纹理四元组)并使用glReadPixels检索屏幕 但我确信您不需要检索纹理图像,因为是您首先设置的(使用glTexImage2D),所以您已经知道该图像(将其保存在某个CPU内存缓冲区中),并且自您设置该图像以
glGetTexParameter似乎没有提供检索单个纹理、纹理颜色状态的选项?由于ES不支持
glGetTexImage
,唯一可能的方法是将纹理一对一地渲染到屏幕上(即通过渲染屏幕大小的纹理四元组)并使用glReadPixels
检索屏幕
但我确信您不需要检索纹理图像,因为是您首先设置的(使用glTexImage2D
),所以您已经知道该图像(将其保存在某个CPU内存缓冲区中),并且自您设置该图像以来,该图像一直没有更改。您也不想检索它,因为这将是一个图像(一大串数据)的GPU-CPU拷贝,成本相当高
请记住,自您自己设置纹理图像以来,纹理图像一直没有更改。如果有,那只是因为你在纹理中渲染了一些东西(通过使用FBO或
glCopyTexImage2D
),在这种情况下,你可以从屏幕上抓取它(或者将它渲染成一个渲染缓冲区而不是纹理)。因为ES不支持glGetTexImage
,唯一可能的方法是将纹理一对一地渲染到屏幕上(即渲染屏幕大小的纹理四边形),然后使用glReadPixels
检索屏幕
但我确信您不需要检索纹理图像,因为是您首先设置的(使用glTexImage2D
),所以您已经知道该图像(将其保存在某个CPU内存缓冲区中),并且自您设置该图像以来,该图像一直没有更改。您也不想检索它,因为这将是一个图像(一大串数据)的GPU-CPU拷贝,成本相当高
请记住,自您自己设置纹理图像以来,纹理图像一直没有更改。如果有,那只是因为你在纹理中渲染了一些东西(通过使用FBO或glCopyTexImage2D
),在这种情况下,你可以从屏幕上抓取它(或将它渲染成一个renderbuffer而不是纹理),无论如何