64位系统运行nehe opengl

问题描述

64位系统运行nehe opengl

我按照网上下载的nehe sdk进行配置以后,运行以后不出现opengl的窗口。
但使用网上另外一段opengl代码就运行成功了,不知道是不是因为64位系统的问题,用的是systemwow64文件夹存放dll。

解决方案

#include "opengl.h"
#include "view.h"
using namespace NeHe;
// the view class
static View view;

static GLfloat rtri; // Angle For The Triangle

static GLfloat rquad; // Angle For The Quad

void DrawScene(OpenGL *gl,ControlData *cont)
{

view.Reset();

view.Translate(-1.5f,0.0f,-6.0f); // Move Left 1.5 Units And Into The Screen 6.0

view.Rotate(rtri,0.0f,1.0f,0.0f); // Rotate The Triangle On The Y axis

glBegin(GL_TRIANGLES);        // Start Drawing A Triangle
glColor3f(1.0f,0.0f,0.0f);      // Red
glVertex3f( 0.0f, 1.0f, 0.0f);     // Top Of Triangle (Front)
glColor3f(0.0f,1.0f,0.0f);      // Green
glVertex3f(-1.0f,-1.0f, 1.0f);     // Left Of Triangle (Front)
glColor3f(0.0f,0.0f,1.0f);      // Blue
glVertex3f( 1.0f,-1.0f, 1.0f);     // Right Of Triangle (Front)
glColor3f(1.0f,0.0f,0.0f);      // Red
glVertex3f( 0.0f, 1.0f, 0.0f);     // Top Of Triangle (Right)
glColor3f(0.0f,0.0f,1.0f);      // Blue
glVertex3f( 1.0f,-1.0f, 1.0f);     // Left Of Triangle (Right)
glColor3f(0.0f,1.0f,0.0f);      // Green
glVertex3f( 1.0f,-1.0f, -1.0f);     // Right Of Triangle (Right)
glColor3f(1.0f,0.0f,0.0f);      // Red
glVertex3f( 0.0f, 1.0f, 0.0f);     // Top Of Triangle (Back)
glColor3f(0.0f,1.0f,0.0f);      // Green
glVertex3f( 1.0f,-1.0f, -1.0f);     // Left Of Triangle (Back)
glColor3f(0.0f,0.0f,1.0f);      // Blue
glVertex3f(-1.0f,-1.0f, -1.0f);     // Right Of Triangle (Back)
glColor3f(1.0f,0.0f,0.0f);      // Red
glVertex3f( 0.0f, 1.0f, 0.0f);     // Top Of Triangle (Left)
glColor3f(0.0f,0.0f,1.0f);      // Blue
glVertex3f(-1.0f,-1.0f,-1.0f);          // Left Of Triangle (Left)
glColor3f(0.0f, 1.0f, 0.0f);      // Green
glVertex3f(-1.0f,-1.0f, 1.0f);      // Right Of Triangle (Left)
glEnd();                      // Done Drawing The Pyramid 

view.Reset();          // Reset The Current Modelview Matrix
view.Translate(1.5f,0.0f,-7.0f);     // Move Right 1.5 Units And Into The Screen 7.0
view.Rotate(rquad,1.0f,1.0f,1.0f);          // Rotate The Quad On The X axis
glBegin(GL_QUADS);       // Draw A Quad
glColor3f(0.0f,1.0f,0.0f);      // Set The Color To Blue
glVertex3f( 1.0f, 1.0f,-1.0f);     // Top Right Of The Quad (Top)
glVertex3f(-1.0f, 1.0f,-1.0f);     // Top Left Of The Quad (Top)
glVertex3f(-1.0f, 1.0f, 1.0f);     // Bottom Left Of The Quad (Top)
glVertex3f( 1.0f, 1.0f, 1.0f);     // Bottom Right Of The Quad (Top)
glColor3f(1.0f,0.5f,0.0f);      // Set The Color To Orange
glVertex3f( 1.0f,-1.0f, 1.0f);     // Top Right Of The Quad (Bottom)
glVertex3f(-1.0f,-1.0f, 1.0f);     // Top Left Of The Quad (Bottom)
glVertex3f(-1.0f,-1.0f,-1.0f);     // Bottom Left Of The Quad (Bottom)
glVertex3f( 1.0f,-1.0f,-1.0f);     // Bottom Right Of The Quad (Bottom)
glColor3f(1.0f,0.0f,0.0f);      // Set The Color To Red
glVertex3f( 1.0f, 1.0f, 1.0f);     // Top Right Of The Quad (Front)
glVertex3f(-1.0f, 1.0f, 1.0f);     // Top Left Of The Quad (Front)
glVertex3f(-1.0f,-1.0f, 1.0f);     // Bottom Left Of The Quad (Front)
glVertex3f( 1.0f,-1.0f, 1.0f);     // Bottom Right Of The Quad (Front)
glColor3f(1.0f,1.0f,0.0f);      // Set The Color To Yellow
glVertex3f( 1.0f,-1.0f,-1.0f);     // Top Right Of The Quad (Back)
glVertex3f(-1.0f,-1.0f,-1.0f);     // Top Left Of The Quad (Back)
glVertex3f(-1.0f, 1.0f,-1.0f);     // Bottom Left Of The Quad (Back)
glVertex3f( 1.0f, 1.0f,-1.0f);     // Bottom Right Of The Quad (Back)
glColor3f(0.0f,0.0f,1.0f);      // Set The Color To Blue
glVertex3f(-1.0f, 1.0f, 1.0f);     // Top Right Of The Quad (Left)
glVertex3f(-1.0f, 1.0f,-1.0f);     // Top Left Of The Quad (Left)
glVertex3f(-1.0f,-1.0f,-1.0f);     // Bottom Left Of The Quad (Left)
glVertex3f(-1.0f,-1.0f, 1.0f);     // Bottom Right Of The Quad (Left)
glColor3f(1.0f,0.0f,1.0f);      // Set The Color To Violet
glVertex3f( 1.0f, 1.0f,-1.0f);     // Top Right Of The Quad (Right)
glVertex3f( 1.0f, 1.0f, 1.0f);     // Top Left Of The Quad (Right)
glVertex3f( 1.0f,-1.0f, 1.0f);     // Bottom Left Of The Quad (Right)
glVertex3f( 1.0f,-1.0f,-1.0f);      // Bottom Right Of The Quad (Right)
glEnd();                  // Done Drawing The Quad   

rtri+=0.2f;        // Increase The Rotation Variable For The Triangle ( NEW )
rquad-=0.15f;              // Decrease The Rotation Variable For The Quad ( NEW )

}
这是网上给的nehe opengl代码,运行不能显示窗口。

