GLSL着色语言的学习(二)光照模型

1.一般构造图形的四个步骤

(1)三维建模构造物体在场景中的几何结构(结构)

(2)转换成二维(投影)

(3)确定场景中可见面(消隐)

(4)计算可见面的颜色(光照)

2.光照知识

在这里需要补充一下物理、光学的知识。

物体的颜色取决于该物体对可见光的某种波长的吸收情况,显现的是该波长的互补光的颜色。 

全部吸收,就是不反射,就是黑色

全部反射,就是不吸收,就是白色

下面的图就是互补色对照表,比如吸收一端,反射另一端


当光照到物体表面时,会产生反射光和透射光,他们的强度决定了物体表面的亮暗程度。而这些光中所含不同光的波长的比例就决定了物体表面的颜色。要计算这些波长的比例,在光学中和计算机图形学中还不一样。光学中的计算就略过了,计算机图形学中就用光照模型

3.简单的光照模型,(光照模型有好多,连接在此。这里直说phong光照模型)

假设物体不透明,那物体表面的颜色仅由反射光(环境反射、漫反射、镜面反射)决定。


1. 环境光Ambient Light
环境光不需要进行特殊的物理计算,即直接将光源中的环境光部分与材质中的环境光部分相乘,其结果适用于物体上的任一顶点。

2. 漫反射光(Diffuse light)
光照射在物体表面后,其反射光沿随机方向均匀的分布,即"漫反射”。反射光的强度与光照方向与表面法线的夹角theta相关。由于反射光方向随机,因此该部分的计算与观察点无关,而只与光线方向与法线相关。

3.镜面反射( Specular light)
phong光照模型总的公式:I = I(ambient) + I(diffuse) + I(specular)
I(ambient) = Ka*Ia
I(diffuse) = Kd*Id * (N dot L)    镜面反射光是由法线和光照方向决定
I(specular) = Ks * Is * (V dot R)n   高光是由视角向量和发射向量决定的
Ka ,Kd ,Ks 分别环境,漫射和镜面光照的系数。la, Id, ls分别环境,漫射和镜面光照的强度。N,V,R分别为法向量,视向量和反射向量。 n是镜面反射系数。


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GLSL(OpenGL着色语言)是一种编程语言,用于在图形处理单元(GPU)上编写和执行着色器程序。着色器程序是用于图形渲染的关键组件,它们控制如何在屏幕上绘制3D物体。GLSL定义了一组函数,运算符和语法规则,以便开发人员可以编写高性能和高度可定制的着色器。 对于想要学习和使用GLSL的人们,有一本非常有用的资源是GLSL着色语言的PDF文档。这本PDF提供了关于GLSL语言的详细说明和用法的指南。它解释了GLSL的核心概念,如变量,数据类型,控制结构和函数。此外,该文档还包含了许多示例代码和实际应用场景,帮助读者更好地理解和应用GLSL。这本PDF还可以作为查询和参考手册,供开发人员在实际项目解决问题和优化性能。 GLSL着色语言的PDF还可以帮助开发人员掌握高级技术,如光照模型,纹理映射,法线映射,阴影生成等等。通过深入研究和实践GLSL,开发人员可以创建出令人惊叹的视觉效果,并优化渲染性能。这使得GLSL成为游戏开发,计算机图形学和计算机辅助设计等领域不可或缺的工具。 总而言之,GLSL着色语言PDF是一个非常有用的资源,提供了对GLSL编程语言的全面了解。它可以帮助开发人员学习和应用GLSL,以实现高性能的图形渲染和视觉效果。无论是初学者还是有经验的开发人员,都可以从这本PDF获得宝贵的知识和技巧。 ### 回答2: GLSL(OpenGL Shading Language)是一种编程语言,用于编写OpenGL着色器程序。着色语言是一种用于控制图形图像生成的语言,它可以定义光照、纹理、材质等图形特性。GLSL着色语言是OpenGL比较重要的一部分,它在图形渲染过程发挥着关键作用。 关于GLSL着色语言的相关信息可以在PDF格式的文档找到。这些文档通常包含着色语言的语法、例子、代码实现、文档和API参考等方面的内容。一般来说,这些PDF文件提供了详细的指导来帮助开发者理解和使用GLSL,从而实现各种复杂的图形渲染效果。 GLSL着色语言的PDF文档可以从网络上进行下载,从OpenGL官方网站或其他相关资源网站获取。这些文档通常是为了帮助开发者更好地理解和学习GLSL而准备的。GLSL的PDF文档对于OpenGL着色器的编写、优化以及性能调优等方面都提供了很有价值的参考和指导。 总之,GLSL着色语言的PDF文档是一种帮助开发者学习和使用GLSL的重要资源,通过学习这些文档,开发者可以更好地理解、掌握和应用GLSL来实现各种图形渲染效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值