着色器(Shader)之像素着色器

本文介绍了像素着色器的概念,它在GPU上处理每个像素的光栅化过程,替代了固定功能流水线的多重纹理阶段。通过像素着色器,我们可以访问单个像素和纹理坐标,实现更灵活的效果。文章详细阐述了多重纹理的原理,包括光照纹理和融合优势,以及如何在像素着色器中使用HLSL进行采样操作。此外,还讨论了启用、创建、设置和销毁像素着色器的步骤。
摘要由CSDN通过智能技术生成

像素着色器实际上就是对每一个像素进行光栅化的处理期间,在GPU上运算的一段程序。

不同与顶点着色器,像素着色器不会以软件的形式来模拟像素着色器。

像素着色器实质上是取代了固定功能流水线中多重纹理的环节,而且赋予了我们访问单个像素以及访问每一个像素纹理坐标的能力


多重纹理的概述

多重纹理就是我们同时启用多层纹理,然后规定他们的融合方式,以得到特殊效果。

多重纹理最典型的应用就是光照运算,在顶点运算阶段,我们不打算使用Direct3D的光照模型,而是使用光照纹理图,
他规定了某一面是如何被照亮的。

例如:我们想在板条箱的上面投射聚光灯,我们可用结构D3DLIGHT9来定义该聚光灯,也可以将代表光照的纹理和板条箱的纹理进行融合

通过多重纹理进行融合比比Direct3D光照计算模型的优点:

1、光照已经预先计算好,并保存在聚光灯的纹理图中,这样程序在运行的时候,就不需要在对光照进行计算了,节省了时间

2、由于光照纹理图是预先计算好的,我们可以采用比Direct3D更精确的光照模型,从而得到更逼真的效果

多重纹理环节一般适用于为静态的物体实现一个完整的光照引擎。假如我们现在手上有多张已经计算好的纹理图,
比如:物体本身的纹理图,漫反射光照的纹理图,还有就是镜面光照的纹理图,当我们需要这些纹理的合成的时候,
只需对这些预先计算好的纹理图进行查询即可高效的为场景增加光照和增加细节。

多重纹理中有一点就是多重纹理坐标,用最简单的三角形来看的话,简单的绘制三角形,我们只需要一层纹理,此时只需要
一个纹理坐标,当我们需要三层纹理融

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值