CG之基本光照模型计算公式】的更多相关文章

在一个基本模型里,一个物体表面的颜色是由放射(emissive).环境反射(ambient).漫反射(diffuse)和镜面反射(specular)等光照作用的总和.每种光照作用取决于表面材质的性质(如亮度和材质颜色)和光源的性质(如光的颜色和位置)的共同作用. 从数学上描述基本模型的高级公式如下所示: surfaceColor = emissive +ambient + diffuse + specular 一.放射项 emissive = Ke 其中: Ke代表材质的放射光颜色. 二.环境反…
0.前言 这篇文章写于去年的暑假.大二的假期时间多,小组便开发一个手机游戏的项目,开发过程中忙里偷闲地了解了Unity的shader编写,而CG又与shaderLab相似,所以又阅读了<CG教程>.<GPU 编程与CG 语言之阳春白雪下里巴人>学习图形学的基础.尝试编写unity shader时还恶补了些3D数学.这些忙里偷闲的日子,坏了空调的闷热的实验室,还真是有点怀念.当时写这些文章并不是想作为教程,只是自己的总结方便日后温习,所以文章内容都很基础. 2015/08/04 于工…
经典光照模型(illumination model) 物体表面光照颜色由入射光.物体材质,以及材质和光的交互规律共同决定. 由于环境光给予物体各个点的光照强度相同,且没有方向之分,所以在只有环境光的情况下,同一物体各点的明暗程度均一样. 环境光是对光照现象的最简单抽象,局限性很大.它仅能描述光线在空间中无方向并均匀散布时的状态. 还有一种是平行光,即光线都从同一个方向照射.通过模拟方向光和物体表面的交互模式,可以渲染出具有高真实感(明暗变化.镜面反射等)的三维场景. 漫反射与Lambert 模型…
[Unity Shader](三) ---------------- 光照模型原理及漫反射和高光反射的实现 [Unity Shader](四) ------ 纹理之法线纹理.单张纹理及遮罩纹理的实现 [Unity Shader](五) ------ 透明效果之半透明效果的实现及原理 本文主要参考了冯乐乐老师的<Unity Shader入门精要 >一书,再加上网上一些参考资料而写. 笔者使用的是 Unity 2018.2.0f2 + VS2017,书中使用的是 Unity 5.2.1 ,由于版本…
 摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 材质和光的交互除了反射现象,对于透明物体还存在透射现象.模拟光的透射现象通常是一个比较头痛的问题,因为需要至少计算光的两次透射方向,首先计算光从介质一进入介质二的透射方向,然后计算光从介质二进入介质一的透射方象.此外,光在透明物体内穿越的距离以及被穿越的材质,直接关系到光的衰减程度:加上,还有很复杂的透明材质的次表面散射现象,即光线渗透…
转自http://www.itnose.net/detail/6117378.html 讨论完漫反射之后,接下来肯定就是镜面反射了 在开始镜面反射shader的coding之前,要扩充一下前面提到的知识,加深理解镜面反射与漫反射的区别. 引用一下一位前人博文中的一些基础概念,特别是关于冯氏反射模型的: 平行光(directional light) 一种是从特定方向射入并只会照亮面对入射方向的物体,我们称之为平行光(directional light). 环境光(ambient light) 另一…
接着上一篇BasicMyDiffuse的代码来说,这次要说明的就是自定义的光照模型,Ctrl+D>BasicMyDiffuse. 1.>//#pragma surface surf Lambert::这个是默认的光照模型 2.>#pragma surface surf CusDiffuse //自己定义的光照模型CusDiffuse; 3.>在SubShader 中加入光照模型函数: inline float4 LightingCusDiffuse(SurfaceOutput s,…
本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图. 这里是本书所需的代码和资源(当然你也能够从官网下载). ========================================== 切割线 ========================================== 写在前面 了解内置的CgInclude文件当然非常好,可是假设我们想要创建自己的CgInclu…
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5579289.html 在之前的场景绘制中我们都是给每个顶点指定了单一颜色 ,然后由系统插值计算各个部分颜色,最终显示出来.接下来我们将学习dx11中比较有意思的一部分——光照,通过光照和材质的相互作用来实现更真实的场景. 1. 光照 1.1 光照效果 简单举个例子,看龙书中的一张图: a图没加光照看起来像一个2D图形,而加了光照的b图则看起来像一个3D图形.由此可…
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源(当然你也可以从官网下载). ========================================== 分割线 ========================================== 写在前面 照亮的球体(Lit Sphere,翻译过来很怪)类型的光照模型是一种非常有趣的基于图像的光…