v2f
  • 2024-06-05Unity通过shader实现图像转像素画
    新建一个无光照shader(我选择了Create->Shader->UnlitShader),命名为:PixelateShader,双击打开它,粘贴以下内容Shader"Custom/PixelateShader"{Properties{_MainTex("Texture",2D)="white"{}_PixelSize("PixelSize
  • 2024-06-01Unity 实现让物体渲染在最前面
    演示实现方案1.创建一个shader脚本2.删掉原来的内容:我们自己写附上完整的shader代码:Shader"Custom/ZTestAlways"{Properties{_Color("ColorTint",Color)=(1,1,1,1)_MainTex("MainTex",2D)="white"{}}Sub
  • 2024-04-01美术生零基础转行TA中(第3天)
    20240401学习目标:刷课至2.9学习内容:2.7模型的本地空间Houdini观察空间:中心点在屏幕中心右手坐标系,右正左负应用程序阶段数据几何阶段顶点着色模型变换视图变换顶点着色几何曲面细分着色裁剪投影变换裁剪屏幕映射光栅化阶段三角形设置三
  • 2024-03-04从零开始做一个软渲染器——视锥剔除、齐次裁剪和背面剔除
    从零开始做一个软渲染器——视锥剔除、齐次裁剪和背面剔除项目地址:https://github.com/DogWealth/PIRenderer1.视锥剔除最简单的视锥剔除只需要在齐次空间(也就是透视投影变换之后,透视除法之前)中对三角形的顶点判断是否满足如下条件\[-w\lex\lew\\-w\ley\lew\\-w\le
  • 2024-01-25Shader实现翻书效果
    原理翻书这个过程可以看成是平面上的点都绕z轴旋转,但是直接这样写的话会出现问题。因为旋转轴是在中间的,所以我们在旋转之前要把点向左偏移5个单位这样旋转轴就到了最左边,然后再乘上旋转矩阵得到旋转之后的位置,再向右边偏移5个单位还原一下。这样实现的太生硬了,所以带入正弦函数
  • 2023-12-31Unity3d Vertex/Fragment Shader添加Shadow
    Shader"ZX/BaseVertFragmentShadow"{Properties{_DiffuseTexture("DiffuseTexture",2D)="white"{}_DiffuseTint("DiffuseTint",Color)=(1,1,1,1)}SubShader{
  • 2023-12-26Unity Shader学习随笔
    阴影:光源看不到,但相机看得到的地方,就是阴影变体:一个普通的Shader可能会有很多种效果例如一个火焰溶解效果,写在Shader里,但其实在未触发之前我们不需要去计算该效果因此需要在未触发前,将火焰溶解的效果计算关闭这就用到了变体,把火焰溶解的效果计算变成变体无论如何都会被编译
  • 2023-07-11Unity Shader 基础光照(build)
    1.光学基础1.1光源:光线由光源发出,在实时渲染中,我们通常把光源当成一个没有体积的点。用l代表光的方向,用辐照度来量化光的强度。辐照度的意思表示垂直于l的单位面积上单位时间穿过的能量。如果光于平面不垂直,则辐照度为cosS/l,S为光线与平面法线的夹角。1
  • 2023-06-18【Unity3D】阴影原理及应用
    1阴影原理​光源照射到不透明物体上,会向该物体的后面投射阴影,如果阴影区域存在其他物体,这些物体不被光源照射的部分就需要渲染阴影。因此,我们可以将阴影的生成抽象出2个流程:物体投射阴影、物体接收阴影。1.1阴影相关开关​1)开启Light组件渲染阴影NoShadows
  • 2023-03-03# shader——无限循环背景的制作
    制作前准备需求要求UI中的一张图片需要无限制的斜向移动。图片设置准备开始制作首先我们需要一个mainTexture的参数和调节速度的参数,所以我们在Properties块中
  • 2023-02-18通过半兰伯特实现颜色渐变Shader
     代码:Shader"Unlit/P_Gradient"{  Properties{    _BasicColor("基础颜色",Color)=(1.0,1.0,1.0,1.0)    _ControlDegree("控制强度",Color
  • 2023-02-17简单后处理 - 屏幕置灰
      置灰的shaderShader"My/PostEffectGray"{Properties{_MainTex("Texture",2D)="white"{}}SubShader{Tags{"R
  • 2023-01-31Camera画面边缘羽化
    用到的shaderShader"My/EdgeFade"{Properties{_EdgeFade("EdgeFade",Range(0,1))=0.8}SubShader{Tags{
  • 2023-01-29shader调试
    简单点就是将要调试的值输出为颜色1) 比如:调试顶点值时,将顶点值输出为颜色Shader"My/VertexDebug"{Properties{_MainTex("Texture",2D)="whi
  • 2023-01-29uv值显示为颜色
     UVColor.shaderShader"My/UVColor"{Properties{}SubShader{Tags{"RenderType"="Opaque"}
  • 2023-01-11Unity URP Shader之灰度化
    shader如下:1Shader"TA/Unlit/UI/UIImageGray"2{3Properties4{5_MainTex("MainTexture",2D)="white"{}6}78SubShad
  • 2023-01-07Unity URP Shader之如何获取屏幕坐标
    获取屏幕坐标,可使用Unity提供的内置函数float4ComputeScreenPos(float4positionCS);来获取,该方法定义如下:float4ComputeScreenPos(float4positionCS){float
  • 2022-12-20Unity shader cube纹理采样
    使用cube进行纹理采样,可以很方便的预览全景图,可以用立方体去显示全景图,而不必非得用球甚至还可以用更复杂的网格去贴全景图,只要保证网格的形状和全景图里的内容能对应上就
  • 2022-12-06《UnityShader入门精要》 漫反射部分代码及详细注释
    漫反射漫反射计算公式:Cdiffuse=(Clight·Mdiffuse)max(0,n·l)Clight:入射光线的强度和颜色Mdiffuse:材质的漫反射系数物体本色n:法线单位向量l:
  • 2022-11-03Cocos2dx渲染---从DrawNode切入
    一、先从画一条线开始1.drawLine使用方法autoscene=Scene::create();Director::getInstance()->runWithScene(scene);autonode=DrawNode::create();
  • 2022-09-21模拟spotlight
     实现方式:将聚光灯颜色按与光源的距离叠加到光照模型上,阴影用shadowmap:在光源处放一个相机,生成一张深度图和转换矩阵,再用主相机渲染出的片元的深度余存储的深度相比,小于
  • 2022-09-03读UnityShader入门精要第六章-Unity中的基础光照
    1.我们如何看到这个世界1.1 光源光是由光源发出的,在实时渲染中,光源被当成一个没有体积的点.在光学中,使用辐照度(irradiance)来量化光.当光打在一个平面上
  • 2022-08-14最简单的不发光(unlit)shader
    #功能就是原样显示一张贴图Shader"Unlit/NewUnlitShader"{Properties{_MainTex("Texture",2D)="white"{}}SubShader{