解决方案二:

直接对比两段代码不同之处

时间: 2024-11-03 09:58:55

64位系统运行nehe opengl的相关文章

十万火急 关于32位com组件在64位系统运行的问题

问题描述 十万火急 关于32位com组件在64位系统运行的问题 我用com组件实现的类似于WinRAR右键菜单的功能 编译了一个32位的版本,在64位的机器上,注册完了,右键菜单没效果 同样的代码编译成64位的版本,在64位的机器上,注册完了,可以看到预期的效果 现在的问题是:不编译成64位的版本,直接用32位的版本,在64位系统中运行.(领导是这么要求的) 有什么方法可以解决32位的com在64位系统中运行(能显示右键菜单) 用的VS2012编译器 C++语言 解决方案 这么做没有什么意义吧?

谁有64位系统运行32位天正建筑2013补丁

问题描述 谁有64位系统运行32位天正建筑2013补丁 解决方案 解决方案二: 解决方案三: 解决方案四: 解决方案五: 解决方案六: 解决方案七:http://download.csdn.net/detail/zhl0123321/6557089这里有,但是很恶心,要注册,还有赚积分.

关于32位系统和64位系统运行asp。net程序的兼容性问题。

问题描述 我现在做了一个asp.net网站,用的C#.vs2008开发环境,操作系统是windowsserver2008x32.数据库:oracle10g.运行一切正常.现在客户换了一台服务器,装windowsserver2008X64版本.不知道我的这个网站部署到64位的系统是有问题没有.如果有兼容问题,该怎么解决. 解决方案 解决方案二:如果程序是纯.NET写的,完全没有问题.如果程序使用了32bit的dll或者activex组件,那么需要把程序集编译成32bit.解决方案三:网页中有一个f

