我的openGL程序运行在全屏和桌面之间切换的时候画图中的四根柱子不见了,是不是全屏之后MAP_SIZE改变了,导致显示不出来啊

pengdengfei 2011-08-11 11:16:22
MAP_SIZE在前文定义为200,首先绘制地面,之后在4个边角添加了4个柱子.全屏转换之后柱子不见了,转换到桌面还是不显示,不过在运行程序时候开始选择全屏模式就会显示柱子,这是什么原因啊?
//画场景
GLvoid DrawGLScene()
{
glBegin(GL_QUADS); //地面 ,加入纹理坐标
glTexCoord2f(0.0f,0.0f); glVertex3f(-MAP_SIZE, 0.0f, -MAP_SIZE);
glTexCoord2f(1.0f,0.0f); glVertex3f(MAP_SIZE, 0.0f, -MAP_SIZE);
glTexCoord2f(1.0f,1.0f); glVertex3f(MAP_SIZE, 0.0f, MAP_SIZE);
glTexCoord2f(0.0f,1.0f); glVertex3f(-MAP_SIZE, 0.0F, MAP_SIZE);
glEnd();



//画四根柱子,作为边界标志(天边)
glPushMatrix() ;
glTranslatef(MAP_SIZE,59,MAP_SIZE);
//auxSolidSphere(0.2);
auxSolidCylinder(1.0f,60);
glTranslatef(-MAP_SIZE*2,0.0,0.0F);
auxSolidCylinder(1.0f,60);
glTranslatef(0.0f,0.0f,-MAP_SIZE*2);
auxSolidCylinder(1.0,60.0);
glTranslatef(2*MAP_SIZE,0.0f,0.0);
auxSolidCylinder(1.0f,60.0f);
glPopMatrix();
}
后面的是全屏桌面控制键的demo:
SwapBuffers(hDC); // 双缓冲

if(KEY_DOWN(VK_F1))
//if (keys[VK_F1]) // Is F1 Being Pressed?
{
keys[VK_F1]=FALSE; // If So Make Key FALSE
KillGLWindow(); // Kill Our Current Window
fullscreen=!fullscreen; // Toggle Fullscreen / Windowed Mode
// Recreate Our OpenGL Window
if (!CreateGLWindow("viewing system",800,600,32,fullscreen))
{
return 0 // Quit If Window Was Not Created
}
}
...全文
72 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
OpenGL编3D游戏(含全部源程序)讲述3D游戏的编写方法。 《学OpenGL编3D游戏》重在游戏的实现方案。全书以一个完整(基本)的3D游戏为主线,采用循序渐进的方法,从建立OpenGL图形环境入手,讲解3D基本图形、构图原理;从引入摄像机,建立天空、山地、树木,到3D模型使用和3D动画模型的显示。用鱼骨方式讲解相关知识技术,完整地展示了3D游戏的编写过程。● 特点 重在游戏的基本实现方法 搭建一个基本功能的游戏环境 最新的外部功能模块的使用● 提供《学OpenGL编3D游戏》的教学演示课件 《学OpenGL编3D游戏》的教学课件。用多媒体的表现手法将学习过程完全显示在你面前,使用者可以随时查看所选章节的知识要点提示,可以观看程序的制作过程和效果,也可以马上进入到VC编辑器对范例程序修修改改,在实践加深对知识的理解;还可以进入到网上论坛和朋友们讨论学习心得。● 内容提要第1 章 OpenGL的程序框架__Windows、OpenGL程序框架的建立。第2 章 OpenGL的基本图形__在OpenGL图形界面上作一些简单的图形。第3 章 OpenGL的组合图形__用简单图形来构成两个复杂一点的3D模型。第4 章 摄像漫游__________有了摄像机你就可以在OpenGL场景自由地漫游了。第5 章 开天辟地__________在OpenGL场景有了天空、大地、景物。第6 章 OpenGL显示文字__介绍了OpenGL文字的几种显示方式。第7 章 特殊的平面_树_____栽些树种些草,让这个OpenGL世界充满生机。第8 章 显示3D模型________在OpenGL场景显示3DS格式的模型。第9 章 使用MD2动画模型___OpenGL场景出现了活生生的人(3D动画模型)。第10 章 使用MDL动画模型__介绍一种更先进的动画模型—3D骨骼动画。第11章 射击、爆炸________逼真的爆炸效果,是用程序仿真爆炸的物理过程。第12章 碰撞检测__________加入碰撞检测后,游戏才有真实的感觉。第13章 游戏进度保存______场景(或进度)保存和调入是游戏必不可少的。

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