转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
OpenGL的原理         ★★★★

OpenGL的原理

作者:闵涛 文章来源:闵涛的学习笔记 点击数:594 更新时间:2009/4/23 18:24:35

  可以把OpenGL看成一条生产流水线,原料是场景、物体的顶点、表面细节等信息,产品是看起来有三维感觉的平面位图。
  在OpenGL中是以面边界(B-REP)模型来描述物体的,或者说是使用多边形造型系统。在OpenGL中每个物体都只是一组平面,这组平面记录了该物体的表面。显然这些平面越小画出不断的物体越逼真。

生成本图的程序源码(http://chinaaspdownload.xajh.net/delphiuser/zhuanlan/opengl_1/polymodalsrc.zip)[需要TGLPanel]而物体表面的每个平面都只需要边界和平面上的图案就足以表示。在OpenGL中需要用户提供围绕平面边缘的线段的顶点参数、平面内图案的位图两组信息,术语称为Vertex(顶点)、Texture(纹理)。
  如果表示物体的平面小到一个像素那么得到图像将会是极为真实的,然而这意味着天文数字般的计算任务。所以OpenGL三维图形程序设计很大程度上是在质量与速度之间折中的艺术。
  在计算机三维图形学上还有诸如实体几何、Voxel等其它的方法,有很多朋友问过我医学图象处理方面的问题,其实在该领域里使用得更多的是Voxel方法,该方法可以很好在像素级计算生成剖面等的图像,另外象DeltaForce这个游戏也使用了该方法。目前还没有见过支持Voxel加速的硬件,所以DeltaForce是需要全部使用CPU计算的,而支持OpenGL硬件加速的显卡满大街都是,而且适当使用纹理也可以取得极为逼真的效果。
总而言之,OpenGL吃进去的是顶点和纹理,挤出来的是看上去很三维的平面位图。不知道什么是位图?!就是那个啥你在屏幕上看见那个呀。^o^
  OpenGL流水线工作的原理是咋样的呢?那可是一个复杂的过程,下面简单描述一下,详细的自己看三维图形学的书去吧。
客户端(即咱们写的图形应用程序)==命令和数据==$#@62;服务器(流水线)==$#@62;帧缓冲区
客户在程序中所发的命令和数据并不是立即传到流水线执行的,流水线在收到glFlush/glFinish/SwapBuffers之类的命令之后才会真正开始执行命令加工数据,这些命令都有说明某一阶段处理相关的指令数据改送已经结束请求获得所需结果的含义。这就是所谓的客户/服务器模式。

  1. 坐标变换,生成基本图元
  2. 裁剪,只留下视见范围内的部份
  3. 光栅化,生成图形片段
  4. 逐片段操作,生成素像


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台