龙书D3D11章节习题答案(第九章)

本文提供了第九章关于D3D11混合技术的习题答案,涉及透明水效果、混合操作、绘制顺序影响、雾效计算及丢弃指令对着色器的影响,并给出了禁用红绿通道颜色写入的实现方式。
摘要由CSDN通过智能技术生成

以下答案仅供参考,有错欢迎留言。


Chapter 9 : Blending


1. Modify the “Transparent Water” demo by using the following line before drawing the water:

md3dImmediateContext->OMSetBlendState(TransparentBS, blendFactors, 0xfffffffe);

This turns off the first bit which disables the first sample. Because we are not using multisampling (which is like using multisampling with one sample), this prevents the water pixels from being drawn.


在创建交换链时,程序中mEnable4xMsaa默认为false,不使用多重采样,采样器Count = 1。

	// Use 4X MSAA? 
	if( mEnable4xMsaa )
	{
		sd.SampleDesc.Count   = 4;
		sd.SampleDesc.Quality = m4xMsaaQuality-1;
	}
	// No MSAA
	else
	{
		sd.SampleDesc.Count   = 1;
		sd.SampleDesc.Quality = 0;
	}

Blend Demo中的mEnable4xMsaa值为false,默认不使用多重采样,故采样器只有1个,由OMSetBlendState的第三个参数UINT SampleMask的第1位控制采样器开关,第1位取0以后即表示不绘制。

	md3dImmediateContext->OMSetBlendState(RenderStates::TransparentBS, blendFactor, 0x00000000); //同0xfffffffe




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值