先贴出shader 吧 等有时间了 来阐述原理 // vertex shader //varying vec3 ViewPosition; //varying vec3 Normal; varying vec3 Vertex_UV; varying vec3 Vertex_Normal; varying vec3 Vertex_LightDir; varying vec3 Vertex_EyeVec; void main(void) { gl_Position = gl_ModelViewPro…
目录 基于图像的光照(Image Based Lighting,IBL) The Split Sum Approximation 过滤环境贴图 预计算BRDF积分 预计算辐射度传输(Precomputed Radiance Transfer,PRT) 球谐(Spherical Harmonics,SH) 球谐光照(Spherical Harmonic Lighting) Diffuse 物体的球谐光照 Glossy 物体的球谐光照 球谐光照预计算 Transfer 球谐函数的旋转(SH Rota…
1. 论数据立方体预计算的多种策略的优弊 (1)计算完全立方体:需要耗费大量的存储空间和不切实际的计算时间. (2)计算冰山立方体:优于计算完全立方体,但在某种情况下,依然需要大量的存储空间和计算时间. 因为冰山立方体的确定在于最小支持度的确定,所以例如:如果基本立方体单元(a1,.....a60)则,他将至少产生2的60次方个冰山立方体单元:另外最小支持度这个值是难于确定的,小的话将导致巨大的立方体,大的话可能无法用于许多有意义的运用.在实际运用的过程中,应用数据随时间的变化不断增加,之前剪枝…
1.前言 写这篇文章一方面是因为unity的微博最近出了关于预计算光照相关的翻译文章,另一方面一些美术朋友一直在抱怨烘培速度慢 所以抱着好奇的心态来学习一下unity5的PRGI预计算实时光照 2.基本参数与使用 2.1 常规介绍 使用预计算光照需要在Window/Lighting面板下找到预计算光照选项,保持勾选预计算光照并保证场景中有一个光照静态的物体 此时在编辑器内构建后,预计算光照开始生效. 相关的文章有很多,unity官方有一系列文章不错: https://unity3d.com/cn…
1.基本参数与使用 1.1 常规介绍 使用预计算光照需要在Window/Lighting面板下找到预计算光照选项,保持勾选预计算光照并保证场景中有一个光照静态的物体 此时在编辑器内构建后,预计算光照开始生效. 相关的文章有很多,unity官方有一系列文章不错: https://unity3d.com/cn/learn/tutorials/topics/graphics/introduction-precomputed-realtime-gi 在Lighting面板的Scene页签下可以设置全局光…
// 请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 切线空间(Tangent Space) 切换空间,同局部空间.世界空间等一样,是3D图形学中众多的坐标系之一.切换空间最重要的用途之一,即法线映射(Normal Mapping).关于法线映射的细节,将在下一篇文章中详细介绍.但在学习法线映射之前,深刻地理解切换空间非常重要.因此借这一篇文章来学习下它,以为后面学习法线映射.视差映射(Parallax Mapping).Displacement Mapping…
  The Precompute Process 预计算过程 In Unity, precomputed lighting is calculated in the background - either as an automatic process, or it is initiated manually. In either case, it is possible to continue working in the editor while these processes run be…
凹凸贴图(bump mapping)实现的技术有几种,normal mapping属于其中的一种,这里实现在物体的坐标系空间中实现的,国际惯例,上图先: 好了讲下原理 可以根据高度图生成法线量图,生成方法:在高度图的某一点用它上面的一点和右面的一点的高度减去这一点的高度,得到两个向量,再叉乘就是这点的法向量了,然后再单位化 然后用这个单位法向量去算光照 我们这里的光照的计算在物体空间计算的 但是注意一个问题,算出来的单位法向量里面的某些分量可能为负,它的范围为(-1,-1,-1)到(1,1,1)…
翻译:非常详细易懂的法线贴图(Normal Mapping) 本文翻译自: Shaders » Lesson 6: Normal Mapping 作者: Matt DesLauriers 译者: FreeBlues 这一系列依赖于最小规模的用于着色器和渲染工具的lwjgl-basics API. 代码已经被移植到 LibGDX. 这些概念是足够通用的, 它们能被应用于Love2D, GLSL Sandbox, iOS, 或者其他支持 GLSL 的平台. 概述 本文聚焦于 3D 光照和法线贴图技术…
1.概述 上一篇博客,3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇,讲了法线贴图的基本概念和使用方法.而法线贴图和一般的纹理贴图一样,都需要进行压缩,也需要生成mipmap.但是由于法线贴图存储的是法线信息,压缩和生成mipmap的方法自然会有所变化. 现在已经许多用于法线贴图压缩和生成mipmap的工具,大部分商业游戏引擎也集成了相关方法,只需要点几下鼠标就可以完成.本文仅针对法线贴图的纹理压缩和mipmap的方法进行原理性的说明,至于在具体的工具中如何操作,可…