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、扩展阅读

  • 相关阅读:
    linux字符设备文件的打开操作
    Linux用ps命令查找进程PID再用kill命令终止进程的方法
    Linux内核锁与中断处理
    写给大数据开发初学者的话
    zabbix监控系统客户端安装
    详解zabbix安装部署(Server端篇)
    Keepalived+Nginx架构整理版
    Nginx + Tomcat 动静分离实现负载均衡
    五个常用的Linux监控脚本代码
    16个Linux服务器监控命令
  • 原文地址:https://www.cnblogs.com/hewei2012/p/13645270.html
Copyright © 2011-2022 走看看