利用OpenGL实现三维绘图(转)

利用OpenGL实现三维绘图      
     
   
   
  前言:    
  在三维绘图蓬勃发展的过程中,计算机公司推出了大量的三维绘图软件包。其中  
  SGI公司推出的OpenGL,作为一个性能优越的图形应用程序设计界面(API)异军  
  突起,取得了很大的成就。它以高性能的交互式三维图形建模能力和易于编程开  
  发,得到了Microsoft、   IBM、   DEC、   Sun、   HP等大公司的认同。因此,OpenGL  
  已经成为一种三维图形开发标准,是从事三维图形开发工作的必要工具。    
   
  一.初始化OpenGL绘图环境    
  1.   定义颜色格式和缓冲模式    
  OpenGL提供两种颜色模式:RGB(RGBA)模式和颜色索引模式。在RGBA模式下所有  
  颜色的定义用RGB三个值来表示,有时也加上Alpha值(表示透明度)。RGB三个分  
  量值的范围都在0和1   之间,它们在最终颜色中所占的比例与它们的值成正比。如:  
  (1,1,0)表示黄色,(0,0,1)表示蓝色。颜色索引模式下每个象素的颜色是  
  用颜色索引表中的某个颜色索引值表示(类似于从调色板中选取颜色)。由于三维  
  图形处理中要求颜色灵活,而且在阴影,光照,雾化,融合等效果处理中RGBA   的效  
  果要比颜色索引模式好,所以,在编程时大多采用RGBA模式。    
  OpenGL提供了双缓存来绘制图像。即在显示前台缓存中的图像同时,后台缓存绘制  
  第二幅图像。当后台绘制完成后,后台缓存中的图像就显示出来,此时原来的前台  
  缓存开始绘制第三幅图像,如此循环往复,以增加图像的输出速度。    
  设置窗口显示模式函数:    
  void   auxInitDisplayMode(    
  AUX_DOUBLE//双缓存方式    
  |AUX_RGBA);//RGBA颜色模式    
  2.设置光源    
  OpenGL的光源大体分为三种:环境光(Ambient   light),即来自于周围环境没有固  
  定方向的光。漫射光(Diffuse   light)来自同一个方向,照射到物体表面时在物体的  
  各个方向上均匀发散。镜面光(Specular   light)则是来自于同一方向,也沿同一个方  
  向反射。全局环境光是一种特殊的环境光,它不来自特于某种定光源,通常做为场景  
  的自然光源。    
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值