跳至主要內容

老韩的计算机图形学

LincZero大约 14 分钟有道云

老韩的计算机图形学

PS图层混合模式

​ 32位没通道模式下的(线性减淡添加),大概就是且才是相当于光的叠加。而非滤色

色彩原理课

​ 牛顿色环与现代色环的不同

​ 牛顿那个跟光长的比例更相似,现代的更趋向于RGB和CMY的三等分

​ 色彩的本质:人类的主观感受

​ 视锥细胞和视杆细胞

​ 现代医学-人感受色彩:视杆细胞+RGB三种视锥细胞

​ 更严谨的说法是对波长敏感度不同的三种视锥细胞

​ 短锥细胞、中锥细胞、长锥细胞分别对短中长波更敏感

​ 可以以波长为横轴,兴奋性为竖轴,画出四条(视锥细胞+杆细胞)类正态状曲线

​ 另

​ 视锥细胞的位置接近于视神经中央,视杆细胞的位置在视锥细胞周围

​ 这个可以解释星星消失的原因

​ 色相环为何闭环,紫色为什么又过渡回红色

​ 紫色B和红色R中间的洋红M,依赖于三色视锥细胞的合成!

​ 洋红在光学上不对应任何波长的光!(即并不真正存在)

​ 而色相环是描述人类感受的颜色环

​ 知乎:为什么没有绿毛的哺乳动物

​ 佐证:长锥细胞和中锥细胞很早以前是同一种,动物分不出绿和黄

​ 狮子以为自己的颜色是保护色,但狮子的猎物也没有分化视锥细胞

​ PS的视图>校准,有红色盲型和绿色盲型

​ (在设计中这个功能可以看你的设计方不方便色盲的使用)

​ 有些游戏还有色盲模式

​ 在人眼看来一样的颜色,在其他动物看来有可能是两个颜色?

​ 色彩描述系统

​ 现代色环:RGB色彩描述系统

​ 符合人类色彩感知原理,但不符合人描述色彩的习惯

​ HSB色彩描述系统

​ H:Hue色相;S:Saturation饱和度;B:Brightness明度

​ 符合人描述色彩习惯

​ 色相单位是度,RYGCBM分别对应0,60,120,180,240,300度

​ CMYK系统

​ 非光色系统

​ 原色颜料:即只吸收光原色的颜料

​ Cyan吸Red反Bule&Green

​ Megenta吸Green反Red&Bule

​ Yellow吸Blue反Rend&Green

​ 这样就可以对颜料进行配色!配出在反弹RGB光的RGB色

​ 根据原理:三原色能配其他色,其他色不能配三原色

​ 以前说的红黄蓝不对,应该要反射两种光(在吸收一种才对)

​ 如果给你红黄蓝,理论上不能配出所有颜色!

​ 但实际上,能配出绝大多数颜色了,行之有效

​ 配紫色可能有点问题,但用紫色不常见

​ 打印机用的CMYK

​ 视觉色彩恒常性与相对色感

​ 知乎:蓝黑还是白金(裙)

​ 蓝色裤子进红光酒吧-人脑会认为是蓝裤或者黑裤

​ 黄光环境人脑补蓝,蓝光环境人脑补黄

​ 想要强行还原,就在黄光环境下把某个颜色加黄,蓝色环境下把某个颜色加蓝

​ 逆反人脑的“调整”

​ 也是某佑来了讲的“白色zn现象”

​ 颜色单词

​ 红Red,(橙Orange,)黄Yellow,绿Green,

​ 青蓝Cyan(SaiAn),深蓝Bule,(紫蓝Violet,)洋红Megenta

​ (Violet紫罗兰色,Yellow柠檬黄,Blue深蓝而非天空蓝)

​ 色域空间

​ 显示屏显示的颜色<自然界的可见光颜色

新版V-Ray,金属应该这么调——金属度(metalness)专题讲座

​ 从计算机图形学中漫反射的定义看金属材质

​ 万物都有漫反射,漫反射是什么:次表面散射的宏观现象

​ everything has diffuse,everything has fresnel.

​ (老韩以前调金属是fresnel ior调高,关菲涅尔是弟弟行为2333)

