NormalMapping】的更多相关文章

[NormalMapping] 法线贴图内的数据是法线,高度贴图内的数据是高度,不是一个东西.在ShaderLab中,UnpackNormal()分析的是法线贴图(注意不是高度贴图). 可以看到,在GLES环境下及Mobile环境下,normal中存储的只是0-1的值.而UnpackNormal将值从0-1转换到-1-1. 法线贴图类似如下这张: 照例,使用Texture需要先定义: 要定义NormalTex的UV: 最后通过UnpackNormal解出Normal: 下面是使用与未使用法线贴图…
1. 新建一个OpenGL 空effect; 2. 添加相关变量 右击Effect节点选择Add Variable->float->float / float3 添加镜面光强度.灯光位置和相机位置参数: float3 vec3LightPosition = {-100.0,100.0,100.0}; float3 vec3EyePosition = {0,0,100.0}; 右击Effect节点选择AddTexture->Add 2DTexture 添加base和bump两张纹理图片:…
Unity内部提供了一些可以直接使用的着色器,这些内置着色器包括以下6个方面: (1)Performance of Unity shaders 着色器的性能和两个方面有关:shader本身和render path. Deferred Lighting:每个对象都会被绘制2遍,无论其是否受到光照,性能与纹理数和具体的计算过程有关. Vertex Lit:每个对象只被绘制一次,性能与纹理数和具体的计算过程有关. Forward rendering:性能和灯光数量有关. Vertex-Lit shad…
转自:http://www.cnblogs.com/cxrs/archive/2009/11/01/1594155.html Nvidia和ATI都有相应的工具把Heightmap转成NormalMap,有了NormalMap,我们就可以用NormalMapping技术进行Per Pixel Lighting计算了.那么HeightMap是怎么转化成NormalMap的呢?      其实并不难,在<3D游戏与计算机图形学方法>中,提供了一种由高度图生成法向图的方法.其思想是根据高度图中的象素…
---------------------------------------------- LearnOpenGL ---------------------------------------------- OpenGL基础知识: https://www.opengl.org/:OpenGL官方网站. https://www.opengl.org/registry/:包含OpenGL各版本的规范和扩展. https://learnopengl-cn.github.io https://khr…
网上看到一篇关于灯光的文章,描述的很详细,如下: Lights will bring personality and flavor to your game. You use lights to illuminate the scenes and objects to create the perfect visual mood. Lights can be used to simulate the sun, burning match light, flashlights, gun-fire,…
一.材质和着色器 1.材质和着色器紧密的联系,其中材质相当于是一个框架,而着色器就是框架中中的内容.在材质框架中可以选择不同的Shader并调节不同的 属性 Material和Physic Material区别?PhysicMaterial 物理材质:物理材质描述,如何处理物体碰撞(摩擦,弹性).Material 材质(材质类)为了获得一个对象使用的材质,可以使用 Renderer.material 属性: 导入的资源Material:Normal map (法线贴图),新建的Material材…
这本书好像不怎么出名,但读起来非常易懂,知识全面 https://learnopengl.com/Advanced-Lighting/Normal-Mapping 基于物理的渲染 – 理论篇 <译自LearnOpenGL>…
在 iPad 上试验从用算法生成法线贴图-到法线映射光照效果 目录 概述 一般来说, 法线贴图是用高模的法线图, 低模的纹理图, 来生成较好的渲染效果. 而法线图通常是通过图像处理软件来生成的, 这里我们准备尝试用程序来生成法线图, 输入只有纹理图, 没有高度图. 那么这种方法究竟可行不可行? 答案是可行, 例如比较受欢迎的 CrazyBump 就是直接通过算法以纹理贴图未输入生成法线图, 不过具体算法就不清楚了, 接下来我们会进行各种试验, 来看看如何用算法生成能达到专业图像处理软件生成水准的…
凹凸贴图(bump mapping)实现的技术有几种,normal mapping属于其中的一种,这里实现在物体的坐标系空间中实现的,国际惯例,上图先: 好了讲下原理 可以根据高度图生成法线量图,生成方法:在高度图的某一点用它上面的一点和右面的一点的高度减去这一点的高度,得到两个向量,再叉乘就是这点的法向量了,然后再单位化 然后用这个单位法向量去算光照 我们这里的光照的计算在物体空间计算的 但是注意一个问题,算出来的单位法向量里面的某些分量可能为负,它的范围为(-1,-1,-1)到(1,1,1)…