unity3d shader指南

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,下一步是抽時間逐個研究。

發佈了29 篇原創文章 · 獲贊 5 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章