Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
C++ 如何将从backbuffer获取的像素数据绘制回自身?_C++_Opengl Es_Symbian_Texture2d - Fatal编程技术网

C++ 如何将从backbuffer获取的像素数据绘制回自身?

C++ 如何将从backbuffer获取的像素数据绘制回自身?,c++,opengl-es,symbian,texture2d,C++,Opengl Es,Symbian,Texture2d,我正在使用OpenGLES开发Symbian第五版的移动应用程序 这个应用程序是一个相当标准的2D应用程序,我没有使用DepthBuffer 我需要抓取显示器的快照,然后将相同的快照绘制回backbuffer 我使用的是glReadPixels((闪烁)0,(闪烁)0, (闪烁)nWidth-1,(闪烁)nHeight-1, GL_RGB,GL_无符号字节,m_pPixelData) 为了得到我需要的像素数据,但我对OpenGLES还比较陌生,我不知道如何将数据绘制回backbuffer。(在

我正在使用OpenGLES开发Symbian第五版的移动应用程序 这个应用程序是一个相当标准的2D应用程序,我没有使用DepthBuffer

我需要抓取显示器的快照,然后将相同的快照绘制回backbuffer

我使用的是
glReadPixels((闪烁)0,(闪烁)0,
(闪烁)nWidth-1,(闪烁)nHeight-1,
GL_RGB,GL_无符号字节,m_pPixelData)

为了得到我需要的像素数据,但我对OpenGLES还比较陌生,我不知道如何将数据绘制回backbuffer。(在OpenGL中,其易于使用的DrawPixels…)

我读到我应该从数据中生成纹理,所以我做了。 但现在我不知道如何绘制这种纹理

我是否需要将其绘制为矩形元素的纹理?如果是,那么我该如何定义这个rect呢?(坐标对我来说毫无意义.)

显示大小为480x640,下面是我想要用来绘制rect的代码:

    glEnable(GL_TEXTURE_2D);
    //displayTex is my texture built out of the pixel data
    glBindTexture(GL_TEXTURE_2D, m_pESSharedData->displayTex);

    //Bottom
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

    glBegin(GL_QUADS);
    glTexCoord2f(0.0f, 0.0f);
    glVertex3f(-2.5f, -2.5f, 2.5f);
    glTexCoord2f(1.0f, 0.0f);
    glVertex3f(2.5f, -2.5f, 2.5f);
    glTexCoord2f(1.0f, 1.0f);
    glVertex3f(2.5f, -2.5f, -2.5f);
    glTexCoord2f(0.0f, 1.0f);
    glVertex3f(-2.5f, -2.5f, -2.5f);

    glEnd();
请注意,上面的代码是我在学习过程中学习到的,我认为这是我应该做的事情的概要。请随意让我离开这条赛道。:)


谢谢您的时间。

您首先需要确保Series60第5版上的OpenGL ES版本能够处理高度和宽度不是2次方的纹理

我建议你提出这样的问题

无耻插头:


包含一整章解释Symbian OS上OpenGL ES的基础知识。3D代码示例为。

您首先需要确保60系列第5版上的OpenGL ES版本能够处理高度和宽度不是2次方的纹理

我建议你提出这样的问题

无耻插头:


包含一整章解释Symbian OS上OpenGL ES的基础知识。3D代码示例是。

如果您仍在检查您的问题,我将带您浏览。我对您的平台了解不够,无法提供帮助,但我可以用OpenGL帮助您。你对坐标系(如投影、模型视图等)有多熟悉?嘿,GMan和10q为你回答,我读了一些教程,遇到了投影、模型视图等。。所以我知道它的基本原理。你能在OpenGL ES下帮助定义这个矩形/将纹理绑定到它吗?如果你还在检查你的问题,我会带你浏览它。我对您的平台了解不够,无法提供帮助,但我可以用OpenGL帮助您。你对坐标系(如投影、模型视图等)有多熟悉?嘿,GMan和10q为你回答,我读了一些教程,遇到了投影、模型视图等。。所以我知道它的基本原理。在OpenGL ES下,你能帮助定义这个矩形/将纹理绑定到它吗?缺少的链接是宽度/高度为2倍的曲面。谢谢。宽度/高度为2倍的曲面是缺少的链接。谢谢