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