自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unity中写GLSL(十八)—— 创建Diffuse环境贴图和Specular环境贴图

参考了WIKI:https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Many_Light_Sources 具体的可以到这个wiki上面去看,我这里只给结果。(写太多东西太麻烦。。。) 这是生成的Diffuse环境贴图: 这是生成的Specular环境贴图: 下面是代码:using System.Collections;using Sys

2018-01-31 17:02:01 2674

原创 Unity中写GLSL(十七)—— 半球光照

参考wiki:https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Diffuse_Reflection_of_Skylight先上图: 然后是代码:Shader "Custom/ShaderExample18"{ Properties { _Color ("Diffuse Material Color", Co

2018-01-29 16:42:07 674 1

原创 Unity中写GLSL(十六)—— 菲涅尔反射

参考了wiki:https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Specular_Highlights_at_Silhouettes先上图:不过看不太出什么区别 然后是代码:Shader "Custom/ShaderExample17"{ Properties { _Color ("Diffuse Mate

2018-01-29 16:38:23 720

原创 Unity中写GLSL(十五)—— 折射

先上图: 因为天空盒的问题,所以黑色那部分看上去不太对,但是大概就是这个样子。 然后是代码:Shader "Custom/ShaderExample14"{ Properties { _Cube ("Environment Map", Cube) = "" {} } SubShader { Pass {

2018-01-25 13:08:59 408

原创 Unity中写GLSL(十四)—— Unity中的Projector

上图: 和之前的cookie差不多,是种投影仪的感觉,阴影也可以靠这个实现。下面是代码:Shader "Custom/ShaderExample13"{ Properties { _ShadowTex ("Projected Image", 2D) = "white" {} } SubShader { Pass

2018-01-24 12:55:09 566

原创 Unity中写GLSL(十三)—— light cookie

参考WIKI:https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Cookies light cookie其实是这么个效果: 首先在PhotoShop里画了一张有透明部分的图,储存成PNG格式: 把cookie.png拖进unity3d,然后需要设置一下光源的cookie和cookie size, 然后效果如图: 最后是代码:Shade

2018-01-22 14:27:25 2676 2

转载 Unity中写GLSL(十二)—— layer texture

参考了WIKI:https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Layers_of_Textures 先上图: 两张图片是根据lightDir与normal的夹角来确定混合权重的,所以放两张图: 下面是代码:Shader "Custom/ShaderExample10"{ Properties { _D

2018-01-21 17:19:48 654

原创 Unity中写GLSL(十一)—— 双面材质

先上图:左边是背面,右边是正面 然后是代码:Shader "Custom/ShaderExample9"{ Properties { _Color ("Front Material Diffuse Color", Color) = (1,1,1,1) _SpecColor ("Front Material Specular Color", Colo

2018-01-21 14:19:42 488

原创 Unity中写GLSL(十)—— Specular + Diffuse

先上图: 这光照是在顶点着色器里计算的,如果在片元着色器中计算效果会好一些。然后是代码:Shader "Custom/ShaderExample8"{ Properties { _Color ("Diffuse Material Color", Color) = (1, 1, 1, 1) _SpecColor ("Specular Material

2018-01-20 20:31:50 497

原创 Unity中写GLSL(九)—— 渲染简单的透明物体

参照了wiki:https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Transparency先上图: 下面是代码:Shader "Custom/ShaderExample6"{ Properties { } SubShader { Tags { "Queue" = "Transparent

2018-01-14 19:30:40 961

原创 Unity中写GLSL(八)—— 方向光 + Normal Map + Diffuse Map + AO Map

先上图: 下面是代码Shader "Custom/ShaderExample5"{ Properties { _MainTex ("Texture", 2D) = "white" {} //diffuse _BumpMap("Normal Map", 2D) = "bump" {} //normal _OcclusionMap

2018-01-14 18:53:31 1187

原创 Unity中写GLSL(七)—— 程序式纹理:棋盘格

先上图:原理:在顶点着色器中先把uv乘以density,这样uv的range就从0 - 1变成了0 - density。 然后在片元着色器中把uv值取整再除以2,这样uv值就变成了0, 0.5, 1, 1.5, 2, 2.5 。。。 接着把x,y相加,值为0, 0.5, 1, 1.5 。。。 再取小数,值为0或者0.5 再乘以2,值为0或者1 最后取颜色。然后是代码:

2018-01-14 16:32:10 1463

原创 Unity中写GLSL(六)—— 环境skybox反射 + Normal Map + Diffuse Map + AO Map

先上图:再来是代码:Shader "Custom/ShaderExample3"{ Properties { _MainTex ("Texture", 2D) = "white" {} //duffuse _BumpMap("Normal Map", 2D) = "bump" {} //normal _Occl

2018-01-14 15:53:38 331

原创 Unity中写GLSL(五)—— 环境skybox反射 + Normal Map

先上图: 这normal map是从3dsmax里面导出的。注意:normal map在Unity3d中的texture type要保持默认default才行。下面是代码:Shader "Custom/ShaderExample2"{ Properties { _BumpMap("Normal Map", 2D) = "bump" {}

2018-01-13 20:09:16 456

原创 Unity中写GLSL(四)—— 环境skybox反射

先上图: 看着不太对是因为skybox的问题,skybox没底部图片,所以用了top图片。下面是代码:Shader "Custom/ShaderExample2"{ Properties { _Cube("Reflection Map", Cube) = "" {} } SubShader { Pass

2018-01-13 16:31:24 591

原创 Unity中写GLSL —— 常用的一些内置变量

本页的内容参考了Wiki:https://en.wikibooks.org/wiki/GLSL_Programming/Unity/Shading_in_World_Space首先是一些顶点相关的:gl_Vertex //模型坐标gl_Position //projection过后顶点坐标gl_MultiTexCoord0 //uv坐标gl_Normal //法线gl_FragCo

2018-01-13 14:09:59 975

原创 Unity中写GLSL(三)—— 试试法线Normal

这里只是把法线当做color来用。法线的range是-1 - 1所以要转换range到0 - 1。下面上图:下面是代码:Shader "Custom/ShaderExample1"{ Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass

2018-01-13 13:50:48 667

原创 Unity中写GLSL(二)—— Unlit着色器,无光照,只从纹理采样

GLSL语法用的330之后的语法。先上图: 棋盘格纹理是我百度随便找的。 下面是代码:Shader "Unlit/UnlitShader_GL"{ Properties { _MainTex ("Texture", 2D) = "white" {} //纹理 } SubShader { Pass {

2018-01-12 21:34:50 794

opengl第一个示例

opengl第八版的第一个示例triangles

2016-11-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除