纹理处理

作者:追风剑情 发布于:2014-5-28 22:15 分类:Shader

    基本的顶点照明计算完成以后,将进行纹理设置。在ShaderLab中用SetTexture命令来设置纹理。当使用片元程序时SetTexture命令无效,在这种情况下像素操作完全在片元程序中完成。     纹理处理是在做旧式的合并效果。在一个通道中可以使用多个SetTexture命令——所有的纹理应用都在一个队列当中,就像绘制程序中...

阅读全文>>

评论(0) 浏览(3415)

剪裁和深度测试

作者:追风剑情 发布于:2014-5-27 22:26 分类:Shader

   剪裁是一种通过不渲染背对摄像机的几何面来提高性能的优化措施。所有几何体都包含正面和反面。剪裁基于大多数对象都是封闭的事实。例如一个立方体,摄像机无法看到背离摄像机的那一面(总是只有一个面面向前方),因此不需要绘制出背面。因此也被称做背面剪裁。    使用深度测试使渲染看起来更加真实,而且可以保证场景中的对象被遮挡的部分不参与绘制。相关命令如...

阅读全文>>

评论(0) 浏览(3797)

通道渲染命令

作者:追风剑情 发布于:2014-5-26 23:23 分类:Shader

颜色、材质和光照     顶点颜色和光照是对任何要渲染的几何体所添加的第一步效果。这个操作处在顶点级别,用于计算在纹理被应用之前被使用的基础颜色。     材质和光照参数被用于控制内置顶点光照。顶点光照是Direct3D/OpenGL标准的按顶点计算的光照模式。光照打开时,光照受材质块,颜色材质和平行高光命令的影响。相关命令...

阅读全文>>

评论(0) 浏览(4156)

分类(Category)

作者:追风剑情 发布于:2014-5-25 20:41 分类:Shader

