图形学 - 多层纹理技术的底层原理

多层纹理技术就是可以把多个纹理都贴在一个几何图形上,形成一个新的纹理。

刚接触这个技术肯定不好懂,但是我们剖析其基本的底层原理就是:每一个纹理就是一张图片,每一张图片就相当于很多像素组合起来的文件,一般每个像素也是由32位组成的,所以把这些像素和不同像素的值“加”起来就可以形成新的像素了。

如下图,是龙书书本上的图,但是读者不一定能看懂这个图的意思, 书本上的分析好像也不好懂,也许是偏于数学化吧,下面我白话一点来分析一下怎么看这个图:

第一层的图和第二层的图是做与运算的,而黑色像素代表0,白色像素代表1,其他颜色都是0到1的范围,或者是[0,255]。这里用的是[0,1]范围。

大家想想任何数与0作与运算都等于0,任何数与1作与运算都等于1,而与[0,1]之间的数做与运算则是保留一定值。这就是为什么大家看到了第二层的图像黑色的地方与第一层的图片相与之后,还是黑色的,而白色的地方保留了第一层图片的像素颜色。

而到了第三层的图片就是把第三层的三张图片都“加”起来,就是每个像素的颜色值相加,0加任何数都等于任何数,这就是为什么黑色地区都不见了,都被相对应区域的颜色代替了。

最终得到第四层的图片,这就是叠加起来的最终效果。

龙书用了一小节讲这个技术,其实其中的底层原理就这些。

Reference:

Introduction to 3D Game Programming with Directx龙书

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程解决的问题: 作为游戏行业或者图形学从业者,你是否面临以下问题: 到底openGL底层如何实现的? 到底矩阵操作变换是怎么做到的? 到底光栅化的算法以及原理是什么? 到底如何才能从3D世界投射到2D屏幕呢? 图形学有这么多的矩阵操作,到底如何推导如何应用呢? 学完这门课程,你应该就可以从底层了解一个初级的openGL图形接口如何实现,图形学最底层的封装到底面临哪些挑战;跟随我们一行一行写完代码,你就会得到一个迷你版本的openGL图形库,你可以深度体会图形从模型变换,观察矩阵变换,投影矩阵变换一直到光栅化纹理操作的全套模拟流程。 课程介绍: 本课程将带领学员不使用任何图形库,实现从0到1的图形学接口封装以及算法讲解,并且带领大家手敲代码,一行一行进行实现。 涵盖了(环境搭建,绘制点,Bresenham算法绘制完美直线,三角形拆分绘制算法,颜色插值算法,图片操作,图片二次插值放缩算法,纹理系统接口搭建及封装,矩阵操作理论以及实践,openGL类似接口封装,3D世界的图形学理论及接口封装等) 最终将带领大家通过C++实现一个3D世界的图形接口,方便所有人入门图形学,进行接下来的openGL接口以及GPU编程的学习   本课程为系列课程的第一步入门,且带领所有人进行实现,更加实用,可以让大家打牢图形学的基础知识及编程技能

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值