0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Unity中Sharder的3个类别及区分

Dbwd_Imgtec 来源:未知 作者:胡薇 2018-04-28 16:21 次阅读

按照渲染管线的分类,可以把Sharder分成3个类别:

1、固定功能着色器(Fixed Function Shader)

固定功能着色器为固定功能渲染管线的具体表现。

2、表面着色器

存在于Unity3D中由U3D发扬光大的一门技术。Untiy3D为我们把Shader的复杂性包装起来,降低shader的书写门槛。

3、顶点着色器和片段着色器

GPU上含有两个组件:可编程顶点处理器和可编程片段处理器,顶点和片段处理器被分离成可编程单元,可编程顶点处理器是一个硬件单元,可以运行顶点程序,而可编程片段处理器则是一个可以运行片段程序的单元。

顶点着色器

顶点着色程序从GPU前端(寄存器)中提取图元信息(顶点位置、法向量、纹理坐标),并完成顶点坐标空间变换、法向量空间转换、光照计算等操作,最后将计算数据传送到指定寄存器中。

片段着色器

片段程序从上述寄存器中获取需要的数据:纹理坐标与光照信息等,并根据这些信息以及从应用程序传递的纹理信息进行每个片段的颜色计算(纹理查询),最后将处理后的数据传送光栅操作模块。

三种着色器的共同点:

都必须从唯一一个根Shader开始

Prooerties参数部分,作用以及语法完全相同。

具体功能都在SubShader里。

都可以打标签

都可以Fallback

都可以处理基本的功能,例如光照漫反射以及镜面反射。但如uv计算效果等高级功能,固定功能着色器无法完成。

三种着色器的不同点

表面着色器没有通道pass{},加了会报错,该着色器已经把具体内容打包在光照模型中了。

固定渲染管线每句代码之后都没有“;”

核心结构不同:

- 固定渲染管线的核心是:

- 顶点与片段着色器的核心是:

- 表面着色器的核心是:

在Unity中如何区分以上三种着色器

没有嵌套CG语言,即代码中没有CGPROGARAM和ENDCG关键字的,就是固定功能着色器。

嵌套CG语言,代码中有surf函数的为表面着色器

嵌套了CG语言,代码中有#pragma vertex name和 #pragma fragment frag声明的,就是顶点着色器&片段着色器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4336

    浏览量

    126288
  • Unity
    +关注

    关注

    0

    文章

    126

    浏览量

    21485

原文标题:Unity中Shader的三种基本类型

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    _如何在Unity制作3D格斗游戏-完整教程_第3节 #硬声创作季

    游戏开发Unityunity 3d
    充八万
    发布于 :2023年08月03日 23:59:07

    Cisco Unity Express语音邮件

    Express的另一主要优势在于:它能够简化网络管理,尤其是在通常缺乏现场技术专家的中小型机构。随时轻松添加全新话音业务的灵活性使该解决方案 更具优势。 Cisco Unity Express还提供配置
    发表于 11-13 21:50

    allegro16.3为什么没有load unity menu

    allegro16.3可以登錄到Cadence Menu,可是登錄以後为什么不能再轉為unity menu,在圖2就沒有“Load unity menu”這一項,另外我已經安裝完了最新Uni
    发表于 06-20 10:22

    Vuforia AR高通SDK在Unity3D下开发增强现实应用

    ,选择Unity的类型,起名字。然后下载打包好的unity3d格式的打包文件,一定要等进度条完成以后勾选下载。之所以默认会以它的文件夹命名是因为这个识别图片可以有很多张(最多支持5张),而且可以让你
    发表于 09-19 18:04

    Unity3D AR技术vuforia SDK

    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:【334163814】 本文链接地址: Unity3D AR技术 vuforia SDK公司新项目要使用ar技术(增强现实
    发表于 09-20 11:56

    高通AR Unity播放器特性

    所看到的。使用播放模式1. 带着Vuforia来使用播放模式,需要连接一摄像头到你的计算机上。2. 从Unity项目浏览器,选择你的AR场景。3. 【可选】在层次面板
    发表于 09-20 11:56

    Unity 3D和Vuforia制作AR人物互动

    Unity Editor。接着打开Unity 3D,首次打开会有非常华丽的游戏演示….不过比较残念我们做的不是普通游戏所以新建一Senc
    发表于 09-21 10:30

    当增强现实(AR)遇到机器学习(ML),一结合 Google ARCore 与 Arm NN 的 Unity 案例

    背景介绍在 Unity 打开 Google ARCore 功能编译 Arm NN 共享库作为 Unity 的 Native 插件的一 C++ 物体检测器整合 Arm NN 到
    发表于 03-07 20:05

    2019学unity3d游戏开发必看的方法

    2019学unity3d游戏开发必看
    发表于 06-18 15:45

    Unity3D浅谈&Unity5游戏及交互设计

    Unity3D是由丹麦Unity公司开发的游戏开发工具,作为一款跨平台的游戏开发工具,从一开始就被设计成易于使用的产品。支持包括IOS,ANDROID,PC,WEB,PS3.XBOX等多个平台的发布
    发表于 07-02 06:25

    分享Unity电视遥控器按钮事件控制源码

    分享Unity 电视遥控器按钮事件控制源码,方便大家不用重复造轮子。连接:这里写目录标题一、如何消除电视上的全屏提示弹窗二、遥控器按钮事件控制源码下面展示 `暂停双选`。下面展示 `三选`。下面
    发表于 01-03 07:44

    Unity的高级图形技术解读

    本指南向您介绍Unity的一些高级图形概念。您将需要使用自定义着色器,本指南将带您了解这些着色器,并向您介绍一些其他移动概念和工具。 在本指南的最后,您将了解到: •如何实现顶点和片段着色器
    发表于 08-02 07:44

    ARM Unity开发者优化指南

    Unity是一软件平台,使您能够创建和分发2D游戏、3D游戏和其他应用程序。 本书旨在帮助您创建应用程序和内容,最大限度地利用Unity移动平台,尤其是与马里的移动平台™ GPU。它
    发表于 08-08 06:37

    Unity中Shader的三种类别 如何区分

    存在于Unity3D中由U3D发扬光大的一门技术。Untiy3D为我们把Shader的复杂性包装起来,降低shader的书写门槛。
    发表于 05-04 10:34 3213次阅读

    不同电阻的类别符号是如何区分

    为了区别不同种类的电阻,常用几个拉丁字母表示电阻类别,如图1所示。第一个字母R表示电阻,第二个字母表示导体材料,第三个字母表示形状性能。上图是碳膜电阻,下图是精密金属膜电阻。表1列出电阻的类别和符号。表2是常用电阻的技术特性
    发表于 07-03 18:12 17次下载
    不同电阻的<b class='flag-5'>类别</b>符号是如何<b class='flag-5'>区分</b>的