​ 非金属,反射+散射,【兰伯特模型】

​ 金属,散射被完全吸收,即无漫反射,意味着漫反射颜色要拉成黑色,无漫反射特性

​ 菲涅尔IOR折射率,与现实不同?金属的1.X要调到20-40,隔行如隔山,【VR之父vlado】

​ 实例

​ 金子,拉黑漫反射,给金色反射,IOR到25或以上。具体查表

​ 玻璃,折射率1.55左右

​ 非金属,必反射灰度。其反射对通道没有趋向性

​ 怎么用数值还原?

​ https://refractiveindex.info,专门查折射率的网站

​ Shelf-3D,Book-Metals,Page-Cu

​ 3通道下的n值和k值都不同。n值-IOR,k值-,

​ 旧方法:用官方插件Complex_ior。新版本引入金属性材质后,就过时了

​ 新方法:用金属性,查表(话说这里填漫反射颜色了)

​ vraymasters.cn/magazine/understanding-metalness/中有篇“了解金属性”的文章

​ 这里面有个表,金属性参数都是1

​ 3ds照填就好

​ Sketchup里色彩空间要调到线性的(RGB而非SRGB),再填数据

​ 线性材质滑板,中间的灰128,则是非线性滑板!?

​ 为什么用数值还原又要有漫反射呢?

​ 金属性的1和0可切换金属与非金属

​ 这样一来,加入金属性材质后,用这种方法记录

​ 即用diffuse代替reflect记录颜色趋向,可省掉一个通道

​ PBR材质体系【Physically-Based Rendering】

​ 为什么是滑竿而非开关?

​ 半导体有可能是1到0之间?知乎叛逆者的一篇文章,但不确定

​ 但应该是这辈子用不上了

Gamma校正和线性工作流

​ Gamma校正

​ 为什么要做gamma校正

​ 1.人对光强度的感知是非线性的

​ 2.数字图像所能采集和回放的灰阶层次有限,要省着用,术语叫节约带宽

​ 美术灰阶与物理灰阶

​ 两种灰阶图

​ 美术上的中灰,美术上较于直观,美术中灰约是纯白的20%左右(21.8%)

​ 物理上的中间调,物理光强均匀增强不符合人类主观印象

​ 伽马校正含义

​ 由于色阶有限,用物理灰阶分段则暗部过渡不均匀

​ gamma就是把两种灰阶函数联系起来的函数校正,把光强灰阶非线性校正为美术灰阶

​ y=x^gamma

​ sRGB(stand RGB)是一个gamma约等于2.2的色彩空间

​ 导出与显示

​ 导出的8位每通道(2^8=256)数据,bmp,jpg,png这些都经过了校正,抽象来讲是“美术数据”

​ (RGB导出时,gamma=0.454时,是一条向上凸的gamma阶函数图像)

​ 如果直接按色阶显示,会偏亮。这时显示器会重新gamma校正压回来,减低发光

​ (此时gamma=2.2,函数往下压。2.2和0.454互为倒数,两次gamma校正后值不变,变回原图)

​ 误用结果

​ 物理数据用于显示,给显示屏处理,因为便于控制发光。或者打印?

​ 美术数据用于存储,因为便于存储更多人眼所更需要的数据

​ 若把物理数据用于存储,则暗部信息存储得少,显示时暗部过渡不均匀

​ 若把美术数据用于显示,则未经过校正的美术数据中的中灰(20%纯白)会被当做128来显示

​ 显示成更亮的物理中灰,即画面整体变亮!

​ 线性工作流

​ 没有使用线性工作流

​ 光线衰减快,高光易曝,室内易暗

​ 这里就是犯了上面所说的“误用”的错误

​ vRay按道理是物理引擎,要给物理数据。但给的贴图却是美术数据,把偏亮的贴图给了渲染器

​ 若调到贴图正常,则表现为灯光衰减快

​ 线性工作流流程

​ 首先,导入贴图时把gamma值变回1,叫De-Gamma

​ 然后,数据显示时会被屏幕压暗,然后用gamma校正提回来

​ PS的线性工作流

