大话Unity Shader,带你带你从0开始了解

前言

Shader,一款中文名为着色器的东西,对于很多开发者来言它是一个神秘的存在,想学但是又不知道如何去学,或者学了一段时间又发现Get不到它的点,始终感觉游离在外,不得其法。

那么本文今天就来给大家讲解一下如何从零基础入门Shader,目的在于让初学Shader的程序员或者美术er可以快速进入这个丰富多彩的世界。

一、什么是Shader

Shader其实就是专门用来渲染图形的一种技术,通过shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果。小到每一个像素点,大到整个屏幕,比如下面这两个游戏内比较常见的效果。

二、Shader分类

顶点Shader(3D图形都是由一个个三角面片组成的,顶点Shader就是计算每个三角面片上的顶点,并为最终像素渲染做准备)。

像素Shader,顾名思义,就是以像素为单位,计算光照、颜色的一系列算法。

几个不同的图形API都有各自的Shader语言,在DirectX中,顶点shader叫做 Vertex Shader ,像素Shader叫做 Pixel Shader;在OpenGL中,顶点Shader也叫做 Vertex Shader ,但像素Shader叫做 Fragment Shader,也就是我们常说的片断Shader或者片元Shader。

说白了,Shader其实就是一段代码,这段代码的作用是告诉GPU具体怎样去绘制模型的每一个顶点的颜色以及最终每一个像素点的颜色。

三、Shader编程语言

既然Shader是一段代码,那必然要用一种语言来书写它,目前主流的有三种语言:基于OpenGL的OpenGL Shading Language,简称GLSL。基于DirectX的High Level Shading Language,简称HLSL。还有NVIDIA公司的C for Graphic,简称Cg语言。

GLSL与HLSL分别是基于OpenGL和Direct3D的接口,两者不能混用。而Cg语言是用于图形的

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值