Unity Shader 基础2---编程基础

原创 2015年07月12日 15:03:08

(1)Shader文件定义

Shader 文件是通过 Shader 这个关键字开始,引用名与文件路径格式相似,对于文件名和引用名,没有必须相同的限制。
例如:

  • 文件名 Shader_Mine1
  • 定义 Shader “Custom/LearnShader_1”

(2)Shader标签(ShaderLab)

  • Properties 用于定义 Shader 的各种属性
  • SubShader 用于实现 Shader 的各种渲染
  • Fallback 用于当所有定义的 SubShader 对设备都无效时的最后备用的 Shader 的定义
  • CustomEditor 用于使用自定义的 Shader Editor 编辑栏
  • Other commands 用于对 SubShader 的特殊处理

(3)变换参数

参数名 数值表示
UNITY_MATRIX_MVP Current model * view * projection matrix
UNITY_MATRIX_MV Current model * view matrix
UNITY_MATRIX_V Current view matrix
UNITY_MATRIX_P Current projection matrix
UNITY_MATRIX_VP Current view * projection matrix
UNITY_MATRIX_T_MV Transpose of model * view matrix
UNITY_MATRIX_IT_MV Inverse transpose of model * view matrix
_Object2World Current model matrix
_World2Object Inverse of current world matrix


(4)摄像机和屏幕参数

参数名 参数类型 数值表示
_WorldSpaceCameraPos float3 World space position of the camera
_ProjectionParams float4 x is 1.0 (or –1.0 if currently rendering with a flipped projection matrix), y is the camera’s near plane, z is the camera’s far plane and w is 1/FarPlane.
_ScreenParams float4 x is the camera’s render target width in pixels, y is the camera’s render target height in pixels, z is 1.0 + 1.0/width and w is 1.0 + 1.0/height.
_ZBufferParams float4 Used to linearize Z buffer values. x is (1-far/near), y is (far/near), z is (x/far) and w is (y/far).
unity_OrthoParams float4 x is orthographic camera’s width, y is orthographic camera’s height, z is unused and w is 1.0 when camera is orthographic, 0.0 when perspective.
unity_CameraProjection float4x4 Camera’s projection matrix.
unity_CameraInvProjection float4x4 Inverse of camera’s projection matrix.
unity_CameraWorldClipPlanes[6] float4 Camera frustum plane world space equations, in this order: left, right, bottom, top, near, far.


(5)时间参数

参数名 参数类型 数值表示
_Time float4 Time since level load (t/20, t, t*2, t*3), use to animate things inside the shaders
_SinTime float4 Sine of time: (t/8, t/4, t/2, t).
_CosTime float4 Cosine of time: (t/8, t/4, t/2, t).
unity_DeltaTime float4 Delta time: (dt, 1/dt, smoothDt, 1/smoothDt).


(6)纹理参数

参数名 参数类型 数值表示
UNITY_MATRIX_TEXTURE0 float4x4
UNITY_MATRIX_TEXTURE1 float4x4
UNITY_MATRIX_TEXTURE2 float4x4
UNITY_MATRIX_TEXTURE3 float4x4
UNITY_LIGHTMODEL_AMBIENT float4 当前环境的颜色
版权声明:对于每一位看到本文的人,我先说抱歉,一切皆本人的谬论,记性不好,只好做下笔记,不是有意杀各位脑细胞。

相关文章推荐

【Unity】Shader编程 基础总结

Shader编程一直是一个比较难入门难上手的主题,本篇对Unity Shader编程的一些基础和要点进行了总结。 包括Shader编程相关知识图谱、Shader编程相关数据类型、Shader核心结构...

【Unity】Shader编程 基础总结

Shader编程一直是一个比较难入门难上手的主题,本篇对Unity Shader编程的一些基础和要点进行了总结。 包括Shader编程相关知识图谱、Shader编程相关数据类型、Shader核心...

Unity3D基础篇----Shader学习笔记(2)

这一篇我们会学习中更为立体的Shader,即通过光照计算物体表面的漫反色,通过兰伯特光照原理实现逐顶点以及逐像素漫反色。

Shader着色器基础——OpenGL编程笔记2

着色器(Shader) 顶点着色器(Vertex shader) 片段着色器(Fragment shader) 几何着色器(Geometry Shader) 提供通用计算能力的着色器(Compute ...

Unity&Shader基础篇-概述

最近在学习Shader,将学习的一些心得和案例以及基础知识罗列了一下。这一篇是unity之Shader的基础篇之基础,更多的是一些概念。该篇将分以下几个部分: 1、什么是Shader? 2、GPU和C...

Unity3D游戏开发从零单排(八) - Shader基础

提要       今天要说的是Unity3D中shader相关的一些知识。不会做非常细致的讲解(东西实在太多!- -),但是看完之后会知道shader是怎么用的。一些术语 在shader编程中,有一些...

Unity&Shader基础篇-绘制网格+圆盘

原文:http://www.manew.com/thread-96594-1-1.html1.前言:上一章中Unity&Shader基础篇-绘图2D图形中学习了怎么画出一个棋盘网格,首先来完善一下这个...

unity中Shader基础之计算机渲染管道

在了解Shader之前,我们先了解下计算机中的渲染管道,渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的并行处理单元。Unity中shader它的作用可以先简单理解为给屏幕上的物体画上颜...
  • Nliki
  • Nliki
  • 2016-07-04 18:23
  • 703

【Unity Shader】基础光照

继续学习《Unity Shader 入门精要》。渲染的流程前部分是坐标变换,变换顺序是: 模型空间(Model Space)-->世界空间(World Space)-->观察空间(View Space...

Unity Shader基础(1)

摘自冯乐乐的《unity shader 入门精要》 由于之前看《Unity shader 入门精要》看到太过粗略了,只关注书中的shader代码,导致好多代码都是不是很懂,所以就往回看,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)