理解绘制系统,记住四点就够了 | GAMES104实录 - 现代游戏引擎:从入门到实践

本文介绍了现代游戏引擎的关键技术,包括纹理压缩的原理,如DXT和ASTC算法;建模工具,如3DS Max、Maya和Blender;以及渲染管线的发展,特别是Cluster-Based Pipeline的概念。文章强调了游戏引擎绘制系统与硬件的紧密关系,以及优化技术的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本期为GAMES104《现代游戏引擎:从入门到实践》视频公开课文字实录第13期。本课程由GAMES(图形学与混合现实研讨会)发起,游戏引擎技术专家王希携手游戏引擎一线开发者共同研发。

课程共计22个课时,将介绍现代游戏引擎所涉及的系统架构,技术点,引擎系统相关的知识。为配合学习实践,课程组在 GitHub 上开源了小引擎Piccolo,上线1个月即获得了2900+star, 累计下载量已超过20000+。

以下内容为公开课视频转文字版本,为阅读通顺,有删减

01「纹理压缩」

经过上一节课,我们基本上就可以进行渲染了。(关注公众号,回复[课件],即可获取完整版课件)

下面我们介绍另外一个很关键的概念——纹理压缩。渲染的一切基础都是可渲染物体,在可渲染物体中,有一个很重要的组件,叫做纹理。对于照片来说,我们一般会将其存成JPEG或者PNG格式,或者其他一些流行的图片格式。

而在游戏引擎中,我们一般会将纹理压缩存储。大家知道,计算机会将照片进行压缩存储,对于未经压缩的BMP格式和经过压缩的图片格式来说,同一张图片所占用的空间可能会相差十倍以上。而在游戏引擎的绘制系统中,我们无法使用一些流行的、非常优秀的算法对图片进行压缩,因为经过这些算法压缩后的图片无法进行随机访问。举例来说,对于JPEG格式的文件,如果给定一个UV坐标,系统无法快速从JPEG格式的文件中获取到相应坐标的信息,而且这个计算成本非常高。在游戏引擎中,我们一般采用基于块(Block Based)的压缩方法。我们将图片切成一个个小方块,最经典的就是4×4的小方块,然后进行压缩。

这里介绍一个非常经典的算法。对于DXT类型的纹理,在一个4×4的色块中,可以找到最亮的点和最暗的点,即颜色最鲜艳和颜色最暗的点,然后将该方块中的其他点都视为这两个点之间的插值。因为对于很多图片来说,相邻的像素之间都有一定的关联度(Coherence)。所以我们可以存储一个最大值和一个最小值,然后为每个像素存储一个距离最大值和最小值的比例关系,这样就可以近似地表达整个色块中的每个像素的颜色值。在计算机图形学领域中,纹理压缩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值