ubuntu14.04 64位系统运行xampp错误解决办法

这前一直使用ubuntu12.04 64位,在运行php集成环境xampp时会出现以下信息,说不支持32位应用程序 1 zzs@ubuntu:~$ sudo /opt/lampp/lampp startapache [sudo] password for zzs: XAMPP is currently only availably as 32 bit application. Please use a 32 bit compatibility library for your system. 解

Win7 64位系统运行eccmd -info命令时报错“Failed to retrieve product license information”

Win7 64位系统安装完ExpressCache后运行eccmd -info命令时报错"Failed to retrieve product license information",如下:   解决方案: 方法一:重启电脑看问题是否解决   方法二:在服务中查看ExpressCache服务是否开启,如果没有开启,开启此服务.如果已经开启,先关闭此服务,然后再开启此服务,查看问题是否解决.   方法三:卸载ExpressCache,将16G或24G固态调整为未分配状态,重启电脑,然后

汇编-win7 64位系统怎么运行masm.exe

问题描述 win7 64位系统怎么运行masm.exe 请问怎么才能在win7 64位系统的dos下运行masm?我下载了dosbox也不能将写好的汇编源程序编译 解决方案 在win7 64位下安装一个vmware,里面安装一个windows xp或者windows 98,在里面写你的汇编程序. 或者,你可以用masm32,一个打包好的开发工具集. 主要的问题是,win 7 64bit不再支持16位的任何程序的运行了. 解决方案二: WIN7系统64位下使用MASM的说明

64位系统下用vs2012 编译qt程序,请问怎么编译出在32位系统可以运行的程序

问题描述 64位系统下用vs2012 编译qt程序,请问怎么编译出在32位系统可以运行的程序 我现在想把写好的qt程序打包,但是在32位系统上跑不起来, 然后我编译时把平台改为win32,又提示无法编译,编译失败, 请问在64位windows系统怎么编译出可以在32位系统运行的程序 解决方案 需要在编译设置里面修改一些条件编译的参数. 解决方案二: 需要设置编译选项 或直接运行32位的gcc编译系统

vs13 c#64位系统下编的程序无法在32位系统运行

问题描述 vs2013c#64位系统下编的程序无法在32位系统运行..我修改目标平台X86也不行修改配置管理里面X86也不行求大神教... 解决方案 解决方案二如果你是WEB程序的话那么修改IIS的的应用程序池的高级设置把启用32位应用程序修改为True解决方案三不能运行有很多可能未必和x64有关.报什么错误.解决方案四引用2楼caozhy的回复: 不能运行有很多可能未必和x64有关.报什么错误. winform窗体程序.报错未将对象引用设置到对象的实例但是其他人都没问题啊就32位会这样解决方案

网卡驱动安装方法 Windows 7 64位系统

Windows 7 64位系统,网卡驱动问题一直很让人头疼,小七也看到很多同学问过类似的问题,其实解决办法很简单,只要用管理员模式安装,问题就迎刃而解. 具体问题如下: 系统装的是64位的WINDOWS 7家庭高级版,开机一切正常,开始的时候能上网,过了一段时间重启机器突然就上不了网了,去设备管理器看网络适配器一切正常,然后用系统自检说本地连接适配器驱动程序可能出现问题,从主板(华硕P7P55D)原装驱动盘里再次安装,还是不行.又从华硕的网站下64位的驱动,装完还是不行是什么问题呢? 解决办法: