首页 > 其他分享 >Games101-5 shadering

Games101-5 shadering

时间:2024-05-17 20:10:40浏览次数:16  
标签:贴图 法线 线性插值 shadering texture 纹理 --- Games101

shader

  • 对不同物体应用不同的材质

定义:

600

shading != shadow

diffuse reflection 漫反射

光照角度不同,则反射程度也不同

600

于此同时物体离光源越远,反射程度越低

600

600

600

高光项

镜面反射和视线比较接近的时候

使用半程向量计算高光

600

注:

  • 半程向量比较好算,反射向量比较难算
  • 指数 p : cos 容忍度太高了,光斑太大 --- 200 - 600

600

600

ambient term 环境光

600

600

shading frequencies

600

600

600

600

定义法线

定义每个顶点的法线

600

定义每个像素的法线

600

渲染管线

600

Texture mapping -- 纹理映射

600

600

shadertoy.com
https://youtu.be/XuSnLbB1j6E

Texture Mapping

不同材质的漫反射系数不同。 三维物体的表面都是二维的

600

600

600

UV坐标系 --- 都在 0-1, 每个三角形的顶点都对应一个UV坐标

600

重心坐标 barycentric coordinate

在三角形内做插值

obtain smoothly varying values across triangles

600

常数 为非负数

600

600
根据面积计算

600

使用重心坐标进行插值

600

问题: 投影之后重心坐标会改变--- 不能对投影之后的三角形计算重心。

使用 texture

600

问题:

texture Magnification 纹理放大。

600

查找纹理的时候我们希望更加连续一点。

  • 使用双线性插值

600

600

600

Bicubic

临近的16个

texture is too big

600

600

600

600

mipmap

allowing (fast approx square) range queries

600

600

计算 mipmap 的level

600

600

600

600

如果在 1.8层 这种非整数层 --- 使用三线性插值计算

Trilinear interpolation

600

三线性插值 的 资源消耗很小,但是效果很好

600

mipmap 的限制

overblur

600

解决方案 -- anisotroptic filtering 各项异性过滤 ---部分解决

600

600

EWA 过滤

600

纹理的应用

600

600

问题: 贴图会扭曲。

600

600

凹凸贴图

600

法线贴图

600

600

600

位移贴图

600

3D噪声

600

600

三维纹理

600

标签:贴图,法线,线性插值,shadering,texture,纹理,---,Games101
From: https://www.cnblogs.com/bigsharker/p/18198495

相关文章

  • Games101-6 Geometry
    implicit--隐式几何explicit--显示几何implicit点不需要知道位置,但是可以用点之间的关系表示(按照类别归类)E.g.allpointsin3D,where$x2+y2+z^2=1$更通用的表示$f(x,y,z)=0$劣势:不直观优势:可以很简单的判断一个点是否再物体内或者外。explicit......
  • Games101-7 raytracing
    shadowmapping思想:光源可以看到点,人也可以看到的点。---不在shadow中的点只能处理点光源深度不一致浮点数的精度问题。软/硬阴影raytracing直线传播不会碰撞从光源出发,到人眼光线是可以反射的多次弹射的光纤追踪rayequation对隐式表面对显示......
  • Games101-7 raytracing2
    辐射度量学basicradiometry---精确的描述光光线的强度Iis10。在屋里层次准确的描述光Newterms:radiantfluxintensityirradianceradianceradiantenergyandflux,radiantintensityRadiantintensity中角度是如何定义的单位立体角Radiantinte......
  • Games101-8 material and appearance
    漫反射的prdfglossymaterial折射BTDF全反射的情况:$n_i$远大于$n_{t}$也就是说入射密度大。因此水底看空气---会发生全反射情况。fresnelreflectionterm菲涅尔项绝缘体见到那说就是如果如何入射光和法线几乎平行---则大量会被反射。导体......
  • Games101 环境搭建
    wsl环境配置必要的库sudoaptinstallg++gdbcmakesudoaptinstalllibopencv-devlibeigen3-devopencv头文件{"configurations":[{"name":"Linux","includePath":[&qu......
  • Games101-1 Linear Algebra
    简单介绍和资源列表https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html线代vector--向量表示$\vec{a}$and$\mathbf{a}$and$\vec{AB}=B-A$指代方向没有起始点向量的长度$\left|\vec{a}\right|$单位向量$\hat{a}=\vec{a}/\left|\vec{a}\r......
  • Games101-2 transform
    2Dpoint=$(x,y,1)^T$2Dvector=$(x,y,0)^T$---平移不变性transformtranslationAffinetransformner逆变换就是逆矩阵变换的组合矩阵的乘法变换的分解变换到中心旋转变换回原始位置三维3D旋转viewtransformationmodeltransformviewtransf......
  • Games101-9 advanced rendering
    PhysicallyBasedRendering:FromTheorytoImplementation(pbr-book.org)advancedlighttransport有/无偏的光线传播方法双向路径追踪这里主要的光照为间接光---不是直接光源---实现比较困难。使用马尔科夫链进行推测。优势:对于光线复杂的情况来水,比较好......
  • Games101-4 antialiasing and z-buffer
    利用中心对三角形进行采样antialiasing反走样samplingartifact--图形学中一切不好的东西空间,时间采样问题---信号的速度快导致采样跟不上如何做:在采样之前进行模糊/滤波,然后进行采样--不能反过来正弦和余弦滤波--好处:参数不同频率不同---每隔多少就重复一次......
  • Games101:绕任意轴旋转
    Overview对于任意坐标\(S_1=(S_x,S_y,S_z)^T\),绕任意轴线\(\vec{n}=(n_x,n_y,n_z)^T\)旋转\(\alpha\)度,推导变换矩阵\(R(\vec{n},\alpha)\),使得变换后的坐标\(S_2=R(\vec{n},\alpha)\cdotS_1\)本文使用向量运算,推导该变换矩阵。注意:轴线经过坐标系原点基本公式以列向量表......