Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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 es 是否可以在嵌入式平台上直接访问OpenGL ES 2.0纹理内存?_Opengl Es_Gpgpu_Omap - Fatal编程技术网

Opengl es 是否可以在嵌入式平台上直接访问OpenGL ES 2.0纹理内存?

Opengl es 是否可以在嵌入式平台上直接访问OpenGL ES 2.0纹理内存?,opengl-es,gpgpu,omap,Opengl Es,Gpgpu,Omap,我正在基于OMAP 3530的平台上编写一些GP-GPU代码,但由于openGL ES 2.0中缺少GLGETEXIMAGE函数,我遇到了麻烦。由于该平台为GPU使用集成内存,我想知道是否有什么方法可以让指针直接指向内存中分配的纹理。这样我就可以读回我的数据,而不必通过帧缓冲区,帧缓冲区会丢弃大量数据。据我所知,没有办法做到您所描述的。最接近和最有效的方法是渲染到FBO,这种方法可以将纹理绑定为颜色缓冲区,并使用glReadPixels恢复像素。由于glReadPixels api,这仍然需要读

我正在基于OMAP 3530的平台上编写一些GP-GPU代码,但由于openGL ES 2.0中缺少GLGETEXIMAGE函数,我遇到了麻烦。由于该平台为GPU使用集成内存,我想知道是否有什么方法可以让指针直接指向内存中分配的纹理。这样我就可以读回我的数据,而不必通过帧缓冲区,帧缓冲区会丢弃大量数据。

据我所知,没有办法做到您所描述的。最接近和最有效的方法是渲染到FBO,这种方法可以将纹理绑定为颜色缓冲区,并使用glReadPixels恢复像素。由于glReadPixels api,这仍然需要读取帧缓冲区。与其他方法相比,使用FBO有一些优点:

  • 可以在同一个EGLContext中创建和使用多个FBO(例如,如果要使用PBuffer,则不需要上下文切换)
  • 您可以跨FBO共享颜色(和深度/模具)缓冲区
  • 可以直接将纹理附着到FBO,而无需执行复制操作