游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2484|回复: 5

DX的模板里面,这些选项到底是什么意思啊,有什么用?

[复制链接]

52

主题

103

帖子

103

积分

注册会员

Rank: 2

积分
103
发表于 2009-7-29 08:49:00 | 显示全部楼层 |阅读模式
    Device->SetRenderState(D3DRS_STENCILENABLE,    true);
    Device->SetRenderState(D3DRS_STENCILFUNC,      D3DCMP_ALWAYS);
    Device->SetRenderState(D3DRS_STENCILREF,       0x1);
    Device->SetRenderState(D3DRS_STENCILMASK,      0xffffffff);
    Device->SetRenderState(D3DRS_STENCILWRITEMASK, 0xffffffff);
    Device->SetRenderState(D3DRS_STENCILZFAIL,     D3DSTENCILOP_KEEP);
    Device->SetRenderState(D3DRS_STENCILFAIL,      D3DSTENCILOP_KEEP);
    Device->SetRenderState(D3DRS_STENCILPASS,      D3DSTENCILOP_REPLACE);

        // disable writes to the depth and back buffers
    Device->SetRenderState(D3DRS_ZWRITEENABLE, false);
    Device->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
    Device->SetRenderState(D3DRS_SRCBLEND,  D3DBLEND_ZERO);
    Device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);

   // re-enable depth writes
        Device->SetRenderState( D3DRS_ZWRITEENABLE, true );

        // only draw reflected teapot to the pixels where the mirror
        // was drawn to.
        Device->SetRenderState(D3DRS_STENCILFUNC,  D3DCMP_EQUAL);
    Device->SetRenderState(D3DRS_STENCILPASS,  D3DSTENCILOP_KEEP);

52

主题

103

帖子

103

积分

注册会员

Rank: 2

积分
103
 楼主| 发表于 2009-7-29 08:52:00 | 显示全部楼层

Re:DX的模板里面,这些选项到底是什么意思啊,有什么用?

我的大体理解是这样的,不知道对不对,请高人指点!!
  
在模板缓存中绘制一个小的面,然后就可以在这个小的面上面继续绘制物体(比如倒影之类),如果物体的坐标超出了这个面,那么绘制的东西就不可见,或者根本不能绘制。请问是这样吗??

14

主题

127

帖子

133

积分

注册会员

Rank: 2

积分
133
发表于 2009-7-29 09:10:00 | 显示全部楼层

Re: DX的模板里面,这些选项到底是什么意思啊,有什么用?

不是,模板缓存也是一个表面,是通过模板测试来决定像素要不要绘制到后台缓冲

52

主题

103

帖子

103

积分

注册会员

Rank: 2

积分
103
 楼主| 发表于 2009-7-29 09:20:00 | 显示全部楼层

Re:DX的模板里面,这些选项到底是什么意思啊,有什么用?

那怎么测试呢?书上说什么用掩码之类的,不是很明白,还请高人指点!

52

主题

103

帖子

103

积分

注册会员

Rank: 2

积分
103
 楼主| 发表于 2009-7-29 13:00:00 | 显示全部楼层

Re:DX的模板里面,这些选项到底是什么意思啊,有什么用?

帮帮忙啊,谁给我讲讲他测试的原理是什么样的啊!!

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-7-29 13:23:00 | 显示全部楼层

Re:DX的模板里面,这些选项到底是什么意思啊,有什么用?

模板很耗资源的  如果可以的话建议用自己写shader代替模板功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-19 08:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表