要求:BMP图片实现。。
1.背景图能实现,随窗口大小变化。
2.背景图永远保持静态状态,不随3D的变化而变化。
9 个解决方案
#1
请大牛们速来看看 了。。。。
#2
有同一个问题。。。
#3
请知道的牛人。。帮忙解答下!!!
#4
你直接用glDrawpixels()函数进行绘图不得行了吗?
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0,0,width,height);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glRasterPos2i(0,0);
glPushAttrib(GL_PIXEL_MODE_BIT);
glPixelZoom((GLfloat)width/(GLfloat)image_width,(GLfloat)height/(GLfloat)image_height);
glDrawPixels(image_width,image_height,GL_RGBA,GL_UNSIGNED_BYTE,image_data);
glPopAttrib(GL_PIXEL_MODE_BIT);
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
//do something as you wanna do
#5
glDrawPixels(image_width,image_height,GL_RGBA,GL_UNSIGNED_BYTE,image_data);
这一句怎么都不过,读取的数据是正常的!!
不好意思。。这个没有成功!!能否传一个完整的代码。。
383156647@qq.com
#6
如何实现不失真的图像,图像随着窗口大小而变化,保存不失真的状态。。
#7
牛人来解决下。。。
#8
1、什么叫不失真? 既然图像要随窗口大小变化,就需要拉伸,失真是必然的,除非使用循环贴图。
2、实现步骤大致如下。
(1)、使用bmp创建纹理,mipmap可以解决缩小时的失真问题
(2)、设置正交投影矩阵(透视投影也行,不过要恰好填满窗口比较麻烦)
(3)、绑定相应纹理,绘制一个填满窗口的矩形(纹理可以是拉伸或者循环,需要时根据需求设置参数)
(4)、清空深度缓存
(5)、正常流程,渲染其他对象
2、实现步骤大致如下。
(1)、使用bmp创建纹理,mipmap可以解决缩小时的失真问题
(2)、设置正交投影矩阵(透视投影也行,不过要恰好填满窗口比较麻烦)
(3)、绑定相应纹理,绘制一个填满窗口的矩形(纹理可以是拉伸或者循环,需要时根据需求设置参数)
(4)、清空深度缓存
(5)、正常流程,渲染其他对象
#9
步骤很详细。。慢慢实现看看。。
#1
请大牛们速来看看 了。。。。
#2
有同一个问题。。。
#3
请知道的牛人。。帮忙解答下!!!
#4
你直接用glDrawpixels()函数进行绘图不得行了吗?
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0,0,width,height);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glRasterPos2i(0,0);
glPushAttrib(GL_PIXEL_MODE_BIT);
glPixelZoom((GLfloat)width/(GLfloat)image_width,(GLfloat)height/(GLfloat)image_height);
glDrawPixels(image_width,image_height,GL_RGBA,GL_UNSIGNED_BYTE,image_data);
glPopAttrib(GL_PIXEL_MODE_BIT);
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
//do something as you wanna do
#5
glDrawPixels(image_width,image_height,GL_RGBA,GL_UNSIGNED_BYTE,image_data);
这一句怎么都不过,读取的数据是正常的!!
不好意思。。这个没有成功!!能否传一个完整的代码。。
383156647@qq.com
#6
如何实现不失真的图像,图像随着窗口大小而变化,保存不失真的状态。。
#7
牛人来解决下。。。
#8
1、什么叫不失真? 既然图像要随窗口大小变化,就需要拉伸,失真是必然的,除非使用循环贴图。
2、实现步骤大致如下。
(1)、使用bmp创建纹理,mipmap可以解决缩小时的失真问题
(2)、设置正交投影矩阵(透视投影也行,不过要恰好填满窗口比较麻烦)
(3)、绑定相应纹理,绘制一个填满窗口的矩形(纹理可以是拉伸或者循环,需要时根据需求设置参数)
(4)、清空深度缓存
(5)、正常流程,渲染其他对象
2、实现步骤大致如下。
(1)、使用bmp创建纹理,mipmap可以解决缩小时的失真问题
(2)、设置正交投影矩阵(透视投影也行,不过要恰好填满窗口比较麻烦)
(3)、绑定相应纹理,绘制一个填满窗口的矩形(纹理可以是拉伸或者循环,需要时根据需求设置参数)
(4)、清空深度缓存
(5)、正常流程,渲染其他对象
#9
步骤很详细。。慢慢实现看看。。