|
|
各位高手麻烦看一下 谢谢
我现在在做一个图形的东西
我想用OPENGL的前后缓存来提高效率
我现在先在后缓存中画上一幅图象,这个图象实际超出窗口的大小,相当于 实际视窗的大小只是我在后缓存中所画图象的1/9,类似于将一个图象分成相等的9块,而窗口的大小只是这个图象的中间那一小块.
glViewport( 0,0,fWidth,fHeight );
glMatrixMode( GL_PROJECTION );
glLoadIdentity( );
gluOrtho2D(-3*fWidth/2, 3*fWidth/2, -3*fHeight/2, 3*fHeight/2 );
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
glClear (GL_DEPTH_BUFFER_BIT);
glDrawBuffer(GL_BACK);
glClear(GL_COLOR_BUFFER_BIT);
.......(画图代码)
glFinish();
接着,我想在前缓存中拷贝后缓存中图象的任意一块(不是交换缓存,由于具体的细节要求,这里我需要不断地拷贝后缓存中图象中每个小部分的图象)
但现在的问题是
由于我将整个图象(9倍于窗口的图象)整个放在后缓存 当我拷贝到前缓存的时候 它会自动缩小9倍 实际上我想要的是某一块的原始大小 但我用GLPIXELZOOM放大后 由于是象素放大 效果很差 故想请问高手 如何解决
|
|