立方体纹理
对立方体纹理采样需要一个三维的纹理坐标。尽量对凸面体使用立方体纹理(凹面体会反射自身,但是立方体纹理不能模拟多次反射的结果)。
立方体纹理的两大应用:天空盒子+环境映射
天空盒子
创建一个skybox材质即可,然后赋值给天空盒子:
步骤:创建材质,shader选择内置...
Mavis
3年前 (2020-11-08) 30℃ 0评论
0喜欢
Unity的渲染路径
渲染路径rendering path 决定了光照是如何应用的,大多数情况下一个项目使用一种渲染路径,但是如果希望使用多个渲染路径,例如相机A使用前向渲染,相机B使用延迟渲染,可以在每个相机的渲染路径中设置以覆盖全局的设置
全局设置:
相机单独设置:
设置Pa...
Mavis
3年前 (2020-11-07) 52℃ 0评论
0喜欢
两种方法实现透明效果:透明度测试、透明度混合
透明度测试
不需要关闭深度写入,不满足条件舍弃片元,满足条件按照不透明物体处理(深度测试,深度写入)。
Shader "Custom/透明度测试"
{
Properties {
_Color ("Color Tint...
Mavis
3年前 (2020-11-06) 28℃ 0评论
0喜欢
使用纹理映射(texture mapping),逐纹素(texel)地控制模型地颜色,unity使用地纹理空间是符合OpenGL传统地,原点位于纹理左下角。
单张纹理
通常使用纹理来代替物体地漫反射颜色,依旧使用Blinn-Phong光照模型进行计算:
Shader "Unit...
Mavis
3年前 (2020-11-05) 67℃ 0评论
0喜欢
基础知识
光源:实时渲染中,通常把光源当作一个没有体积的点,用l来表示它的方向。使用辐照度(irradiance)来量化光。
吸收和散射:光源与物体相交的结果:散射(scattering)/吸收(absorption)。
散射改变光线方向,但不改变光线密度和颜色:有两种方向,一...
Mavis
3年前 (2020-11-04) 28℃ 0评论
0喜欢
创建一个最简单的顶点/片元着色器
使用unity版本如下:
第一步:去掉初始的天空盒子,只是为了得到更加原始的效果:
第二步:创建Shader文件和材质(前面提到过材质是shader 的载体),并将shader赋给材质(路径可以点开shader查看,也可以自己修改好路径后再赋...
Mavis
3年前 (2020-11-04) 25℃ 0评论
0喜欢
二维笛卡尔坐标系
二维笛卡尔坐标系:原点+过原点且互相垂直的两矢量即x轴和y轴。所有二维笛卡尔坐标系都是等价的,可以通过旋转互相得到。
三维笛卡尔坐标系
三维笛卡尔坐标系:原点+三个坐标轴。
基矢量(Basis Vector):该坐标系的三个坐标轴。
正交基(Orthogona...
Mavis
3年前 (2020-11-02) 116℃ 0评论
1喜欢
Unity Shader 概述
材质是Unity Shader的载体,再将材质赋给相应模型即可查看最终的效果。
Unity中的材质
材质需要结合GameObject的Mesh/Partical Systems组件来工作,新建材质默认使用内置的Standard Shader,可以在...
Mavis
3年前 (2020-11-01) 107℃ 0评论
1喜欢
流水线
流水线系统中决定最后生产速度的是最慢的工序所需要的时间,该工序也是性能的bottleneck。理想情况下,把一个非流水线系统分成n个耗时相同的阶段,可以使整个系统的速度提升n倍。
渲染的概念流水线
1、渲染流水线的工作任务是从一个三维场景(一系列顶点数据、纹理等信息)出发...
Mavis
3年前 (2020-11-01) 45℃ 0评论
1喜欢