关于游戏编程的学习和思考--1.认识shader

本文介绍了shader的概念,作为图形硬件计算和输出图像的关键程序片段,分为顶点shader和片段shader。同时,解析了渲染管线的工作原理,将其比作工厂流水线,详细阐述了GPU如何处理图形信号。最后,探讨了shader、贴图和材质三者之间的关系,强调材质球在游戏开发中的重要性,为深入学习shader编程和计算机图形学奠定了基础。
摘要由CSDN通过智能技术生成

1.什么是shader

shader翻译成中文叫做着色器,它是一种较为短小的程序片段,用来向图形硬件描述如何计算和输出图像,曾经是用汇编语言来编写,如今也可以使用高级语言来编写。shader主要分为两类,顶点shader(Vertex Shader)和片段shader(Fragment Shader)。

2.什么是渲染管线

学习shader,必须要首先明白什么是渲染管线,渲染管线也被称为渲染流水线,它是显示芯片内部的若干个用于处理图形信号的相互独立的并行处理单元。每一个处理单元都是一个流水线,都是按照固定的顺序到达每一个阶段,每个阶段都会接受前一个阶段的输入,然后把输出发送给后一个阶段,最终将处理完成的信息传递给绘图单元,将图形绘制到计算机的屏幕上。我们可以把GPU内部想象成一个大的厂房,这个厂房里有若干并行生产的流水线,这些流水线并行生产,合作完成整个过程。所以说,所谓的渲染管线实际上是对计算机的图形渲染过程的一种形象化的描述。关于这个过程,网上以及相关书籍中都能够找到很多流程图,各个版本的流程图会有一些区别,有的简单,也有的很详细,但其实都是在描述同样的一件事,在这里,我引用一张我看到的比较简单明了的流程图:

这张图以unity为例。Geometry部分可以理解为建模,这个过程就是把Mesh数据导入到unity之中,unity引擎再调用图形API,而调用图形API的过程就是在驱动GPU进行处理运算。在CPU的请求到达GPU之后,GPU的前段模

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值