3D数学 学习笔记(9)凹凸映射(bump mapping)和切线空间(tangent space
原创
2022-07-05 09:54:24
446阅读
前情提要最近在研究怎么获得圆滑的头发阴影,发现可以通过修复法线的方式轻松实现该效果,于是赶紧写篇博文记下来免得以后忘记...
如果你能顺利掌握这篇文章中的奥义,你就可以将不规则的头发阴影:变成这样圆滑好看的头发阴影:前期调研(此部分记录调研历程,不想看的同学可以直接跳到后面的具体实现)
之前看大佬们教程的时候,头发阴影这一块总是轻描淡写地就过去了,然而作为一只萌新小白只能表示一脸懵逼。直到最近在B
转载
2024-05-21 06:02:12
529阅读
对于表面法向量的设计决策,有两个要考虑的问题:1、是否要用单位长度“首先是这些法线是否为单位长度。这对于阴影很方便,所以我会说yes,但我不会在代码中执行它。这可能会出现一些细微的bug,所以要注意这是个人偏好,就像大多数类似的设计决策一样。”2、是法向量是否要指向球外。“目前,找到的法线总是在中心向交点的方向(法线指向外)。如果射线从外部与球面相交,法线与射线相交(the normal poin
://blog..net/huazai434/article/details/5650146一,法线贴图实际上是一张纹理图,但纹理中存储的并不是颜色值,而是法向量坐标。这项技术的主要目的是实现物体表面的粗糙细节。二,法向量在纹理中的存储形式。对于24位纹理
转载
2013-11-21 17:31:00
374阅读
Unity Shader 阶段性反思与总结(一)最近在写Shader的时候,总是感觉力不从心,感觉自己已经看了蛮久的书了,也有一定的积累了,但是一想写什么效果,完完全全就是脑袋一团空白。典型的例子就是,我想写边缘光效果的时候,完完全全就是不知道怎么下手这样子。然后,感觉自己在看书,也没什么提升,每天好像就从书上抄代码一样。。。。。让我很有挫败感。现在记录一下我在学Shader的时候,读《unity
简介以前经常听说“模型不好看啊,怎么办啊?”答曰“加法线”,”做了个高模,准备烘一下法线贴图”,“有的美术特别屌,直接画法线贴图”.....法线贴图到底是个什么鬼,当年天真的我真的被这个图形学的奇淫杂技忽悠了,然而毕竟本人还算有点刨根问底的精神,决定研究一下法线贴图的原理以及Unity下的实现。本人才疏学浅,如有错误,欢迎指正。 法线贴图是目前游戏开发中最常见的贴图之一。我们知道,一般情况下,模型
法线贴图NormalMap在有光照的环境下,如果物体表面是凹凸不平的,那么它在接受光照的时候在不同的区域就会呈现出不同的明暗效果来展现这种凹凸感,正因为物体表面法线的不同才导致了最终光照结果的不同,如果我们能够把整个模型表面各个位置的法线映射到一张二维贴图上,然后在这张贴图上存储上法线的信息,就可以达到通过底模+二维贴图达到高模效果了。而这里的二维贴图就是我们所说的法线贴图。纹理贴图中我们存储的是
转载
2024-01-21 02:13:32
203阅读
文在Blinn-phong光照模型基础上添加法线贴图。看案例的时候总感觉很简单,但是自己写了之后发现还是有很多细节要注意的。1.法线贴图1.1 基本原理借助一张纹理贴图颜色值(RGB)存储物体的表面法线方向,比如下面这张图,大部分是蓝色RGB:(0,0,1),对应了法线方向(0,0,1).但是法线范围应该是【-1,1】,表示正反两个方向,所以要进行转化。适合少顶点的情况下增加真实感,在多顶点情况下
转载
2024-06-13 16:40:31
775阅读
这两个过程需要 方阵,这就是我们需要的(对于跟踪平方是需要的)。跟踪是 矩阵的主对角线中包含
翻译
2023-01-29 15:04:53
115阅读
一直以来都对次表面散射(Subsurface Scattering,简写为SSS)的具体实现非常感兴趣。所幸最近有时间,研究了一下网上的视频和文章,这里简单作一下记录。自己也实现一下试试。 基本的实现最初参考了B站视频【TA进阶】快速次表面散射(SSS)的原理与实现,但是后面基本上都在查文章资料了,也会补充一些自己的思考以及检索到的一些文章。 参考文章列表:[图形技能树-渲染]次表面散射《GPU
转载
2024-08-11 10:59:18
165阅读
1起源
早 在2004年,Martin Fowler就提出了“哪些方面的控制被反转了?”这个问题。他总结出是依赖对象的获得被反转了。基于这个结论,他为控制反转创造了一个更好的名字:依赖 注入。
许多非凡的应用(比HelloWorld.java更加优美,更加复杂)都是由两个或是更多的类通过彼此的合作来实现业务逻辑,这使得每个对象都需 要,与其合作的对象(也就是它所依赖的
当谈到游戏角色的3D模型风格时,有几种不同的风格:写实风格:这种风格追求高度真实感和细节,力求让角色看起来与现实世界中的人物相似。卡通风格:卡通风格通常更夸张和简化,特征更为突出,颜色更加鲜艳,给人一种轻松愉快的感觉。像素风格:像素风格是将角色呈现为像素化的图像,类似于早期8位或16位游戏中使用的风格,有一种怀旧感。手绘风格:手绘风格的角色模型看起来就像是手工绘制的一样,线条更加柔和,给人一种艺
模型视图变换时,法线向量要乘模型视图矩阵的逆转置矩阵 早前一直被这个问题困惑,但是自己推倒了很多遍也没推出来。哎,在gameres上搜了3年前的谈话,后来在gamedev搜到了答案。其实在计算机图形学中,只要是变换,无论平移,旋转,缩放,都是乘一个矩阵。在模型视图变换时,顶点乘模型视图变换矩阵,而顶点对应的顶点法线向量(或其他的法线向量)则要乘模型视图矩阵的逆转置矩阵。顶点和法线都是向量,他们的区
转载
2019-04-10 18:20:00
381阅读
2评论
最近在研发一个WPF快速开发框架,满脑子都是各种逻辑各种模式,写一篇比较休闲娱乐的博客,宣泄下我对美工的热爱。 我一直以来有意无意在手机应用或者各种网站上看到这么一种风格按钮,明明很简单,却有一种很清新感觉。一种独特的质感,让你很想去触摸。看了 万仓一黍 分享的PS网页设计教程II——在Photoshop中创建健康及营养或健身的网站有了启发,这种配
转载
2024-07-30 18:51:42
103阅读
写在前面
有很多情况你可能想要使用法线去影响反射效果。比如,你想要模拟一个被霜雪覆盖的玻璃材质的表面,或者一个冰块。如果你根据物理知识真实的模拟这个平面的每一个细节部分,那么你就不要希望你游戏的FPS还可以达到60帧了。相反的,我们可以使用法线贴图来伪造一个视觉体验,因此我们需要学习如何将法线贴图的信息传递给反射效果。 为了完成这个任务,我们将要学习Input结构体的另一个内置
转载
2024-08-26 20:49:22
53阅读
对于法线贴图的深入研究 正文前几篇文章写过有关法线贴图的内容,这次文章将讨论其原理及相关优化。回过头来看一下原来的文章真有种想删掉的感觉。。。为什么叫法线贴图,我们知道法线(Normal)是垂直于一个面的直线,通过计算光线与这条法线的角度就可以知道与面的角度,进而可以计算出面应得到的颜色值。如果我们知道物体每个面的法线就能实现对这个物体进行光照渲染。但是一堵墙也许只有四个顶点,也就是只有一个
转载
2024-06-22 08:04:09
107阅读
想必单独论及“ 梯度、Hessian矩阵、平面方程的法线以及函数导数”等四个基本概念的时候,绝大部分人都能够很容易地谈个一二三,基本没有问题。其实在应用的时候,这几个概念经常被混淆,本文试图把这几个概念之间的关系整理一下,以便应用之时得心应手。这四个概念中,Hessian矩阵是最不容易混淆,但却是很多人难以记住的概念,其它三个概念很容易记住,但却在某些时候很容易混淆。Hessi
转载
2022-04-11 13:45:11
1116阅读
概述在学习法线贴图的过程中,有几个比较难以理解的概念,这里记录一下。特别说一下,本文的法线贴图是切线空间下的法线贴图。
空间变换如上图所示,简单表达了在使用法线贴图的过程中,涉及到的几个空间变换:切线空间:从法线贴图中采样得到的法线,在切线空间中;对象空间:物体的本地坐标空间,顶点的相关信息,在对象空间;世界空间:光源位置、观察者位置等,在世界空间中。在空间变换的过程中,主要涉及到了两个变换矩
想必单独论及“ 梯度、Hessian矩阵、平面方程的法线以及函数导数”等四个基本概念的时候,绝大部分人都能够很容易地谈个一二三,基本没有问题。 其实在应用的时候,这几个概念经常被混淆,本文试图把这几个概念之间的关系整理一下,以便应用之时得心应手。 这四个概念中,Hessian矩阵是最不容易混淆,但却是很多人难以记住的概念,其它三个概念很容易记住,但却在某些时候很容易混淆。
Hessian矩阵:
转载
2021-12-22 11:28:42
303阅读
我们通常做虚拟现实模型,需要控制面数,又要保留细节,所以法线贴图,往往是一个很好的选择。 制作法线贴图,有很多办法,可以使用三维软件,通过高模烘培低模来做出法线,也可以通过一些图像软件,将普通图片转化为法线贴图,至于使用什么工具,这里不做讨论,我们单独来谈一下法线的效果。 由三维软件