随笔分类 - Shader
摘要:1.写在前面 好久没有写博客了,最近面试不太顺利,认识到应该把学习心得或者说是结果都落实到博客上来,一来加深印象,二来有利于自我展示. 本片博客的内容是讲地形纹理混合,是关于手游sgl大地图的shader实现. slg大地图,如cok,是很大的.在渲染时,只渲染屏幕周围的一部分. 在渲染屏幕地形时,
阅读全文
摘要:1.代码Shader "AAAA/HeatIsland" {Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _OffsetTex ("Shui (RGB)", 2D) = "white" {} _ClipTex ("Cli...
阅读全文
摘要:1.效果更改设定的偏移值可以达到光束动起来的效果.2.原理首先,将当前uv通过与左乘矩阵绕原点顺时针旋转30度,然后再乘以二,将当前像素点的亮度乘以lerp(1,0,uv.y)(即(1 –f)*a+b*f,旋转过后,处于x轴上的点所得到亮度最大,将得到的值转化为0-1内的变量,乘以当前uv对应的图片...
阅读全文
摘要:1.效果2.原理uv所对应的atan2(x,y)表示反正切(x/y)的值,在区间[-π,π]中.我们设定图片中心为原点,则所有的点所对应的角度都是可以通过反正切计算出来的.通过与设定的_Angle值比较,大于部分不变化,乘以的是1,另外一部分乘以0.3*0.5+0.5,达到变暗的目的.3.代码 1 ...
阅读全文
摘要:原文连接:http://blog.csdn.net/mobanchengshuang/article/details/387310351.代码 1 Shader"Custom/圆角"{ 2 properties{ 3 _MainTex("Base(RGB)",2D)="whi...
阅读全文
摘要:1.代码 1 Shader "Custom/百叶窗" { 2 Properties { 3 [PerRendererData]_MainTex ("Base (RGB)", 2D) = "white" {} 4 _Count("Count",float)=1 ...
阅读全文
摘要:1.效果2.原理 通过检测alpha的变化梯度可以确定边缘.也可以通过周围alpha的值来扩大显示范围,先画出一个背景来.3.代码 Shader "Custom/Outline2D" { Properties { _MainTex ("Base (RGB)", 2D) = "...
阅读全文
摘要:渲染过程中,Shader总是优先对每个顶点进行计算(这里如果我们用顶点方法,那么我们的顶点方法就会被调用);顶点计算出后按照一定的格式输出给下面的流程,其中的某一步就是我们放置的surfa方法,它接收的输入可以进行一定的控制(我们将用顶点方法输出). 整个 shader 相关流程如下: 1、...
阅读全文
摘要:Alphatest使用方法:#pragma surface surf Lambert alphatest:_value注意关键字是:alphatest作用:将低于这个值的Alpha全部丢掉,就当没有,所以就出现了低于_value的像素点不再处理的情况.(但是高于目标值的点也不会有透明效果)代码:Sh...
阅读全文
摘要:透明在渲染的时候经常用,类似玻璃啊,头发啊,树叶啊之类的,必须要用到.代码Shader "Cutom/11.27/3"{ Properties{ _MainTex("Base(RGB)",2D)="white"{} } SubShader{ ...
阅读全文
摘要:对于金属状、玻璃状物体,它们的表面能映射出周围环境。如果碰上这类的物体,用上我们本篇的 shader,就能让这种物体显得更加的逼真。制作Cubemap写Shader之前呢,要用到一个Cubemap,可以用Unity的编辑器生成.代码如下:using UnityEngine;using UnityEd...
阅读全文
摘要:就我目前所知道的,在光照这吧,主要有三种算法,第一种漫反射的Lambert已经介绍过了,接下来还有BlinnPhong和Phong,都是用来做高光的.那么我们先来看第一种,先看代码BlinnPhong光照模型 inline float4 LightingSpecular(SurfaceOutp...
阅读全文
摘要:法线贴图据说很常用,可以用来表现物体的凹凸感.使用时,需要有一张原图和用来记录法线的法线贴图.贴图:法线贴图:效果对比(右边加了法线):代码Shader "Custom/11.26/3" { Properties { _MainTex ("Base (RGB)", 2D) = "...
阅读全文
摘要:上一篇讲了自定义光照的HalfLambert,这一次和它有些类似,但是计算的时候,不再用方向和atten相乘了.将光入射方向与法相的点乘积HalfLam作为坐标,找到RampTexture中(HalfLam,HalfLam)点的rgb值作为混合值与s.的Albedo和入射光颜色相乘.代码如下:Sha...
阅读全文
摘要:每一个Material都要选择一个使用的Shader.每一个Material都会存储自己的值我们新建一个混色的Shader,再分别创建四个Material,其效果如下:Shader代码如下:Shader"Custom/11.25/2"{ Properties{ _Value("C...
阅读全文
摘要:写在前面本系列随笔是看化石大大的Unity Shader编程做的图书笔记,原课程地址:Unity Shader编程Shader简介Shader直译的话意思是"着色器",是在可编程的渲染管线中对渲染过程进行控制的,具体怎样作用我们以后再说,现在我们先关注在Unity中用ShaderLab怎样实现一些常...
阅读全文

浙公网安备 33010602011771号