opengl 纹理 球-opengl在mfc中载入一副BMP文件作为纹理,编译链接都通过了但运行时就提示停止工作

问题描述

opengl在mfc中载入一副BMP文件作为纹理,编译链接都通过了但运行时就提示停止工作
HBITMAP hBMP;//定义BMP头BITMAP  BMP;//BMP结构体//byte  Texture[]={IDB_BITMAP3};byte  Texture[]={IDB_BITMAP4};glGenTextures(sizeof(Texture) &texture[0]);// Generate 6 Textures (sizeof(Texture)=6 ID's)for(int loop=0;loop<sizeof(Texture); loop++)// Loop Through All The ID's (Bitmap Images){    hBMP=(HBITMAP)LoadImage(GetModuleHandle(NULL)MAKEINTRESOURCE(Texture[loop])IMAGE_BITMAP00LR_CREATEDIBSECTION);    if (hBMP)                                               // Does The Bitmap Exist?    {                                                       // If So...        GetObject(hBMPsizeof(BMP) &BMP);//                    // Get The Object        // hBMP: Handle To Graphics Object        // sizeof(BMP): Size Of Buffer For Object Information        // Buffer For Object Information        glPixelStorei(GL_UNPACK_ALIGNMENT4);// Pixel Storage Mode (Word Alignment / 4 Bytes)        glBindTexture(GL_TEXTURE_2D texture[loop]);// Bind Our Texture        glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR); // Linear Filtering        glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR_MIPMAP_LINEAR); // Mipmap Linear Filtering        // Generate Mipmapped Texture (3 Bytes Width Height And Data From The BMP)        gluBuild2DMipmaps(GL_TEXTURE_2D3BMP.bmWidthBMP.bmHeightGL_BGR_EXTGL_UNSIGNED_BYTEBMP.bmBits);        DeleteObject(hBMP);// Delete The Bitmap Object    }}glClearColor(0.0f0.0f0.0f1.0f);//清除背景颜色glEnable(GL_TEXTURE_2D);//启用纹理模式glEnable(GL_DEPTH_TEST);//启动深度测试glMatrixMode(GL_PROJECTION);//投影glLoadIdentity();
时间: 2024-08-29 02:34:43

opengl 纹理 球-opengl在mfc中载入一副BMP文件作为纹理,编译链接都通过了但运行时就提示停止工作的相关文章

三维-怎么把opengl的显示功能添加到MFC中的某一个模块。

问题描述 怎么把opengl的显示功能添加到MFC中的某一个模块. 做了一个MFC的界面,然后想在界面中的右下角显示一个三维点云,这个三维点云目前 能用opengl编的程序单独显示出来,但是现在希望把它放到MFC中,求问需要看什么资料或者有什么思路.谢谢!! 解决方案 http://blog.sina.com.cn/s/blog_6ccd0a1101012dy4.html

位图显示-MFC中OnPaint函数显示BMP图片的问题

问题描述 MFC中OnPaint函数显示BMP图片的问题 为什么我在MFC对话框中,在OnPaint函数中加入以下代码,BMP图像不能显示啊~~· BITMAP bm; CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); CDC memdc; CDC dc; memdc.CreateCompatibleDC(&dc);/ bmp.GetBitmap(&bm); CBitmap *bmpold=memdc.SelectObject(&bmp);/ dc

Eclpise3.3中使用JadClipse对class文件的反编译

1.下载最新版本的JadClipse ,将jad功能放到eclipse上的插件 http://jadclipse.sourceforge.net/wiki/index.php/Main_Page 2.在你的eclipse目录建立一个/links/jadclipse/eclipse/plugins 就这样建立一个目录,将刚才下载的jar放在这个目录里面 3.在你的eclipse目录/links/建立一个文件,名字叫 jadClipse.txt,内容如下 JadClipse.txt path=./l

asp.net 中显示文件夹下的文件,并有链接地址的例子

using System; using System.Configuration; using System.Data.SqlClient; using System.IO; using System.Web;       protected void Page_Load(object sender, EventArgs e)     {         display_files("/j1", "*.asp");  //"all" 代表全部类型

多线程编程之二——MFC中的多线程开发

五.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等.用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等.但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务. 在MFC中,一般用全局函数Afx

多线程编程之二 ---MFC中的多线程开发

下载源代码 五.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等.用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等.但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务. 在MFC中,一般用全

opengl 纹理 球-用opengl纹理实现地球仪 问题

问题描述 用opengl纹理实现地球仪 问题 纹理已经正确加载,但是在没用纹理矩阵时纹理根本动不了.如果用glMatrixMode(GL_TEXTURE) 转动很奇怪,而且感觉纹理没很好的铺满球体.求正确方法我的显示代码: glMatrixMode(GL_MODELVIEW); glPushMatrix(); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glBindTexture(GL_TEXTURE_2D,texture1); glEna

c++-向opengl中加载一个3ds文件的问题........

问题描述 向opengl中加载一个3ds文件的问题........ 我在网上找了好多有关的资料和代码,几乎都是win32的程序.我没学过windows编程,理解起来好费劲啊!我学习opengl只有几天的时间,估计连个新手也算不上,不知道那位能给提供一个能运行的控制台的代码.... 对于3ds里面的文件结构我基本上了解了一些,我主要想看看加载的代码该如何写呢? 谢谢..

运行问题-opengl第五版超级宝典中Cubemapped.cpp例子中显示错误

问题描述 opengl第五版超级宝典中Cubemapped.cpp例子中显示错误 运行时ERROR: 运行时状态(不是正常结果): 望大虾指点迷津,很是感谢! 解决方案 http://www.pudn.com/downloads659/sourcecode/windows/opengl/detail2675664.html 解决方案二: OpenGL超级宝典(第五版)环境配置OpenGL超级宝典(第五版) 环境配置OpenGL超级宝典(第五版) 环境配置