Unity获取显示区域

作者:追风剑情 发布于:2014-6-12 14:44 分类:Unity3d

public Camera uiCamera = null;//UI像机 Rect mRect = uiCamera.pixelRect;//显示区域 //左上角坐标 (mRect.xMin, mRect.yMax) //右下角坐标 (mRect.xMax, mRect.yMin)

阅读全文>>

标签: pixelRect

评论(0) 浏览(4797)

光源对物体照明的分类

作者:追风剑情 发布于:2014-6-7 23:25 分类:Shader

间接照明    在物体所处的环境中,我们可以把照射到物体上的光源简单地分为直接照明和间接照明。间接照明是光在物体间传播后,最终又对物体形成照明(如:3d Max中的VRay渲染器)。 直接照明    如果不考虑光线在物体间的传播,也不考虑光线在物体内部的传播,则光线对物体直接照明。我们把照明的结果分为漫反射和镜面反射两种,...

阅读全文>>

评论(0) 浏览(4979)

绑定通道(BindChannels)

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

   绑定通道(BindChannels)命令可以指定顶点数据如何映射到显卡中。使用顶点程序时,绑定通道将没有效果,绑定受顶点程序输入控制。    默认情况下,Unity会自动计算并绑定,但在某些情况下,要使用自定义绑定。例如,在第一个纹理处理阶段映射主UV,然后在第二个纹理处理阶段使用次要UV,或者告诉硬件需要考虑顶点颜色。绑定通道常用语法如下...

阅读全文>>

标签: BindChannels

评论(0) 浏览(9891)

通道标签

作者:追风剑情 发布于:2014-6-6 0:09 分类:Shader

   通道标签与子着色器标签语法相同。通道标签用来控制光照管线(环境光照、顶点光照和像素光照等)中这个通道所扮演的角色及其他一些设置。以下标签只能在通道中(而不是在子着色器中)使用。 LightMode    光照模式标签,它定义了在光照管线中通道的角色。但是,这些标签很少会被使用,大多数情况下需要和光照进行互动的着色器会被写成表面着...

阅读全文>>

标签: 通道标签

评论(0) 浏览(3818)

混合

作者:追风剑情 发布于:2014-6-4 23:51 分类:Shader

混合是用来制作透明物体的。在所有着色器执行完毕,所有纹理都被应用,所有像素准备被呈现到屏幕之后,使用Blend命令来操作这些像素进行混合。 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。混合操作只能在RGBA模式下进行,颜色索引模式下无法指定Alpha值。物体的绘制顺序会影响到OpenGL的混合处理。Blend常用语法如下所列。 Ble...

阅读全文>>

标签: 混合

评论(0) 浏览(4253)

脚本编译

作者:追风剑情 发布于:2014-6-1 18:35 分类:Unity3d

Unity可以把脚本编译为.dll文件,.dll文件将在运行时编译运行。这样做可以提高执行的速度,比传统的JavaScript脚本要快20倍左右。 脚本具体的编译需要以下4步: (1)所有的“Standard Assert”、“Pro Standard Assert” 或者 “Plugins”文件夹里的脚本会被首先编译。 (2)所有的“Standard Asse...

阅读全文>>

评论(0) 浏览(4141)

Alpha测试

作者:追风剑情 发布于:2014-6-1 16:52 分类:Shader

   透明度测试是阻止像素被写到屏幕的最后机会。在最终渲染出的颜色被计算出来之后,可选择通过将颜色的透明度值和一个固定值比较。如果比较的结果失败,像素将不会写到显示输出中。常用语法如下。 AlphaTest 开关状态 Off(缺省)渲染所有像素,On开启透明度测试。 AlphaTest 比较模式 测试值 设置透明度测试只渲染透明度...

阅读全文>>

标签: Alpha测试

评论(0) 浏览(4539)

GPU编程

作者:追风剑情 发布于:2014-6-1 0:39 分类:Shader

目前这种面向GPU的编程有3种高级图像语言可供选择: 微软提供了HLSL(High Level Shading Language),是通过Direct3D图形软件库来写Shader程序的语言。 OpenGL提供了GLSL(OpenGL Shading Language)来写Shader程序。 NVIDIA提供了Cg(C for graphics)语言。NVIDI...

阅读全文>>

标签: GPU编程

评论(0) 浏览(4304)

Physics菜单

作者:追风剑情 发布于:2014-5-31 22:01 分类:Component

Physics菜单下属子菜单 菜单 含义 菜单 含义 Rigidbody 刚体 Skinned Cloth ...

阅读全文>>

标签: Physics

评论(0) 浏览(4794)

雾(Fog)

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

雾化是通过混合已生成的像素的颜色和基于到镜头的距离来确定的一个常量来完成。雾化不会改变已经混合的像素的透明度值,只是改变RGB值。雾命令语法如下。 Fog { 雾命令 } 常用雾命令 Mode雾模式 设置雾模式。可选模式有Off, Global(默认项), Linear...

阅读全文>>

评论(0) 浏览(4108)

引用另个Shader中的Pass块

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

Shader "Tut/NewBie/SecondShader" { Pass { Name "MYM" Material { Diffuse(1,0.7,0.4,1) Ambient(1,0.7,0.4,1) } Lighting On SetTexture[_] { combine primary } } } 引用另个文件的Pass块 ...

阅读全文>>

标签: Pass

评论(0) 浏览(4358)

纹理处理

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

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

阅读全文>>

评论(0) 浏览(4238)

剪裁和深度测试

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

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

阅读全文>>

评论(0) 浏览(4758)

通道渲染命令

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

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

阅读全文>>

评论(0) 浏览(5464)

分类(Category)

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

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

阅读全文>>

评论(0) 浏览(4860)

降级(Fallback)

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

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

阅读全文>>

评论(0) 浏览(4084)

齐次坐标

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

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

阅读全文>>

评论(0) 浏览(6473)

通道(Pass)

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

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

阅读全文>>

评论(0) 浏览(4970)

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) 浏览(4515)

SubShader Tags

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

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

阅读全文>>

标签: SubShader Tags

评论(0) 浏览(5893)

利用Mesh绘制几何图形

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

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

阅读全文>>

标签: Mesh

评论(0) 浏览(4670)

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) 浏览(4014)

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号