没有合适的资源?快使用搜索试试~ 我知道了~
红蓝视点立体显示
5星 · 超过95%的资源 需积分: 11 13 下载量 111 浏览量
2013-11-27
16:52:59
上传
评论
收藏 22KB TXT 举报
温馨提示
试读
16页
vs2012下的红蓝视点立体显示代码,用c++编写,调试成功,可以直接使用。
资源推荐
资源详情
资源评论
// stdafx.cpp : 只包括标准包含文件的源文件
// ConsoleApplication2.pch 将作为预编译头
// stdafx.obj 将包含预编译类型信息
#include "stdafx.h"
// TODO: 在 STDAFX.H 中
// 引用任何所需的附加头文件,而不是在此文件中引用
/////////////////////////////////////////////////////////////////////
//
#pragma comment( lib, "opengl32.lib" )
#pragma comment( lib, "glu32.lib" )
#pragma comment( lib, "GLut32.lib" )
#pragma comment( lib, "GLaux.lib" )
#include <windows.h> // Windows的头文件
#include <stdio.h> // 标准输入/输出库的头文件 (新增)
#include <gl\gl.h> // OpenGL32库的头文件
#include <gl\glu.h> // GLu32库的头文件
#include <gl\glaux.h> // GLaux库的头文件
HGLRC hRC=NULL; // 永久着色描述表
HDC hDC=NULL; // 私有GDI设备描述表
HWND hWnd=NULL; // 保存我们的窗口句柄
HINSTANCE hInstance; // 保存程序的实例
bool keys[256]; // 用于键盘例程的数组
bool active=TRUE; // 窗口的活动标志,缺省为TRUE
bool fullscreen=TRUE; // 全屏标志缺省设定成全屏模式
int FSpeed=6; // 红篮交换帧频的速度,越大越慢
int FrameSpeed=FSpeed;
// ConsoleApplication2.pch 将作为预编译头
// stdafx.obj 将包含预编译类型信息
#include "stdafx.h"
// TODO: 在 STDAFX.H 中
// 引用任何所需的附加头文件,而不是在此文件中引用
/////////////////////////////////////////////////////////////////////
//
#pragma comment( lib, "opengl32.lib" )
#pragma comment( lib, "glu32.lib" )
#pragma comment( lib, "GLut32.lib" )
#pragma comment( lib, "GLaux.lib" )
#include <windows.h> // Windows的头文件
#include <stdio.h> // 标准输入/输出库的头文件 (新增)
#include <gl\gl.h> // OpenGL32库的头文件
#include <gl\glu.h> // GLu32库的头文件
#include <gl\glaux.h> // GLaux库的头文件
HGLRC hRC=NULL; // 永久着色描述表
HDC hDC=NULL; // 私有GDI设备描述表
HWND hWnd=NULL; // 保存我们的窗口句柄
HINSTANCE hInstance; // 保存程序的实例
bool keys[256]; // 用于键盘例程的数组
bool active=TRUE; // 窗口的活动标志,缺省为TRUE
bool fullscreen=TRUE; // 全屏标志缺省设定成全屏模式
int FSpeed=6; // 红篮交换帧频的速度,越大越慢
int FrameSpeed=FSpeed;
float RSpeed=0.1f; // 旋转速度,越大越快
float Rot=0.0f;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // WndProc的定义
GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // 重置并初始化GL窗口大小
{
if (height==0) // 防止被零除
{
height=1; // 将Height设为1
}
glViewport(0,0,width,height); // 重置当前的视口(Viewport)
glMatrixMode(GL_PROJECTION); // 选择投影矩阵
glLoadIdentity(); // 重置投影矩阵
// 计算窗口的外观比例
gluPerspective(90.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW); // 选择模型观察矩阵
glLoadIdentity(); // 重置模型观察矩阵
}
int InitGL(GLvoid) // 此处开始对OpenGL进行所有设置
{
glShadeModel(GL_SMOOTH); // 启用阴影平滑
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // 黑色背景
glClearDepth(1.0f); // 设置深度缓存
glEnable(GL_DEPTH_TEST); // 启用深度测试
float Rot=0.0f;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // WndProc的定义
GLvoid ReSizeGLScene(GLsizei width, GLsizei height) // 重置并初始化GL窗口大小
{
if (height==0) // 防止被零除
{
height=1; // 将Height设为1
}
glViewport(0,0,width,height); // 重置当前的视口(Viewport)
glMatrixMode(GL_PROJECTION); // 选择投影矩阵
glLoadIdentity(); // 重置投影矩阵
// 计算窗口的外观比例
gluPerspective(90.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW); // 选择模型观察矩阵
glLoadIdentity(); // 重置模型观察矩阵
}
int InitGL(GLvoid) // 此处开始对OpenGL进行所有设置
{
glShadeModel(GL_SMOOTH); // 启用阴影平滑
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // 黑色背景
glClearDepth(1.0f); // 设置深度缓存
glEnable(GL_DEPTH_TEST); // 启用深度测试
剩余15页未读,继续阅读
资源评论
- 海北~2014-07-15不错~正在研究代码,值得学习~
crccrc0005
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功