Kurong

眼泪是体积最小的海

Unity Shader 入门(七):模型描边Shader

前言 前面几篇我们写了几个边缘发光的shader,另外一个类似功能的就是模型描边,和边缘发光不同的地方在于,描边是在原有模型的基础上,添加一圈的外框。 老规矩还是来看一下效果图: 实现原理 利用两个Pass来绘制: 第一个Pass将......

Unity Shader 入门(六):边缘发光透明版

前言 之前我们写过一个边缘发光的Shader,这一次我们来写这个的升级版:透明物体的边缘发光。 效果图 首先我们还是来看一下效果图: Shader代码 Shader "Kurong/Rim/RimLightingTranslucent"{ Properties { _Color ("Color", Color) = (1,1,1,1) _AlphaRange("Alpha Range",Range(0,1)) = 0 _RimColor("Rim Color",Color) = (1,1,1,1) } SubShader { Pass { Tags { &......

Unity Shader 入门(五):透明效果知识储备

前言 透明渲染是是图形学里面的常见问题之一,对于渲染算法,可以大致分为基于光和基于视图的效果。基于光的效果是指物体使得灯光衰减或改变方向,从而导致场景中的其他物体以不同方式被照明和渲染的效果。基于视图......

Unity Shader 入门(四):边缘发光效果

前言 上一节我们学习查看了第一个模板Shader,现在我们开始写第一个Shader练练手。首先我们挑一个:边缘发光效果 的shader来写,先来看一下效果图: 实现原理 根据物体表面法向量和视线向量的夹角来判断是否是物体的边缘部位。夹角......

Unity Shader 入门(三):查看Shader

新建Shader 首先我们新建一个Shader,这里以 Standard Surface Shader 为例,新建之后我们打开Shader文件应该会出现如下代码: Shader "Custom/NewSurfaceShader"{ Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} _Glossiness ("Smoothness", Range(0,1)) = 0.5 _Metallic ("Metallic", Range(0,1)) = 0.0 } SubShader { Tags { "RenderType"="Opaque" } LOD 200 CGPROGRAM // Physically based Standard ......

Unity Shader 入门(二):Shader介绍

什么是Shader Shader(着色器):是渲染管线上的一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图、颜色等组合作用然后输出。Shader开发者要做的就是根据输入,进行计算变换,产生输出。shader大体上可以分为两类: 顶点w......

Unity Shader 入门(一):渲染管线

什么是渲染管线? Shader(着色器):是渲染管线上的一小段程序,要了解Shader首先要明白渲染管线是什么呢? 渲染管线的主要功能是在给定虚拟相机、三维物体、光源、照明模式,以及纹理等诸多 条件的情况下,生成或绘制一幅二߯......