- 博客(6)
- 收藏
- 关注
原创 UnityShader描边实现整理
描边1、基于观察角度和表面法线的轮廓线渲染基本思路:以归一化的顶点到摄像机的向量和归一化的顶点法线向量的点乘为参考值,该值越小(越接近于0),该像素就越解决于边缘。优点:简单快速,只需要一个Pass。缺点:局限性大,很多模型渲染出的效果不尽人意。Shader "Unlit/RimLight"{ Properties { _RimColor("RimColor",Color) = (1,1,1,1) _RimPower("Power",Rang
2020-08-23 16:53:31
1157
1
原创 Unity中使用json进行数据存储整理
Json轻量级的数据交换格式。存储方式为键值对,键是字符串,值可以是对象,数组,数字,字符串,true,false,null(必须小写)。键和值之间用冒号:隔开键值对之间用逗号,隔开对象由花括号包围{}数组由方括号包围[]JsonUtility类Unity官方的类,仅包含两个功能,将对象转换为json格式字符串,和转换回来。优点:可以将json转化为unity对象。缺点:无法使用键获取当中的值。//被转化为json格式的对象[System.Serializable]class te
2020-07-09 17:33:24
2330
原创 ShaderToy最简单的光线追踪RayMarching
基本思想从摄像机(ro)穿过屏幕上的每一个像素发射一条射线,返回遇到的第一个几何体表面的点到摄像机的距离,由此可以计算出这个点的三维坐标。从模型上的该点向光源发射一条射线,配合表面法线计算出明暗程度,渲染到这个像素上。函数一RayMarchfloat RayMarch(vec3 ro,vec3 rd){ float dO = 0.; for(int i=0; i<MAX_...
2020-02-15 21:21:15
1203
原创 着色器编程基础02,创建三维空间中的摄像机
效果基本思路根据摄像机的位置,面朝的方向,摄像机距离屏幕的距离,将uv也就是像素在屏幕上的坐标转换成三维空间中的坐标。实现细节创建一个摄像机需要两个变量,摄像机的位置和朝向的方向。vec3 ro :摄像机的位置。vec3 lookAt :摄像机看向的位置的坐标。float zoom :摄像机到屏幕的距离。当画一个点时,需要输入三个参数,ro,rd(摄像机位置到当前在计算的像素之间...
2020-02-10 20:10:32
273
1
原创 着色器编程基础01,渲染三维空间中的点
语言为glsl(OpenGL Shading Language),在www.shadertoy.com网站上可以直观的学习。着色器中的三维空间图中黑色方框为屏幕,以中心为坐标系原点(0,0,0),以如图方式建立坐标系。计算三维空间中某一点到射线的距离...
2020-02-10 20:10:14
394
原创 Unity中使用Shader制作雨中的玻璃窗学习笔记
Unity中使用Shader制作雨中的玻璃窗学习笔记使背景变得模糊,模拟雾气使玻璃变得透明手写模糊算法使背景变得模糊,模拟雾气纹理的Inspector面板中,勾选Generate Mip Maps,会生成八个MipMaps,具有不同的细节度。tex2Dlod(_MainTex,float4(x,y,z,w));该纹理采样函数中,除了uv以外,还可以控制细节等级,和偏移 ,w控制细节。纹理...
2020-02-04 11:15:26
1848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人