Mathf.Lerp

作者:追风剑情 发布于:2014-7-4 0:14 分类:Unity3d

using UnityEngine; using System.Collections; public class MathfLerp : MonoBehaviour { public float from = 0.0F; public float to = 6.0F; // Update is called once per frame void Update ...

阅读全文>>

标签: Lerp

评论(0) 浏览(4541)

固定管线

作者:追风剑情 发布于:2014-7-2 22:57 分类:Shader

   固定管线是在老一代GPU能力比较有限时,对Shader的约束性比较高的一种形态。为了市场占有率,新一代的显卡仍对其有所选择地进行支持,但是会在未来逐步被淘汰。在ShaderLab中,固定管线的形态和语法和NVIDIA的CgFX以及微软的FX文件比较类似。 示例: Shader "Custom/Shader_Fixed" { Properties ...

阅读全文>>

标签: 固定管线

评论(0) 浏览(5301)

vertex+fragment Shader

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

如果你想自己处理照明,可以写vertex+fragment Shader, 这是Unity中对可编程Shader的一种支持。 Shader "Custom/Shader_VF" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "Queue"="Geometry...

阅读全文>>

标签: vertex fragment

评论(0) 浏览(6752)

Pass执行规则

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

   Unity在Deferred渲染路径下,则会寻找可在Deferred渲染模式下的Pass然后返回,并不会执行其他渲染路径下的Pass,但是如果找不到Deferred状态下的Pass,则会再寻找Forward模式下的Pass并执行,然后返回,如果Forward模式下的Pass依然没有找到,则会寻找VertexLit模式下的Pass并执行。在Forward渲染路径下,会优先寻...

阅读全文>>

标签: Pass

评论(0) 浏览(3985)

LOD

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

   通过给SubShader设定一个整型Level Of Detail,即LOD数值,可以在运行时根据硬件设备能力来决定是否使用此Shader,以及使用哪一个层级的SubShader 一、新建一个设置LOD的测试脚本 using UnityEngine; using System.Collections; public class LOD_Tes...

阅读全文>>

标签: LOD

评论(0) 浏览(5150)

纹理置灰

作者:追风剑情 发布于:2014-6-28 20:43 分类:Shader

原理:通过Luminance宏输出_MainTex的灰度值。 Shader "Shader_tex2D" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType" = "Opaque" } LOD 200 CGPROGRAM ...

阅读全文>>

标签: Luminance

评论(0) 浏览(5268)

纹理采样(tex2D)

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

一、新建个Shader Shader "Shader_tex2D" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType" = "Opaque" } LOD 200 CGPROGRAM //声明表面着色函数并设置光照模式...

阅读全文>>

标签: tex2D

评论(0) 浏览(5815)

半透明Cube

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

一、新建一个Shader 操作流程参见http://www.devacg.com/article/63.html Shader "RedCube" { Properties { _CubeAlpha ("Alpha", Range(0, 1)) = 0.5 } SubShader { Tags { "RenderType" = "Opaqu...

阅读全文>>

标签: Cube Alpha

评论(0) 浏览(3964)

assembly.GetTypes()

作者:追风剑情 发布于:2014-6-25 22:59 分类:C#

using System; using System.Reflection; namespace GetTypesTest { class Program { static void Main(string[] args) { Assembly asm = Assembly.GetExecutingAsse...

阅读全文>>

标签: GetTypes

评论(0) 浏览(4269)

Assembly.GetExecutingAssembly()

作者:追风剑情 发布于:2014-6-24 22:42 分类:C#

using System; using System.Reflection; namespace AssemblyTest { class Program { static void Main(string[] args) { //利用反射创建对象 Assembly asm = A...

阅读全文>>

标签: GetExecutingAssembly

评论(0) 浏览(12351)

配置Cg开发环境

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

一、下载并安装Cg ToolKit https://developer.nvidia.com/cg-toolkit 二、检查是否安装成功 在cmd中输入 cg -h cgc [options] file [options]表示可选配置项,file表示Cg程序文件名。可选配置项包括编译时选择使用的profile、着色程序的入口函...

阅读全文>>

标签: Cg

评论(0) 浏览(7687)

用Shader设置Cube颜色

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

一、创建一个Shader文件 Shader "RedCube" { SubShader { Tags { "RenderType" = "Opaque" } CGPROGRAM //声明表面着色函数并设置光照模式为Lambert(漫反射) #pragma surface surf Lambert struct Input { float4 col...

阅读全文>>

评论(0) 浏览(6795)

list.Exists()

作者:追风剑情 发布于:2014-6-18 22:17 分类:C#

using System; using System.Collections.Generic; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { List<int> list = n...

阅读全文>>

标签: Exists

评论(0) 浏览(3821)

顶点片元着色器

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

   顶点片元着色器不使用灯光交互,实际着色器代码用CG或HLSL语言编写,嵌入在着色器的通道块中。在着色器开始处,可以使用编译指令#pragma,常用编译指令如表所示: 顶点片元着色器常用编译指令 编译指令 说明 ...

阅读全文>>

评论(0) 浏览(4657)

镂空效果

作者:追风剑情 发布于:2014-6-13 21:02 分类:Unity3d

阅读全文>>

评论(0) 浏览(3611)

表面着色器

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

   不同于固定功能着色器,表面着色器和顶点片元着色器的实际着色器代码使用CG或HLSL编写的。    表面着色器必须像其他着色器一样放在CGPROGRAM和ENDCG中间,但它必须放在子着色器块中,不能放在通道中,表面着色器将在多个通道内编译自己,同时使用#pragma surface指令,以声明它是一个表面着色器,该指令如下: #...

阅读全文>>

评论(0) 浏览(5421)

camera.cullingMask

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

int layerMask = 1 << gameObject.layer; //此camera负责渲染的层中是否包含gameObject所属层 if ((camera.cullingMask & layerMask) != 0){ //包含 }

阅读全文>>

评论(0) 浏览(4957)

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

光源对物体照明的分类

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

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

阅读全文>>

评论(0) 浏览(4816)

绑定通道(BindChannels)

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

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

阅读全文>>

标签: BindChannels

评论(0) 浏览(9789)

通道标签

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

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

阅读全文>>

标签: 通道标签

评论(0) 浏览(3621)

混合

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

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

阅读全文>>

标签: 混合

评论(0) 浏览(4160)

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号