没有合适的资源?快使用搜索试试~ 我知道了~
在mfc框架下搭建opengl的入门步骤以及一个小小的实例
资源推荐
资源详情
资源评论
科研导航 hp://www.kydh.net
基于
MFC
的
OpenGL
绘图
本文更新版本请点击
[ 置顶 ] 《基于
MFC
的
OpenGL
编程》系列文章
一、简介
是通过设备句柄( ! 以下简称" ")来绘图,而 #$ 则需要绘制
环境(% !,以下简称"% ")。每一个 命令需要传给它一个 ,但与
不同,#$ 使用当前绘制环境&% '。一旦在一个线程中指定 了一个当前 % ,在此线
程中其后所有的 #$ 命令都使用相同的当前 % 。虽然在单一窗口中可以使用多个 % ,
但在单一线程中只有一个当前 % 。下面我将首先产生一个 #$% 并使之成为当前 % ,
这将分为三个步骤:设置窗口像素格式;产生 % ;设置为当前 % 。
二、() 中的 #$ 基本框架
、首先创建工程
用 *+, 产生一个 () -.- 项目,其他默认即可。
/、将此工程所需的 #$ 文件和库加入到工程中
在工程菜单中,选择"01"下的"2"项。单击"$3"标签,选择""目录,
在 #4$5(1 的编辑框中输入"/1/1
1!"(注意,输入双引号中的内容,各个库用空格分开;否则会出现链接错误),选
择"#6"结束。然后打开文件"7!",加入下列头文件:
819:;
819:1;
、改写 #< 函数并给视图类添加成员函数和成员变量
科研导航 hp://www.kydh.net
#$ 需要窗口加上 +2= $< >$%-?(创建父窗口使用的 +@ 风格,用于
重绘时裁剪子窗口所覆盖的区域)和 +2= $<20$?2(创建子窗口使用的 +@ 风格,
用于重绘时剪裁其他子窗口所覆盖的区域)风格。把 #< 改写成如 下所示:
0##$ #$AB@< +@& %-*C-2C%D CE'
F
C##(75+@55A75
%-*C-2C%D C
5GH&+2= $< >$%-?G+2= $<20$?2'I
1 B@< +@&'I
J
产生一个 % 的第一步是定义窗口的像素格式。像素格式决定窗口着所显示的图形在内存
中是如何表示的。由像素格式控制的参数包括:颜色深度、缓冲模式和所支持的绘画接口。在
下面将有对这些参数的设置。我们先在 #$AB@ 的类中添加一个保护型的成员函
数 0##$2+@<!)A&> '(用鼠标右键添加)和保护型的成员变量:
A=$<!!I并编辑其中的代码如下:
0##$ #$AB@2+@<!)A&> '
F定义窗口的像素格式
<.-$)#%(*C-2 %<C#%!H
F
,7&<.-$)#%(*C-2 %<C#%'K
K
<)=%*+=C#=+?#+G<)=2D<<#%C=#<-?$G
<)=#D0$-0D))-%G<)=2D<<#%C=K
<)=CL<-=%0*K
/K
MKMKMKMKMKMK
MK
MK
MK
MKMKMKMK
/K
MK
MK
<)=(*?=<$*?-K
MK
MKMKM
JI
科研导航 hp://www.kydh.net
N;A=$<!!H <!)A& KE!'I
7&N;A=$<!!HHM'
F
N;A=$<!!HI
7&<!)A& KN
;A=$<!!K,7&<.-$)#%(*C-2 %<C#%'KE!'HHM'
F
1)*$2-I
J
J
7&2<!)A& KN;A=$<!!KE!'HH)*$2-'
F
1)*$2-I
J
1C%D-I
、用 +, 添加 +(= %-*C- 的消息处理函数 #
至此,#$ 工程的基本框架就建好了。但如果你现在运行此工程,则它与一般的
() 程序看起来没有什么两样。
O、代码解释
现在我们可以看一看 N<!)A 提供有哪几种像素格式,并对代码进行一些
解释:
<.-$)#%(*C-2 %<C#% 包括了定义像素格式的全部信息。
+) 定义了与像素格式兼容的设备和接口。
通常的 #$ 发行版本并不包括所有的标志&P'。@) 能接收以下标志:
<)=%*+=C#=+?#+使之能在窗口或者其他设备窗口画图;
<)=%*+=C#=0C(*<使之能在内存中的位图画图;
<)=2D<<#%C=使之能调用 函数(注:如果指定了 <)=#D0$-0D))-%,
这个选项将无效);
<)=2D<<#%C=#$使之能调用 #$ 函数;
<)=-?-% =)#%(*C假如这种象素格式由 +@ 函数库或由第三方硬件设
备驱动程序支持,则需指定这一项;
剩余12页未读,继续阅读
资源评论
u012915351
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于springboot+layui的医院日常耗材管理系统.zip
- 计算机毕业设计-ASP.NET教育报表管理系统-权限管理模块(源代码+)-毕设源码实例.zip
- 计算机毕业设计-ASP.NET教务信息管理系统的设计与实现(源代码+)-毕设源码实例.zip
- Eleven的精益供应链管理-碓胤咨询龚胤全.rar
- 5套光伏、储能、充电收益测算表.zip
- C2 供应链集成演示平台操作手册(详细版).rar
- 3套光储充一体化站CAD+PDF图纸.zip
- Screenshot_20240426_195831_com.huawei.android.launcher.jpg
- 2000-2023年各省专利侵权结案数据.xlsx
- C#使用NPOI操作合并单元格
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功