社区
图形处理/算法
帖子详情
OPENGL在MFC中定义数组如何初始化
gongxin90
2009-11-21 11:26:45
GLFLOAT的定义数组如何在MFC的VIEW中实现初始化?
...全文
171
2
打赏
收藏
OPENGL在MFC中定义数组如何初始化
GLFLOAT的定义数组如何在MFC的VIEW中实现初始化?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuerenxr
2009-11-22
打赏
举报
回复
1、处理 PreCreateWindow(),设置 OpenGL 绘图窗口的风格:
在图形绘制前,必须指定OpenGL绘图窗口的风格,以便绘制的图形能够正确地显示,这部分代码放在PreCreateWindow()中。
cs.style |= WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CS_OWNDC;
2、初始化OpenGL场景,创建 OpenGL 的绘图设备。
OpenGL 绘图的机制是: 先用 OpenGL 的渲染上下文 Rendering Context (简称为 RC )把图画好,再把所绘结果通过 SwapBuffer() 函数传给Window 的 绘图上下文 Device Context (简记为 DC).要注意的是,程序运行过程中,可以有多个 DC,但只能有一个 RC。因此当一个 DC 画完图后,要立即释放 RC,以便其它的 DC 也使用。
在InitializeOpenGL函数中:
m_pDC = pDC;
SetupPixelFormat(); //设定绘图的位图格式
m_hRC = ::wglCreateContext(m_pDC->GetSafeHdc());//创建RC
::wglMakeCurrent(m_pDC->GetSafeHdc(), m_hRC); //RC与当前DC关联
3、设定像素格式
像素格式定义显示设备的若干特性,比如颜色位平面的数量和组织方式(RGB模式还是索引模式),是否采用双缓存模式等,OpenGL和GDI(Windows的图形设备接口)的像素格式不同,而Windows应用程序中缺省的设置是GDI像素格式,所以需要为执行OpenGL 绘制任务的窗口专门制定像素格式。对每个窗口,像素格式只能指定一次。下面的代码为OpenGL应用程序指定了像素格式:
PIXELFORMATDESCRIPTOR pfd = {
sizeof(PIXELFORMATDESCRIPTOR), // pfd结构的大小
1, // 版本号
PFD_DRAW_TO_WINDOW | // 支持在窗口中绘图
PFD_SUPPORT_OPENGL | // 支持 OpenGL
PFD_DOUBLEBUFFER, // 双缓存模式
PFD_TYPE_RGBA, // RGBA 颜色模式
24, // 24 位颜色深度
0, 0, 0, 0, 0, 0, // 忽略颜色位
0, // 没有非透明度缓存
0, // 忽略移位位
0, // 无累加缓存
0, 0, 0, 0, // 忽略累加位
32, // 32 位深度缓存
0, // 无模板缓存
0, // 无辅助缓存
PFD_MAIN_PLANE, // 主层
0, // 保留
0, 0, 0 // 忽略层,可见性和损毁掩模
}
feilinhe
2009-11-22
打赏
举报
回复
GLFloat只是个类型而已,你定义float或double类型的时候怎么初始化的?都是一样的
OpenGL
课程涵盖了
OpenGL
开发的方方面面,对开发
中
经常用到的开发知识点进行讲解,从实战的角度进行编码设计. 第1章-环境建立 第2章-基础图元 第3章-三维世界 第4章-纹理多彩世界 第5章-显存的分配-优化 第6章-场景控制 第7章...
用多线程方法实现在
MFC
/WIN32
中
调用
OpenGL
函数并创建
OpenGL
窗口
OpenGL
相关的工具库
中
的
OpenGL
程序往往都是在C函数main
中
初始化
和创建的,使用控制台来完成显示和控制颇为不便。如果能够在
MFC
中
OpenGL
函数并创建
OpenGL
窗口,并且可以将控制参数传入给
OpenGL
则可以得到很好的交互...
VS2015
中
MFC
界面使用
OpenGL
导入3DS模型(C++完整代码和源文件)
VS2015
中
MFC
界面使用
OpenGL
导入3DS模型(C++完整代码和源文件)
基于
MFC
的
OpenGL
绘图(转)
一、简介 GDI是通过设备句柄(Device Context以下简称"DC")来绘图,而
OpenGL
则需要...一旦在一个线程
中
指定 了一个当前RC,在此线程
中
其后所有的
OpenGL
命令都使用相同的当前RC。虽然在单一窗口
中
可以使用多个R
基于
MFC
的
OpenGL
绘图
一、简介 GDI是通过设备句柄(Device Context以下简称"DC")来绘图,而
OpenGL
则需要...一旦在一个线程
中
指定 了一个当前RC,在此线程
中
其后所有的
OpenGL
命令都使用相同的当前RC。虽然在单一窗口
中
可以使用多个R
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章