​ 缩放、柔边缘画笔,高斯模糊都是错的?

​ 在8位每通道的环境下做物理计算,都是错的。结果会更暗更黑

​ 缩放、高斯模糊

​ 如一个黑白棋盘格,现实中离远(缩小)了看应该得到物理中灰,但屏幕会显示美术中灰

​ 怎么得到正确平均色?在32位每通道下运算即可!

​ 保存

​ 32位环境工作满意后,cn新建新图层,csae盖印所有图层,复制到新文件,切回8位再保存

​ 3ds的线性工作流流程(一般来说什么都不知道的话就是会正常自动gamma)

​ 3ds渲染帧窗口

​ 自定义>首选项>Gamma和LUT>默认就是线性工作流正确参数(启用,Gamma2.2,勾选影响颜色、材质选择器)

​ 但是,同时意味着调整颜色时的RGB通道数值不再拥有任何参考意义

​ VRay渲染帧窗口

​ 按下伽马曲线

​ 渲染设置>颜色映射(专家模式)

​ 默认Gamma2.2没错,莱茵哈德(Reinhard)1.0=线性倍增

​ 不够选子像素贴图,钳制输出,不要勾选线性工作流!(再勾就会de-gamma两次)

​ 模式,在线性倍增(/Reinhard1.0)下都一样。非线性倍增看情况

​ 导入贴图/导出图片时,的窗口有个gamma自动,默认就会校正贴图颜色。8位自动给2.2gamma,32位不给。

​ 重点

​ 不是所有贴图都需要de-gamma

​ 光泽度,IOR,法线图这种8位每通道的图,不需要。导入时【不要】选择自动gamma!

​ (与颜色有关,都要de-gamma,与数值有关,不要de-gamma)

​ 法线图VRayHDRI可以随时调整gamma值

​ (斜波举例-VRayDisplacmanMod-VR置换修改器)

​ 【重要技巧】看VR法线贴图未添加贴图时和自己添加的法线图的色调是否一致

​ 用法线图而非凹凸时,记得把30改回100

9012年了,有同学还在用魔棒抠图

​ 用快速选择

​ 调整边缘改名为选择并遮住

​ 新增:选择主体(AI)

​ 选择并遮住模式

​ 视图:F切换预览模式,不透明度调整遮住蒙版不透明度

​ 快速选择:alt临时切换,e正负切换,[]控制大小等

​ 边缘修改技巧

​ 平滑不能直接给,先羽化模糊,再用对比度卡掉,可得到赶紧的平滑边缘

​ 移动边缘去掉颜色边

​ 再细:B:蒙版笔刷(黑白笔刷)

​ 净化颜色:净化边缘的"异颜色"(会修改掉原图)

永远不要用自发光材质做主光源,不然会产生光斑

​ VR计算漫反射表面亮度分两步

​ 1.直接光照(Lighting)

​ 2.全局照明(GI,Global IIIumination)

​ 计算原理

​ 直接光照

​ 快且准确,要计算区域和光源直接连线即可计算出来

​ GI

​ 计算非常麻烦,要计算的区域要向场景发出非常多的随机样本来收集信息

​ 亮斑和暗斑产生直接原因

​ 如果场景中有面积非常小但是非常亮的表面(是表面而非灯光)

​ 那么从区域发出的随机样本未必能达到那些表面

​ 若达到的少,则产生黑斑;若达到的多,则产生亮斑

​ 自发光材质会导致明显的光斑

​ VRay自发光材质虽然会发光但不属于灯光,发光的只是表面,提供的是GI的照明!

​ 首次引擎:发光贴图:体现为光斑

​ 首次引擎:暴力计算:体现为噪点

​ 没有用自发光也产生光斑?

​ 筒灯模型内的灯光在360度打光时,使灯筒壁表面非常亮,这种表面本质上类似于自发光材质

​ 从而产生光斑

​ 解决方法:筒灯内部不用点光源或球等,用聚光灯或IES灯

VR-4.0-Next新版本那些事

​ 整体更快

​ VR自适应灯光(灯特别多时速度相对以前增加越快)

​ 在渲染面板-VRay-专家模式的全局开关那里,旧版是完整灯光求值

