unity3d shader指南

来源:互联网 发布:软件开发经理岗位职责 编辑:程序博客网 时间:2024/06/06 17:38

Unity中的Shader有3种方式:

1.      surface shaders

2.      vertex and fragment shaders

3.      fixed function shaders

在shader tutorial中会指引你使用合适的shader类型。

不管你选择什么类型,shader的代码实际上都在用ShaderLab来组织。如:

Shader "MyShader" {

    Properties {

        _MyTexture ("MyTexture", 2D) = "white" { }

        // other properties likecolors or vectors go here as well

    }

    SubShader {

        // here goes the 'meat' ofyour

        // - surface shader or

        //  - vertex and program shader or

        //  - fixed function shader

    }

    SubShader {

        // here goes a simplerversion of the SubShader above than can run on older graphics cards

    }

}

建议先从ShaderLab的基础概念、语法了解起,然后是Surface Shaders,或是vertext and fragment shaders。由于fixed functionshaders是用ShaderLab来写的,你可以在ShaderLab中找到它们的更多信息。

下面的指南中包括大量的不同类shader的例子。为了获取更多特别的surface shaders,你可以从Resources section中获取Unity内置shaders的源码。Unity的Image Effects包包含很多有趣的vertext and fragment shaders。

同时浏览shader指南,检验shader tutorial。

Writing Surface Shaders

 Surface Shader Examples

 Custom Lighting models in Surface Shaders

 Surface Shader Lighting Examples

 Surface Shaders with DX11 Tessellation

Writing vertex and fragment shaders

 Vertex and Fragment Shader Examples

 Accessing shader properties in Cg

 Providing vertex data to vertex programs

 Built-in shader include files

 Predefined shader preprocessor macros

 Built-in state variables in shader programs

 Making multiple shader program variants

 GLSLShader Programs

ShaderLab syntax:Shader

 ShaderLab syntax:Properties

 ShaderLab syntax:SubShader

  ShaderLab syntax:Pass

   ShaderLab syntax:Color,Material,Lighting

   ShaderLab syntax:Culling&Depth Testing

   ShaderLab syntax:Texture Combiners

   ShaderLab syntax:Fog

 ShaderLab syntax:Alphatesting

   ShaderLab syntax:Blending

   ShaderLab syntax:Pass Tags

   ShaderLab syntax:Name

   ShaderLab syntax:BindChannels

   ShaderLab syntax:Stencil

 ShaderLab syntax:UsePass

 ShaderLab syntax:GrabPass

 ShaderLab syntax:SubShader Tags

ShaderLab syntax:Fallback

ShaderLab syntax:CustomEditor

ShaderLab syntax:other commands

Advanced ShaderLab topics

 Unity’s Rendering Pipeline

 Performance Tips when Writing Shaders

 Rendering with Replaced Shaders

 Custom Material Editors

 Using Depth Textures

 Camera’s Depth Texture

 Platform Specific Rendering Differences

Shader Level of Detail

ShaderLab built-in values

 

原文地址:https://docs.unity3d.com/Documentation/Components/SL-Reference.html,下一步是抽时间逐个研究。

0 0
原创粉丝点击