5DG'S OpenGL学习01--简单框架代码
2010-02-24 08:50
260 查看
OpenGL窗口的十个属性:
HINSTANCE hInstance 应用程序实例
const char *ClassName 窗口类名
HWND hWnd 窗口句柄
HDC hDC 设备描述表
HGLRC hRC 绘制描述表
char *Title 窗口标题
int Width 窗口宽度
int Height 窗口高度
int BitsPerPixel 每像素的位数
bool FullScreen 是否全屏
***********************************************
注册窗口类时WNDCLASSEX的style应设为
CS_HREDRAW | CS_VREDRAW | CS_OWNDC
***********************************************
创建窗口CreateWindow
WindowStyle
全屏:WS_OVERLAPPEDWINDOW
窗口:WS_OVERLAPPEDWINDOW | WS_POPUP
WindowExStyle
全屏:WS_EX_APPWINDOW
窗口:WS_EX_APPWINDOW | WS_EX_TOPMOST
***********************************************
像素格式描述符的设置
IXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR), // 像素的尺寸
1, // 版本号
PFD_DRAW_TO_WINDOW | // pfd必须支持窗口绘制
PFD_SUPPORT_OPENGL | // pfd必须支持OpenGL
PFD_DOUBLEBUFFER, // pfd必须支持双缓存
PFD_TYPE_RGBA, // 像素格式为RGBA
BitsPerPixel, // 设置颜色深度
0, 0, 0, 0, 0, 0, // 忽略颜色位数
0, // 无Alpha缓存
0, // 忽略偏移位
0, // 无累积缓存
0, 0, 0, 0, // 忽略累积缓存位
16, // 深度缓存为16位
0, // 无模板缓存
0, // 无辅助缓存
PFD_MAIN_PLANE, // 主要绘制层
0, // 保留位
0, 0, 0 // 忽略层遮罩
};
***********************************************
若全屏须调用ChangeScreenResolution
***********************************************
HINSTANCE hInstance 应用程序实例
const char *ClassName 窗口类名
HWND hWnd 窗口句柄
HDC hDC 设备描述表
HGLRC hRC 绘制描述表
char *Title 窗口标题
int Width 窗口宽度
int Height 窗口高度
int BitsPerPixel 每像素的位数
bool FullScreen 是否全屏
***********************************************
注册窗口类时WNDCLASSEX的style应设为
CS_HREDRAW | CS_VREDRAW | CS_OWNDC
***********************************************
创建窗口CreateWindow
WindowStyle
全屏:WS_OVERLAPPEDWINDOW
窗口:WS_OVERLAPPEDWINDOW | WS_POPUP
WindowExStyle
全屏:WS_EX_APPWINDOW
窗口:WS_EX_APPWINDOW | WS_EX_TOPMOST
***********************************************
像素格式描述符的设置
IXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR), // 像素的尺寸
1, // 版本号
PFD_DRAW_TO_WINDOW | // pfd必须支持窗口绘制
PFD_SUPPORT_OPENGL | // pfd必须支持OpenGL
PFD_DOUBLEBUFFER, // pfd必须支持双缓存
PFD_TYPE_RGBA, // 像素格式为RGBA
BitsPerPixel, // 设置颜色深度
0, 0, 0, 0, 0, 0, // 忽略颜色位数
0, // 无Alpha缓存
0, // 忽略偏移位
0, // 无累积缓存
0, 0, 0, 0, // 忽略累积缓存位
16, // 深度缓存为16位
0, // 无模板缓存
0, // 无辅助缓存
PFD_MAIN_PLANE, // 主要绘制层
0, // 保留位
0, 0, 0 // 忽略层遮罩
};
***********************************************
若全屏须调用ChangeScreenResolution
***********************************************
相关文章推荐
- 深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始
- 爱学习,爱编程,爱咖啡可乐 爱挑战,爱钻研,爱打游戏 爱晚起,也爱工作到深夜 我擅长技术,崇尚简单和懒惰 我神秘而孤僻,沉默而爱憎分明 Don't Panic! I'm a programmer
- duilib学习笔记01:一个简单的Duilib程序的基本框架
- Python学习01——安装&第1个代码
- 从一段代码说开,谈学习<<C++ Propertiest>>之所得,帮助大家学习开发c++代码框架
- Springmvc学习(01)-框架原理 && 入门配置
- 深入浅出学习Struts1框架:一个简单mvc模式代码示例开始
- TensorFlow个人学习(下载安装&简单代码例子)
- 深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始
- C++学习框架 总结(简单步骤)
- 深入浅出学习Struts框架(一):一个简单mvc模式代码示例开始
- 《Orange's 一个操作系统的实现》学习笔记--一个简单的引导扇区
- [教程] 搭建最简单的gui界面框架(the 'hello world' in GUI of Torque)
- POJ 2965 (超简单代码47毫秒AC) The Pilots Brothers' refrigerator
- 深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始
- windows下scrapy框架学习笔记—'scrapy' 不是内部或外部命令
- 『框架设计(第2版)CLR Via C#』学习笔记(002)——将托管代码合并到程序集
- Django框架学习笔记(10.基于ORM实现简单的用户登录)
- 错误代码: 1045 Access denied for user 'skyusers'@'%' (using password: YES)
- Micheal Nielsen's神经网络学习之三:过拟合与规范化