openGL学习笔记

来源:互联网 发布:中国淘宝村高峰论坛 编辑:程序博客网 时间:2024/06/15 14:37

OpenGL在处理光照时采用这样的近似:把光照系统分为三个部分,分别是光源、材质和光照环境。

指定一个环境亮度参数,可以使最后形成的画面更接近于真实情况。

一、光源:开启多个光源会导致程序运行速度的严重下降。  

( 就目前的计算机而言,要准确模拟各种光线的传播,这是无法做到的事情。比如一个四 
        面都是粗糙墙壁的房间,一盏电灯所发出的光线在很短的时间内就会经过非常多次的反 
        射,最终几乎布满了房间的每一个角落,这一过程即使使用目前运算速度最快的计算机, 
        也无法精确模拟。不过,我们并不需要精确的模拟各种光线,只需要找到一种近似的计 
        算方式,使它的最终结果让我们的眼睛认为它是真实的,这就可以了)


二、材质 

 属性:正面和背面;镜面指数;材质本身微微向外发射光线。


比如某个画面中,使用了数千个多边形来表现一个比较真实的人物,OpenGL 为了产生这 
数千个多边形,就需要不停的调用glVertex*函数,每一个多边形将至少调用三次(因为多边形至少有三个 
顶点),于是绘制一个比较真实的人物就需要调用上万次的glVertex*函数。更糟糕的是,如果我们需要每 
秒钟绘制60 幅画面,则每秒调用的glVertex*函数次数就会超过数十万次,乃至接近百万次。

原创粉丝点击