Opengl es 如何在opengl es中调用draw时检索纹理状态(texel)?

Opengl es 如何在opengl es中调用draw时检索纹理状态(texel)?,opengl-es,textures,Opengl Es,Textures,如何在opengl es中调用draw时检索纹理RGB值 如何获取指向纹理或属于特定纹理的像素的指针 glGetTexParameter似乎没有提供检索单个纹理、纹理颜色状态的选项?由于ES不支持glGetTexImage,唯一可能的方法是将纹理一对一地渲染到屏幕上(即通过渲染屏幕大小的纹理四元组)并使用glReadPixels检索屏幕 但我确信您不需要检索纹理图像,因为是您首先设置的(使用glTexImage2D),所以您已经知道该图像(将其保存在某个CPU内存缓冲区中),并且自您设置该图像以

如何在opengl es中调用draw时检索纹理RGB值

如何获取指向纹理或属于特定纹理的像素的指针


glGetTexParameter似乎没有提供检索单个纹理、纹理颜色状态的选项?

由于ES不支持
glGetTexImage
,唯一可能的方法是将纹理一对一地渲染到屏幕上(即通过渲染屏幕大小的纹理四元组)并使用
glReadPixels
检索屏幕

但我确信您不需要检索纹理图像,因为是您首先设置的(使用
glTexImage2D
),所以您已经知道该图像(将其保存在某个CPU内存缓冲区中),并且自您设置该图像以来,该图像一直没有更改。您也不想检索它,因为这将是一个图像(一大串数据)的GPU-CPU拷贝,成本相当高


请记住,自您自己设置纹理图像以来,纹理图像一直没有更改。如果有,那只是因为你在纹理中渲染了一些东西(通过使用FBO或
glCopyTexImage2D
),在这种情况下,你可以从屏幕上抓取它(或者将它渲染成一个渲染缓冲区而不是纹理)。

因为ES不支持
glGetTexImage
,唯一可能的方法是将纹理一对一地渲染到屏幕上(即渲染屏幕大小的纹理四边形),然后使用
glReadPixels
检索屏幕

但我确信您不需要检索纹理图像,因为是您首先设置的(使用
glTexImage2D
),所以您已经知道该图像(将其保存在某个CPU内存缓冲区中),并且自您设置该图像以来,该图像一直没有更改。您也不想检索它,因为这将是一个图像(一大串数据)的GPU-CPU拷贝,成本相当高

请记住,自您自己设置纹理图像以来,纹理图像一直没有更改。如果有,那只是因为你在纹理中渲染了一些东西(通过使用FBO或
glCopyTexImage2D
),在这种情况下,你可以从屏幕上抓取它(或将它渲染成一个renderbuffer而不是纹理),无论如何