zoukankan      html  css  js  c++  java
  • 《UnityShader入门精要》读书笔记——2.Unity Shader基础

    《UnityShader入门精要》读书笔记——2.Unity Shader基础

    1、Unity Shader概述

    1.1、材质与Unity Shader

    (1)创建一个材质。

    (2)创建也给unity shader,并将它赋给材质。

    (3)把材质赋给要渲染的对象。

    (4)在材质面板中调整Unity shader的属性,以得到满意的效果。

    UnityShader已经包含了:顶点、片元着色器、属性、渲染状态等。

    1.2、Unity中材质

     Unity的材质需结合GameObject的Mesh或者Particle System组件来工作。

    1.3、Unity中的Shader

     Unity提供4种模板

    Standard Surface Shader:包含了标准光照模型(基于物理的渲染方法)的表面着色器模板

    Unlit Shader:不包含光照(但包含雾效)的基本的顶点/片元着色器

    Image Effect Shader:各种屏幕后处理效果的基本模板

    Compute Shader:特殊shader文件,利用GPU辅助计算。

    inspector界面

    Default Maps:可以设置默认纹理

    Show generated code:查看shader内容

    Compile and show code:查看最终编译成的shader汇编指令,分析和优化着色器,可以选择编译平台。

    2、Unity Shader基础:ShaderLab

    Unity提供了一种专门为Untiy Shader服务的语言——ShaderLab,它是Unity为开发者提供的高层级的渲染抽象层。

     一个Unity Shader的基础结构如下:

    Shader "ShaderName" {
        Properties {
            // 属性
        }
        SubShader {
            // 显卡A使用的子着色器
        }
        SubShader {
            // 显卡B使用的子着色器
        }
        Fallback "VertexLit"
    }

    Unity在背后会根据平台编译成真正的代码和Shader文件,开发者只需和Unity Shader打交道即可。

    3、Unity Shader的结构

    3.1、Shader名字

    3.2、Shader属性(Properties)

    3.3、SubShader

    3.4、Fallback

    3.5、ShadeLab其他语义?

    4、Untiy Shader形式

    4.1、表面着色器

    4.2、顶点片元着色器

    4.3、固定函数着色器

    5、答疑解惑

    5.1、Unity Shader != 真正的Shader

    5.2、Unity Shader和Cg/HLSL之间的关系

    5.3、Unity Shader之GLSL实现

    6、扩展阅读

  • 相关阅读:
    VC(VISUAL_C++)虚拟键VK值列表
    关于新一轮QQ Tencent://Message 在线联系
    (记录) sql exists 应用及 order by注意点
    (记录)IE8 ..样式错乱解决
    jquery 关于ajax 中文字符长度过长后不执行
    DataList 嵌套绑定CheckBoxList [记录, 以免忘记哈.]
    (记录)MSSQL 的一些应用 查询数据统计适用 添加月份日号作为行记录
    数据结构回顾算法
    Modeling Our World笔记
    数据结构2数组
  • 原文地址:https://www.cnblogs.com/hewei2012/p/13645270.html
Copyright © 2011-2022 走看看