关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 图形图像 ->详细
相关内容  
 
 
在Delphi程序中应用IE浏览器控件
 
【新品推荐】

  详细内容
 

OpenGL的原理
作者: 于洪·delhpi技术网 评价: 上站日期: 2001-05-10
内容说明:
来源:

  可以把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流水线工作的原理是咋样的呢?那可是一个复杂的过程,下面简单描述一下,详细的自己看三维图形学的书去吧。
客户端(即咱们写的图形应用程序)==命令和数据==> 服务器(流水线)==> 帧缓冲区
客户在程序中所发的命令和数据并不是立即传到流水线执行的,流水线在收到glFlush/glFinish/SwapBuffers之类的命令之后才会真正开始执行命令加工数据,这些命令都有说明某一阶段处理相关的指令数据改送已经结束请求获得所需结果的含义。这就是所谓的客户/服务器模式。
  服务器接收哪些命令和数据,又怎样利用这些数据进行哪些处理呢?大致上可以依次分成四个阶段:

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

 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 图形图像 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0