​ 多重重要性采样

​ 自适应穹顶灯光

9012年了,还在“渲小图,出大图”?

​ VRay出图拆分两个步骤

​ “跑光子”,GI预采样

​ “出正图”,正视图AA采样+着色采样

​ 一般出图流程

​ 引擎发光贴图配灯光缓存,两者都是预采样算法

​ 顺序是先跑灯光缓存,再跑发光贴图

​ 1.出现一堆小点, Building light cache... 是跑灯光缓存过程

​ 2.方块把小点扫成小马赛克 Prepass n of m... 是跑发光贴图过程

​ 3.然后这遍扫描会比较慢 Rendering image... 是正式出图过程

​ 4.最后还有一遍降噪过程

​ 什么是出小图,渲大图?

​ 出小图,但要用极高参数,发光贴图和灯光缓存调得特别高,得到光子文件并保存

​ .vrmap是发光贴图文件。.vrlmap是灯光缓存文件

​ 然后给大图尺寸,但其他质量参数不必太高了,用之前得到的光子文件来渲

​ 这样渲染没有预采样信息,直接出大图

​ 牺牲掉的:是反弹光的质量

​ 非照片级可接受,而且已经用了发光贴图配灯光缓存,已经是不准确的间接光了

​ 控制GI细分【更简单省时间的方法】

​ 灯光缓存:

​ Subdivs细分(其平方就是计算射线的数量)(高质量就是2000),与图幅无关

​ 发光贴图:

​ MinRate最小速率-最简单的地方,每个像素取多少个样本(4位底的n次方,-3即4^-3=1/64,或者说64个像素共用一个样本)

​ MaxRate最大速率-最复杂的地方,每个像素取多少个样本(4位底的n次方,0即4^0=1)

​ Subdivs细分,一个样本要射出多少条射线(其平方就是计算射线的数量)

​ 那么就是说,可以控制细分,让不同大小图幅的图,取一样多的样本

VR十周年聚会视频

​ “如果我们想得到物理准确的结果,就得用无偏渲染”

​ “我可不想花十二小时就等**一张渲染图”

​ 有偏算法:采集GI间接光时用灯光缓存配发光贴图

​ 无偏算法:VR切成Bxxx Force

​ “Everything has Fresnel”

​ “看见没有(美钞),半透明。就用双面材质,好用极了。能出来影子”

​ “...代理物体...”

​ “次表面散射”

​ “物理摄像机”

​ Christopher Nichols

​ 技术性博客

​ Bilibili___V-Ray中文资讯站

【VrNext上】软件评书,VR next的幕后故事-高光、反射光泽度合并

​ VR出生日:2002.3.13

​ VR 4---VR Next (four-for)

​ 新特性:

​ 提速25%

​ 光线追踪库(求交点速度提升1倍)

​ 场景渲染速度最多快7倍

​ 自适应灯光与自适应穹顶灯光

​ 自适应开关在渲染设置的全局开关中

​ 自适应穹顶灯光在灯光设置面板的穹顶灯光中

​ 幕后Story

​ 1.Code:The inverse>The inverse probability

​ 2.非物理会出现的错误,反射但透光的片,高光不同反射光泽度

【VrNext下】为啥高光、反射光泽度合并了,自适应穹顶灯光什么意思

​ 多重重要性采样

​ Light(灯光)、BRDF(材质)之间寻求平衡

​ Specular、Reflection的区别

​ Specular+Reflection得到反射实际效果的总贡献

​ 两者是对灯光、对环境的两个采样

​ Specular是对灯光的反射,Reflection是对环境的反射

​ Specular是相当于Lighting,Reflection相当于Global illumination

​ Specular是对灯光重要性采样(Light),Reflection是对材质重要性采样(BRDF)

​ Specular有关于旧版的高光光泽度,Reflection有关于旧版的反射光泽度

​ Lighting可以直接套公式,如灯光有平方反比定律(亮度和距离)

​ 那么如果高光光泽度和反射光泽度不同,又或者有非物理的透光片

​ 就会造成Specular层和Reflection层不平衡,产生方块/噪点