Unity Shader
河乐不为
个人独立博客:https://linshuhe1.github.io/
展开
-
Unity Shader学习1——简述
一、什么是Shader: Shader,就是着色器,是一种运行在GPU上的程序。其作用是: 对三维物体进行着色处理、光与影的计算、纹理颜色的呈现等,从而将游戏引擎中一个个作为抽象的几何数据存在的模型、场景和特效,以和真实世界类似的光与影的形式呈现与玩家的眼中。(简单点的理解就是:利用GPU编程使得构件出来的对象近似于真实世界中的对象呈现出来的处理)通过Shade原创 2016-05-10 20:14:31 · 2366 阅读 · 4 评论 -
Unity Shader学习3——几何阶段
前言: 在之前的文章中,我们补充了图像绘制管线的三个阶段:应用程序阶段、几何阶段和光栅阶段,其中几何阶段和光栅阶段使我们理解绘制过程的重点,在这里我们需要着重分析一下这两个过程。几何阶段 几何阶段的主要任务就是:“变换三维顶点坐标”和“光照计算”,这也与显卡中的两个标示“T&L”对应(Transform & Lighting)。一原创 2016-05-13 15:40:45 · 2358 阅读 · 0 评论 -
Unity Shader学习4——光栅阶段
前言: 在之前的文章中,我们补充了图像绘制管线的三个阶段:应用程序阶段、几何阶段和光栅阶段,其中几何阶段和光栅阶段使我们理解绘制过程的重点,在这里我们需要着重分析一下这两个过程。光栅阶段一、难点解决: 光栅化(Resterization),决定哪些像素被几何图元覆盖的过程。在之前的几何阶段完成后,我们得到了每个点的屏幕坐标值,原创 2016-05-13 17:24:05 · 3226 阅读 · 0 评论 -
Unity Shader学习2——第一个Shader程序解析
上篇文章中我们大致解释了什么是Shader,以及使用哪些语言可以进行Shader程序的编写等,原创 2016-05-11 15:33:46 · 2877 阅读 · 0 评论 -
Unity Shader学习5 —— Cg语言的基础
我们知道了进行Shader编程的Shader Lab语言有三种,分别是:OpenGL的GLSL、Direct3D的HLSL和NAVIDIA公司的Cg语言。 由于Cg编写的程序可以不作任何处理就能同时在OpenGL和Direct3D上运行,所以我选择了Cg作为开发Shader的编程语言,接下来就来了解Cg的一些基本特性。一、Cg的编译方式:1.编译:原创 2016-06-14 16:35:15 · 12995 阅读 · 5 评论 -
Unity Shader学习6 —— Unity创建一个Shader
Unity引擎是一个非常强大的支持跨平台开发的游戏引擎,基于Mono这个开源.Net的框架设计而成,在Unity中定义了ShaderLab来组织Shader的内容,针对不同平台进行编译。了解了Shader和Cg的一些基础知识之后,接下来我们要做的就是:学会如何在Unity中使用Cg编写Shader并实现一些简单的Shader效果。Unity Shader:说到底,Shader其实只是一段规定好输入(原创 2016-09-14 13:41:39 · 9226 阅读 · 0 评论 -
猫都能学会的Unity3D Shader入门指南(一)
动机自己使用Unity3D也有一段时间了,但是很多时候是流于表面,更多地是把这个引擎简单地用作脚本控制,而对更深入一些的层次几乎没有了解。虽然说Unity引擎设计的初衷就是创建简单的不需要开发者操心的谁都能用的3D引擎,但是只是肤浅的使用,可能是无法达到随心所欲的境地的,因此,这种状况必须改变!从哪里开始呢,貌似有句话叫做会写Shader的都是高手,于是,想大概看看从Shader开始能不能转载 2016-09-18 17:46:49 · 1403 阅读 · 0 评论 -
猫都能学会的Unity3D Shader入门指南(二)
关于本系列这是Unity3D Shader入门指南系列的第二篇,本系列面向的对象是新接触Shader开发的Unity3D使用者,因为我本身自己也是Shader初学者,因此可能会存在错误或者疏漏,如果您在Shader开发上有所心得,很欢迎并恳请您指出文中纰漏,我会尽快改正。在之前的开篇中介绍了一些Shader的基本知识,包括ShaderLab的基本结构和语法,以及简单逐句地讲解了一个基本的s转载 2016-09-18 17:48:08 · 1333 阅读 · 0 评论