Directx11 像素着色器示例

博客介绍了DirectX11中像素着色器的工作原理,它对每个像素片段执行一次操作,计算颜色值。像素着色器的输入与顶点着色器的输出匹配,并且需要与渲染目标格式一致。文中提供了一个简单的像素着色器示例,该示例返回插值的颜色值。
摘要由CSDN通过智能技术生成

    在光栅化阶段,来自顶点(或几何)着色器的顶点属性输出在三角形的像素进行插值。插值的取值之后会输入到像素着色器中。假设没有几何着色器,下图解释了到目前为止顶点数据所采用的路径。

    像素着色器函数和顶点着色器很像,但它会对每个像素片段都执行一次操作。给像素着色器一个输入,他就会计算每一个像素片段的颜色值。我们注意到像素片段可能不会保留下来并进入到后台缓冲区;比如,它可能在像素着色器中被裁剪(HLSL有一个cilp函数,可以通过进一步的处理丢弃像素片段)、被另一个具有更小深度值的像素片段遮挡,或者是被之后的管线测试丢弃,比如模版缓冲测试。因此,后台缓冲区的一个像素可能有多个候选像素片段;这就是“像素”和“像素片段”的区别,尽管有时候这两个术语可以互换,但是通过上下文,它的含义就很清晰了。

    下例是一个简单的与上一篇文章提到的顶点着色器示例对应的像素着色器,为了完整性,会再写一遍顶点着色器:

cbuffer cbPerObject
{
    float4x4 gWorldViewProj;
};

void VS(float3 iPos : POSITION, float4 iColor : COLOR,
    out float4 oPosH : SV_POSITION,
    out float4 o
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值