资源简介
基于Windows SDK下的API实现OpenGL框架程序,实现XYZ轴平移、XYZ旋转操作,可以按快捷键操作,也可以点击窗口中按钮控制。有下拉式菜单与右键菜单。按下鼠标左键能控制旋转,也可以设置自动旋转。总之,这个框架已经完成了对物体的大部分控制功能,是一个比较完整的框架。
代码片段和文件信息
#include
#include
#include
#define ID_TIMER 1 // 自动旋转时钟
GLfloat rotateStep = 30.0f;
GLfloat moveStep = 0.50f;
GLfloat xRotSpeed; // 设置在X方向的旋转的速度定义
GLfloat yRotSpeed; // 设置在Y方向的旋转的速度定义
GLfloat zRotSpeed; // 设置在Z方向的旋转的速度定义
GLfloat xPosition; // X方向的位置定义
GLfloat yPosition; // Y方向的位置定义
GLfloat zPosition; // Z方向的位置定义
GLboolean keys[256]; // 用于键盘例程的数组
static GLboolean mouseFlag = FALSE;
GLvoid Init();
GLvoid ChangeSize(GLsizei GLsizei);
GLvoid Draw3D();
GLuint KeyPress();
GLuint MainWndMenu();
GLvoid CALLBACK timerProc(HWNDUINTUINTDWORD);
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM); // 窗体过程函数声明
int commandBtns(HWND);
HINSTANCE hInstance; // 系统实例句柄
HWND hWndMain; // 主窗体句柄
HMENU hPopup;
HWND hWnd; // 窗体句柄变量定义
HDC hDC; // 设备描述表变量定义
PIXELFORMATDEscriptOR pfd; // 像素格式结构变量定义
HGLRC hGLRC; // OpenGL渲染描述表变量定义
HMENU hMenuMain; // 主窗体菜单句柄
HMENU hMenuWindow;
#define WINDOW_MENU_POS 1000
#define IDM_CTRL 2001
#define IDM_AUTO 2002
#define IDM_STOP 2003
#define IDM_BLACK 2004
#define IDM_GRAY 2005
#define IDM_GRAY2 2006
#define IDM_WHITE 2007
HWND hLabel;
HWND hCmdBtns;
#define IDC_frame 10000 // 框架控件唯一标识
#define IDC_RotateX1 10001 // 按钮控件唯一标识
#define IDC_RotateX2 10002 // 按钮控件唯一标识
#define IDC_RotateY1 10003 // 按钮控件唯一标识
#define IDC_RotateY2 10004 // 按钮控件唯一标识
#define IDC_RotateZ1 10005 // 按钮控件唯一标识
#define IDC_RotateZ2 10006 // 按钮控件唯一标识
#define IDC_TranslateX1 10011 // 按钮控件唯一标识
#define IDC_TranslateX2 10012 // 按钮控件唯一标识
#define IDC_TranslateY1 10013 // 按钮控件唯一标识
#define IDC_TranslateY2 10014 // 按钮控件唯一标识
#define IDC_TranslateZ1 10015 // 按钮控件唯一标识
#define IDC_TranslateZ2 10016 // 按钮控件唯一标识
//********************************************************************
//* 打开OpenGL事件定义 *
//********************************************************************
//
GLuint Open(HWND phWnd)
{
hWnd = phWnd;
hDC = GetDC(hWnd);
pfd.nSize = sizeof(PIXELFORMATDEscriptOR); // 格式描述符的大小
pfd.nVersion = 1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 56781 2018-04-01 20:32 WinGUI+OpenGL\ButtonControl.exe
文件 22955 2018-04-03 08:44 WinGUI+OpenGL\WinGUI+OpenGL.c
文件 5917530 2018-04-01 20:49 WinGUI+OpenGL\WinGUI+OpenGL.gif
目录 0 2018-04-03 08:50 WinGUI+OpenGL
----------- --------- ---------- ----- ----
5997266 4
相关资源
- intel i211网卡刷i210
- OMNET++IDE_P2P网络仿真的安装步骤(Wi
- OPenGL实现的虚拟校园环境漫游系统
- Directx9 SDK
- QEMU for windows+安装说明
- 基于TI官方SDK创建全新CC2640R2F工程并实
- OpenGL函数与范例解析手册(中文)带
- windows下编译好的Zint库
- Windows和office2016正式版激活绿色版.r
- ipscan Windows版32位
- Windows内核安全与驱动开发 随书代码
- libx264动态库
- 百度定位demo,能显示经纬度和具体地
- OpenNI-Windows-x86-2.1.0.msi
- Qt Creator中的3D绘图及动画教程(参照
- Windows Server 2008 R2搭建Radius服务器做
- OpenGL依赖库
- ESP8266 SDK入门指南
- 免费双机热备软件 windows平台 64位
- Alphamelts-windows
- 用VC和opengl开发的模仿cs的小游戏
- 二维/三维图形的几何变换基于OpenGL
- 西南科大windows网络程序设计考试复习
- 网口相机连接Demo
- Windows安装包Redis-x64-3.2.100.msi
- HANVONSDK20141119.rar
- 无需SDK环境简易安装WP7软件的方法和
- sdk-3.0.0.17-190625.rar
- PCI配置寄存器读写Winows驱动及测试用
- Qt下 用OpenGL 实现的模拟太阳系
评论
共有 条评论