Shader学习笔记
文章平均质量分 77
This is MX
学不可以已!!!
展开
-
图形学入门---纹理压缩
图形学入门—纹理压缩前记:快学啊----------------------------------------mx基础:图片压缩格式基于整张图片进行压缩,无法直接实现单个像素的解析图片压缩格式无法被GPU识别,还需要经过CPU解压缩成非压缩纹理格式才能被识别纹理压缩格式基于块压缩,能够更快读取像素所属的字节块进行解压缩以支持随机访问ASTC纹理压缩格式介绍ASTC是在OpenGL ES3.0出现后在2012年中产生的一种业界领先的纹理压缩格式,它的压缩分块从4x4到12原创 2021-08-03 10:35:56 · 603 阅读 · 0 评论 -
Shader入门---曲面细分着色器和几何着色器
Shader入门—曲面细分着色器和几何着色器前记:学不可以停止-------------------------------mx基础知识:曲面细分着色器:可以将一个几何体细化为一个球体也能将一根直线无限向曲线逼近使用曲面细分的好处:直接使用顶点数更多的模型会带来更高的性能消耗,曲面细分能根据规则来动态调整模型的复杂度,达到对应的效果曲面细分着色器的输入输出:输入:Patch,可以看成是多个顶点的集合,包含每个顶点的属性,可以指定一个Patch包含的顶点数以及自己的属性功能:将图元细分(可以是原创 2021-07-31 16:55:49 · 2134 阅读 · 0 评论 -
URP---自定义后处理流程
URP—自定义后处理流程前记:默认的build-in管线的后处理挺简单,但是换了urp还想上后处理,使用这几天进行了学习---------------------mx屏幕后处理:通常指在渲染完整个场景得到屏幕图像之后再对这个图像进行一系列操作,实现各种屏幕特效。在build-in的管线中,后处理的基本流程是:预处理—用于提前检查各种资源和条件是否满足在OnRenderImage函数中对shader中的变量进行赋值,并根据shader对源图像进行处理URP后处理前期准备在包管理器中导入Uni原创 2021-07-22 14:48:46 · 1843 阅读 · 0 评论 -
Shader入门-------屏幕后处理
Shader入门-------屏幕后处理前记:需求需要,快速学习--------------------mx屏幕后处理:通常指在渲染完整个场景得到屏幕图像之后再对这个图像进行一系列操作,实现各种屏幕特效。Unity中提供一个接口OnRenderImage函数。声明如下:OnRenderImage(RenderTexture src ,RenderTexture dest) Unity会把当前渲染得到的图像存储在第一个参数对应的源渲染纹理中,通过函数中一系列操作后,再把目标渲染纹理,即第二个参数对应的渲原创 2021-07-19 11:09:51 · 408 阅读 · 1 评论 -
Shader效果------渐变透明
Shader效果------渐变透明前记:同学提出的一个跳转效果,摸一下,深感自己数学之差,我要学数学----mx效果查看基本思想:根据uv坐标判断范围,然后对符合要求的片元的透明通道进行插值,做成渐变的。然后使用代码控制改变_Bound_Multiplier就可以拿来做跳转效果了shader代码:Shader "Unlit/TestHalfAlphaBlendZWriteShader"{ Properties { _Color ("Main Tint",Co原创 2021-06-25 12:41:36 · 2181 阅读 · 2 评论 -
Shader入门-------透明效果
Shader入门-------透明效果前记:深夜写笔记,以后再也不熬夜了,脑壳疼----------mx基础:在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道。当开启透明混合后,当一个物体被渲染到屏幕上时,每个片元除了颜色值和深度值之后,还有另一个属性----透明度,当透明度为1时,像素完全不透明,为0时,像素完全透明在unity通常有两种方法实现透明效果:一种是透明度测试,这种无法得到真正的的半透明效果;另一种透明度混合。深度缓存与深度写入:用于解决可见性问题的,它可以决定哪个物体的原创 2021-05-03 02:16:08 · 982 阅读 · 0 评论 -
Shader入门-------基础纹理
Shader入门-------基础纹理前记:不分行永远滴痛--------------------mx前置知识:使用纹理映射技术我们可以吧一张图“黏”在模型表面,逐纹素地控制模型的颜色。纹理映射坐标:定义了该顶点在纹理中对应的2D坐标,通常这些坐标使用一个二维变量(u,v)表示,期中u是横向坐标,v是纵向坐标。因此纹理坐标通常被称为UV坐标单张纹理:(实践)纹理的属性:Texture Type (纹理类型) :法线纹理一节中会使用Normal map类型,后面还会看到Cubemap等高原创 2021-04-30 15:51:06 · 753 阅读 · 2 评论 -
Shader入门-------基础光照
Shader入门-------基础光照前记:真正入门了,多图(代码也用图展示了)-------------博主:mxUnity Shader的基本结构其中声明了顶点着色器的函数,片元着色器的函数一个最简单的顶点/片元着色器ShaderLab属性类型和CG变量类型之间的匹配关系CGIncludes中主要包含的文件以及它们的主要用处UnityCG.cginc中一些常用的结构体UnityCG.cginc中一些常用的帮助函数从应用阶段传递模型数据给顶点着色器时Unity支持的常用语义原创 2021-04-23 17:28:00 · 396 阅读 · 1 评论 -
Shader预备知识二-------所需的数学基础
Shader预备知识二-------所需的数学基础数学基础,哦,我没有数学基础,那没事了-----------博主:mx坐标系:三位笛卡尔坐标系的三个坐标轴相互垂直且长度为1,成为标准正交基。对于相互垂直,但是长度不为一的基向量称为正交基两种不同的坐标系:左手坐标系和右手坐标系。这两个坐标系具有不同的旋向性,无法通过旋转的方法来让他们的坐标轴指向重合(注意:unity中模型空间和世界空间使用的是左手坐标系,观察空间使用的是右手坐标系)矢量(向量):包含了模(长度)和方向的有向.原创 2021-04-20 11:54:15 · 436 阅读 · 0 评论 -
Shader预备知识一-------渲染的基本工作流程
博主是一个想入坑Shader的小白,最近想学一下Shader实现一些有趣的效果,就去学习了一下,发一下自己的学习笔记给大家参考,欢迎交流-----------博主:mxShader预备知识一-------渲染的基本工作流程简化模型渲染流程分为3个阶段:应用阶段----几何阶段----光栅化阶段应用阶段通常由CPU负责,主要有三个任务:1.准备好场景数据,如摄像机位置,视锥体,场景模型,使用的光源等2.粗粒度剔除工作,把不可见的物体剔除出去3.设置好每个模型的渲染状态,目的是输出渲染所需的渲染原创 2021-04-04 11:27:10 · 709 阅读 · 0 评论