,VC   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,VC
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VC > 正文
利用VC+OpenGL实现几种特殊图形效果
[文章信息]
作者:中国电波传播研究所青岛分所郎锐
时间:2005-04-26
出处:天极网
责任编辑:方舟
[文章导读]
融合、雾化与反走样是OpenGL中的三种特殊效果处理方法
advertisement
热点推荐
· VB实现SQL Server 2000存储过程调用
· Java解析网络数据流的三种特殊方法
· 多媒体教程:网页表单文本域类型
· 体验V5E地形编辑:整体控制
· 打造完美可随意安装的WinXP镜像
[正文]

1 2 3  下一页

  引言

  融合(blending)、雾化(fog)与反走样(antialiasing)是OpenGL中的三种特殊效果处理方法。融合提供了一种透明或半透明显示的技术;雾化处理则根据物体距离视点的远近对其进行恰当的模糊处理;反走样则可减少在绘制离散化的图形时所产生的误差走样。

  实现融合特效

  融合可将两种颜色的R、G、B分量按一定比例混在一起形成一种新的颜色,RGBA颜色模式中的A即表示Alpha值,对应于颜色的混合比例。由于只有在RGBA模式中才能对A值进行说明,因此融合不能在颜色索引模式下使用。融合操作可通过源因子(Sr、Sg、Sb、Sa)与目的因子(Dr、Dg、Db、Da)计算锝出,融合结果为(Rs*Sr+Rd*Dr, Gs*Sg+Gd*Dg, Bs*Sb+Bd*Db, As*Sa+Ad*Da)每个元素值都在范围[0, 1]内。可以看出,融合处理的关键就是对融合因子(Sr,Sg,Sb,Sa)和(Dr,Dg,Db,Da)的设定。在OpenGL中,源因子和目的因子通过glBlendFunc()函数产生,其函数形式为:

void glBlendFunc(GLenum sfactor,GLenum dfactor)
  
  通过指定参数sfactor和dfactor来分别指出计算源因子和目的因子的方式。具体取值可参见下表。在产生了融合因子值后,还需调用glEnable(GL_BLEND)和glDisable(GL_BLEND)来启用、关闭融合处理。

常数 相关因子 融合因子结果
GL_ZERO 源因子或目的因子 (0,0,0,0)
GL_ONE 源因子或目的因子 (1,1,1,1)
GL_DST_COLOR 源因子 (Rd,Gd,Bd,Ad)
GL_SRC_COLOR 目的因子 (Rs,Gs,Bs,As)
GL_ONE_MINUS_DST_COLOR 源因子 (1,1,1,1)-(Rd,Gd,Bd,Ad)
GL_ONE_MINUS_SRC_COLOR 目的因子 (1,1,1,1)-(Rs,Gs,Bs,As)
GL_SRC_ALPHA 源因子或目的因子 (As,As,As,As)
GL_ONE_MINUS_SRC_ALPHA 源因子或目的因子 (1,1,1,1)-(As,As,As,As)
GL_DST_ALPHA 源因子或目的因子 (Ad,Ad,Ad,Ad)
GL_ONE_MINUS_DST_ALPHA 源因子或目的因子 (1,1,1,1)-(Ad,Ad,Ad,Ad)
GL_SRC_ALPHA_SATURATE 源因子 (f,f,f,1); f=min(As,1-Ad)

  下面是应用了融合技术的一个简单例子,通过图1的绘制结果可以看出在启用了融合处理后在两个具有不同颜色方块的交叠部分颜色发生了变化,该区域即为融合所产生的结果:

void CALLBACK Display()
{
 glClear(GL_COLOR_BUFFER_BIT); // 清屏
 glColor4f(0.0, 1.0, 0.0, 0.5); // 绘制矩形
 glRectf(0.1, 0.1, 0.6, 0.6);
 glColor4f(1.0, 1.0, 0.0, 0.7); // 绘制矩形
 glRectf(0.4, 0.3, 0.9, 0.8);
 glFlush(); // 强制绘图完成
}
void Init()
{
 glEnable (GL_BLEND); // 启用融合
 glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);// 产生融合因子
 glShadeModel (GL_FLAT); // 设置平面明暗处理
 glClearColor (0.0, 0.0, 0.0, 0.0); // 清屏
}


图1 有颜色方块的融合


1 2 3  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,VC相关内容,VC焦点新闻
  • VC6中用DOM遍历网页中的元素
  • VC编程实现动态截获并显示窗口DC
  • MFC六大关键技术剖析之动态创建
  • MFC程序员的WTL指南之属性页与向导
  • Visual C++ 6.0制作QQ连连看外挂
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,VCAdvertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价