Category是渲染命令的逻辑组。大多数情况下被用于继承渲染状态。例如,着色器可以有多个子着色器,它们都需要关闭雾效果、混合等。下面的代码片段说明了分类的使用: Shader "example" { Category {    Fog { Mode Off }   //设置雾模式    Blend ...

阅读全文>>

评论(0) 浏览(3990)

降级(Fallback)

作者:追风剑情 发布于:2014-5-25 20:37 分类:Shader

Fallback定义在所有子着色器后。简单来说,它表示"如果没有任何子着色器能被运行在当前硬件上,请尝试使用降级着色器",其常用语法如下。 Fallback "着色器名" 退回到给定名称的着色器。 Fallback Off 显式声明没有降级并且不会打印任何警告,甚至没有子着色器会被运行。

阅读全文>>

评论(0) 浏览(3193)

齐次坐标

作者:追风剑情 发布于:2014-5-24 23:48 分类:计算机图形学

应用齐次坐标可以有效地用矩阵运算把二维、三维甚至更高维空间中的点集从一个坐标系转换到另一个坐标系中。 二维齐次坐标变换矩阵的形式为 可以把以上矩阵看着四个子矩阵: 对图形进行比例、旋转、对称、错切等变换。 对图形进行平移变换 对图形作投影变换,g的作用是在x轴的1/g处产生一...

阅读全文>>

评论(0) 浏览(5185)

通道(Pass)

作者:追风剑情 发布于:2014-5-24 9:09 分类:Shader

每个通道(Pass) 都能使几何对象被渲染一次。Pass语法如下: Pass { [ Name and Tags ] [ RenderSetup ]  [ TextureSetup ] } 基本的通道命令包含一个可选的渲染设置命令(RenderSetup)的列表和可选的被使用的纹理(TextureSetup)的列表。一个通道能定义它的Name和任意数量的Tags(...

阅读全文>>

评论(0) 浏览(3971)

C#动态数组原理

作者:追风剑情 发布于:2014-5-23 14:38 分类:C#

以下代码摘自NGUI 2.7 using System; using System.Collections.Generic; /// <summary> /// 这是改进版的System.Collections.Generic.List /// </summary> public class BetterList<T> { /// ...

阅读全文>>

评论(0) 浏览(3628)

SubShader Tags

作者:追风剑情 发布于:2014-5-22 21:54 分类:Shader

子着色器使用标签(Tags)来告诉渲染引擎何时和如何渲染对象。Tags使用语法如下: Tags { "标签1" = "值1"  "标签2" = "值2" } 标签是标准的键值对,可以有任意多个,常用的标签如下所列。  Queue——队列标签,Queue标签用来决定对象被渲染的次序。着色器决定对象所归属的渲染队列,任何透明物体都可以通过这种方法确保在不透明物体...

阅读全文>>

标签: SubShader Tags

评论(0) 浏览(4995)

利用Mesh绘制几何图形

作者:追风剑情 发布于:2014-5-21 22:24 分类:Unity3d

一、创建一个GameObject,并在上面挂两个组件(MeshFilter、MeshRenderer) 二、新建个脚本,并挂在刚才创建的GameObject上 using UnityEngine; using System.Collections; public class MeshImage : MonoBehaviour { void Start() ...

阅读全文>>

标签: Mesh

评论(0) 浏览(3833)

monoBehaviour.renderer

作者:追风剑情 发布于:2014-5-20 18:09 分类:Unity3d

一、创建一个Cube 二、新建个脚本并挂在这个Cube上 using UnityEngine; using System.Collections; public class MaterialTest : MonoBehaviour { // Use this for initialization void Start () { rendere...

阅读全文>>

评论(0) 浏览(2998)

DrawTextureWithTexCoords()的使用

作者:追风剑情 发布于:2014-5-20 1:12 分类:Unity3d

一、新建一个脚本挂在主像机上 using UnityEngine; using System.Collections; public class DrawTextureWithTexCoordsTest : MonoBehaviour { public Texture tex; void OnGUI () { //指定要显示在的屏幕区域 ...

阅读全文>>

评论(0) 浏览(8034)

System.Comparison<T>的使用

作者:追风剑情 发布于:2014-5-19 20:49 分类:C#

对比函数的使用 namespace ConsoleApplication3 { class Program { static void Main(string[] args) { BetterList<int> list = new BetterList<int>(); li...

阅读全文>>

评论(0) 浏览(3449)

在哪里跌倒就在哪里爬起来

作者:追风剑情 发布于:2014-5-18 11:33 分类:杂谈

得失本来就不是恒定的,而是可以相互转化的矛盾共同体。 失败并不意味着你是一位失败者——失败只是表明你尚未成功。 失败并不意味着你一事无成——失败表明你得到了经验。 失败并不意味着你是一个不知灵活性的人——失败表明你有非常坚定的信念。 失败并不意味着你要一直受到压抑——失败表明你愿意尝试。 失败并不意味着你不...

阅读全文>>

评论(0) 浏览(2971)

SubShader

作者:追风剑情 发布于:2014-5-18 10:35 分类:Shader

Unity中的每一个着色器都包含一个subshader的列表,当Unity需要显示一个物体时,它找到使用的着色器,并提取第一个能运行在当前用户的显卡上的子着色器。Subshader的语法为: Subshader { [Tags] [CommonState] Pass{ } } 子着色器由可选标签(Tags)、通用状态(CommonState)和一个通道(Pass)列...

阅读全文>>

评论(0) 浏览(3918)

MonoBehavior类

作者:追风剑情 发布于:2014-5-17 20:21 分类:Unity3d

官方文档 https://docs.unity3d.com/ScriptReference/MonoBehaviour.html MonoBehavior类中主要可重写的方法  Awake 在脚本加载时被调用  Start ...

阅读全文>>

评论(0) 浏览(7449)

Mesh.normals

作者:追风剑情 发布于:2014-5-16 17:20 分类:Unity3d

一、创建一个Cube 二、新建个脚本挂在Cube上 using UnityEngine; using System.Collections; public class MeshTest : MonoBehaviour { public float speed = 100.0F; void Update() { Mesh ...

阅读全文>>

评论(0) 浏览(3984)

制作自己的UILabel控件

作者:追风剑情 发布于:2014-5-15 20:30 分类:Unity3d

一、新建两个脚本 using UnityEngine; using System.Collections; [ExecuteInEditMode] public class UILabel : MonoBehaviour { [HideInInspector] [SerializeField] public string text; ...

阅读全文>>

评论(0) 浏览(4248)

删除字符串里第一次出现的子串

作者:追风剑情 发布于:2014-5-15 11:03 分类:C#

using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void M...

阅读全文>>

评论(0) 浏览(4022)

Properties

作者:追风剑情 发布于:2014-5-14 22:08 分类:Shader

      Properties的定义方法: Properties {    _RangeValue ("Range Value", Range (0.02, 0.15)) = 0.07 //定义一个浮点数范围属性    _FloatValue ("F...

阅读全文>>

评论(0) 浏览(3328)

GUI.Label

作者:追风剑情 发布于:2014-5-14 15:55 分类:Unity3d

一、新建一个脚本挂在主像机上 using UnityEngine; using System.Collections; public class GUILayoutLabelTest : MonoBehaviour { public Texture tex; void OnGUI() { GUI.Label(new Rect(1...

阅读全文>>

评论(0) 浏览(3208)

Unity中3种不同的着色器

作者:追风剑情 发布于:2014-5-13 23:55 分类:Shader

表面着色器(Surface Shaders) 在大多数情况下,表面着色器会是最好的选择。如果着色器需要与灯光、阴影、投影器等进行交互,可以使用表面着色器。表面着色器可以以简洁容易的方式实现更复杂的功能。其可以有效地与多个实时灯光进行互动。   顶点和片元着色器(Vertex and Fragment Shaders) 如果需要一些表面着色器...

阅读全文>>

评论(0) 浏览(4284)

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号