ShaderLab学习(一、二)

本文介绍了B站上的ShaderLab教程,讲述了Unity中ShaderLab、SurfaceShader、Vertex/FragmentShader和FixedFunctionShader的区别及用途。作者提到Unity新引入的ShaderGraph,决定先从基础图形学入手,暂时搁置进一步学习计划。
摘要由CSDN通过智能技术生成

前言

Shader语言

  • 计算机的图形渲染,主要由OpenGL或DirectX来完成。

  • OpenGl使用的是GLSL sharder语言,DirectX使用的是HLSL sharder语言。

  • 英伟达公司出的CG语言具有跨平台的特性,能够在两个平台上都适用。

  • unity三种Shader语言都可以运行。

Unity Shader的分类

unity中使用的是ShaderLab编写。ShaderLab是对三种语言进行了重新封装。unity中的Shader分为以下的三类。

表面着色器(Surface Shader)

表面着色器是unity对一些Shader进行了封装,比普通的shader书写简单。

可以认为表面着色器是对顶点/片元着色器的封装,实际编译的时候,表面着色器会被转成顶点/片元着色器。

当光源较多时,适合使用表面着色器,unity的表面着色器已经处理了很多的光照细节。

顶点/片元着色器(Vertex/Fragment Shader)

基本的着色器。

实现的效果更强大,所有的功能都提供。

固定函数着色器(Fixed Function Shader)

在一些旧的设备上特定使用的着色器。目前使用的很少。

Unity中vs的配置

扩展>管理扩展 搜索“Shader”,下载ShaderlabVS插件既可。

注意要将vs关闭再重开。

后记

  • 后来发现unity这两年已经有了更新的Shader Graph,开始有点纠结是否要继续学习shaderLab还是转战Shader Graph。。。

  • 最后打算还是先学图形学基础,学完对于unity Shader的学习应该会有更多的认识。无论是ShaderLab还是Shader Graph的学习,打算先放一放。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值