PBS的理论和数学基础
现实生活中,光和物体的交互过程非常复杂,但为了在渲染中对光照进行建模,往往只考虑一种特殊情况——两个介质的边界是无限大并且是光学平滑的,但观察微表面是凹凸不平的表面:
金属材质具有很高的吸收系数,因此所有折射的光往往会被立刻吸收,被金属内部的自由电子转化...
Mavis
3年前 (2020-11-13) 46℃ 0评论
1喜欢
unity中表面着色器实际是对顶点/片元着色器的抽象
Shader "Unity Shaders Book/Chapter 17/Bumped Diffuse" {
Properties {
_Color ("Main Color", Color) = (1,1,1,...
Mavis
3年前 (2020-11-13) 45℃ 0评论
0喜欢
移动平台的特点
为了尽可能移除那些隐藏的表面,减少overdraw(即一个像素被绘制多次),powerVR芯片(通常用于ios设备和某些Android设备)使用了基于瓦片的延迟渲染(Tiled-based Deferred Rendering ,TBDR)架构,把所有的渲染图象装...
Mavis
3年前 (2020-11-12) 122℃ 2评论
0喜欢
消融效果
消融(dissolve)效果常见于游戏中的角色死亡、地图烧毁等效果,从不同的区域开始,向看似随机的方向扩张消失。
使用噪声纹理+透明度测试:对噪声纹理进行采样,结果和某个控制消融程度的阈值比较,小于阈值就使用clip函数把它对应的像素剪裁掉。镂空区域边缘的烧焦效果是将两...
Mavis
3年前 (2020-11-12) 44℃ 0评论
0喜欢
通常游戏渲染以照相写实主义(photorealism)为主要目标,也有许多游戏使用了非真实感渲染(non-photorealistic rendering,NPR)的方法来渲染游戏画面。
卡通风格的渲染
特点:物体被黑色的线条描边,分明的明暗变化,实现卡通渲染有很多方法,其中之一...
Mavis
3年前 (2020-11-12) 55℃ 0评论
1喜欢
获取深度和法线纹理
深度纹理:深度值来源于顶点变换得到的归一化的设备坐标(NDC),unity中针对观察空间为右手坐标系,使用列矩阵右乘,变换到NDC后z分量将再[-1,1]。DX中,变换后的分量z在[0,1]中。z分量通过乘0.5加0.5的方式映射到纹理坐标中。
unity中得...
Mavis
3年前 (2020-11-12) 61℃ 0评论
2喜欢
屏幕后处理效果(screen post-processing effects)是游戏中实现屏幕特效的常见方法。
建立一个基本的屏幕后处理脚本系统
渲染完得到屏幕图像后对图像进行一系列的操作,抓取屏幕可以使用OnRenderImage函数
MonoBehaviour.OnRende...
Mavis
3年前 (2020-11-09) 57℃ 0评论
0喜欢
unity shader内置变量(时间)
纹理动画——序列帧动画
可以将序列的纹理按顺序选中后ctrl+6可以自动生成序列帧动画。
也可以通过shader:提供一张包含了关键帧的图像,重点在于需要在每个时刻计算该时刻下应该播放的关键帧的位置,并对该关键帧进行纹理采样。
Sha...
Mavis
3年前 (2020-11-08) 43℃ 0评论
1喜欢
立方体纹理
对立方体纹理采样需要一个三维的纹理坐标。尽量对凸面体使用立方体纹理(凹面体会反射自身,但是立方体纹理不能模拟多次反射的结果)。
立方体纹理的两大应用:天空盒子+环境映射
天空盒子
创建一个skybox材质即可,然后赋值给天空盒子:
步骤:创建材质,shader选择内置...
Mavis
3年前 (2020-11-08) 30℃ 0评论
0喜欢
Unity的渲染路径
渲染路径rendering path 决定了光照是如何应用的,大多数情况下一个项目使用一种渲染路径,但是如果希望使用多个渲染路径,例如相机A使用前向渲染,相机B使用延迟渲染,可以在每个相机的渲染路径中设置以覆盖全局的设置
全局设置:
相机单独设置:
设置Pa...
Mavis
3年前 (2020-11-07) 52℃ 0评论
0喜欢