Unity图形学之Shader结构

Unity - Manual: ShaderLab: Legacy Lighting

1.Shader 语言:

cs 复制代码
OpenGL:SGL  跨平台性能非常好 GLSL语言  OpenGL Shader Language



DX:微软 非跨平台 性能非常好  HLSL语言  High Level Shader Language



CG:微软和英伟达 联合开发CG 跨平台 基于C语言 性能非常好

2.Unity Shader语言

cs 复制代码
CG和HLSL 包括在 CGPROGRAM .... ENDCG 语法块内



GLSL 包含在 GLSLPROGRAM .... ENDGLSL 语法块内



自己的语言 Shader Lab

3.Unity Shader 分类:

cs 复制代码
Fixed Shader:Shader 1.0  主要是 开关式的Shader



顶点片段 着色器:Shader 2.0 不光能打开,而且功能里面的公式可以自己定义



Surface Shader:前两个的封装

4.Shader 结构:

cs 复制代码
//Shader 的名字会显示在 Unity 的 Inspector 中 选择 Shader的菜单里面

Shader "Shader名字"

{

    //属性

    [Properties]

    //SubShader就是对应的一个显卡 可能存在多个SubShader Unity会在所有 SubShader列表中选择当前环境中的第一个 SubShader

    SubShader

    {

        //SubShader 的标签

        [Tags]

        //给多个Pass 公用的设置

        [Common State]

        //可能存在多个Pass ,每个Pass都会引发一次渲染

        Pass {

              

            //Pass的标签

            [Pass Tags]

            //渲染设置,如颜色混合

            [Render SetUp]

            //纹理设置,只有在 Fixed Function Shader 中才可用

            [Texture SetUp]

            CGPROGRAM

            ..........

            ..........

            ENDCG

        }

        //可以有多个Pass

        [其他的 Pass]

    }

    //可以多个SubShader

    [其他的SubShader]

    //当所有SubShader 失败的时候,使用Fallback指定的Shader

    FallBack "Diffuse"

    //当有自定义 Shader 的设置 UI 时候使用

    [CustomEditor]

}
相关推荐
Yasin Chen17 小时前
Unity TMP_SDF 分析(二)数据来源2
unity·游戏引擎
Mao_Hui17 小时前
Unity3d实时读取Modbus RTU数据
开发语言·嵌入式硬件·unity·c#
相信神话202117 小时前
《酒魂》游戏开发实战——从设计思想到 Godot 实现(单机完整版)
游戏引擎·godot
心疼你的一切20 小时前
【Unity-MCP完全指南:从零开始构建AI游戏开发助手】
人工智能·unity·ai·游戏引擎·aigc·mcp
示申○言舌20 小时前
基于知识库(RAG)系统打造由大模型(LLM)驱动NPC游戏的技术设想
游戏·unity·大模型·知识库·rag·智能npc·npc记忆
前端不太难1 天前
OpenClaw 如何运行 Claw 资源文件
c++·开源·游戏引擎
avi91111 天前
UnReal-UE5虚幻蓝图如何修改
ue5·游戏引擎·虚幻·虚幻引擎·ue·蓝图·蓝图逻辑
da_vinci_x1 天前
告别“塑料机甲”:Plasticity的次世代硬表面磨损与自定义贴花工作流
游戏·3d·aigc·材质·技术美术·游戏策划·游戏美术
da_vinci_x2 天前
告别“纸片树冠”:SpeedTree 10的次世代 Nanite 植被透射与程序化季相重构工作流
游戏·3d·重构·aigc·材质·技术美术·游戏策划
国家一级摸鱼选手2 天前
MCP(Model Context Protocol)学习笔记
unity·ai·mcp