游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1238|回复: 1

alpha混合

[复制链接]

4

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2009-6-16 11:52:00 | 显示全部楼层 |阅读模式
void  render()
{
        g_device->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(255,255,255), 1.0f, 0 );
        g_device->BeginScene();

        g_device->SetRenderState( D3DRS_LIGHTING, FALSE );  //禁用照明效果,默认情况下起用启用照明

        //计划Alpha混合, 设置ALPHA混合系数
        g_device->SetRenderState( D3DRS_ALPHABLENDENABLE,true);
        g_device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
        g_device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);


        //设置纹理渲染状态
        g_device->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );
        g_device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );

        //纹理Alpha操作设置
        g_device->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE );
        g_device->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
        g_device->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE );

        g_sprite->Begin( D3DXSPRITE_SORT_DEPTH_FRONTTOBACK|D3DXSPRITE_ALPHABLEND);

        D3DXVECTOR3 pos(10,10,0);
        g_sprite->Draw(g_texture2, NULL,NULL,&pos,0xFFFFFFFF);
        g_sprite->Draw(g_texture1,NULL,NULL,&pos,0xFFFFFFFF);
//         D3DXVECTOR3 pos1(200,10,0);
//         g_sprite->Draw(g_texture2, NULL,NULL,&pos1,0xFFFFFFFF);

        g_device->SetRenderState(D3DRS_ALPHABLENDENABLE, false);


        g_sprite->End();
       
//        g_device->SetTexture(0,g_texture1);
        g_device->EndScene();
        g_device-&gtresent( NULL, NULL, NULL, NULL );
}

代码如上,可是渲染出来结果一张把另外一张挡住了,请问问题出在哪?

14

主题

156

帖子

158

积分

注册会员

Rank: 2

积分
158
QQ
发表于 2009-6-18 17:31:00 | 显示全部楼层

Re: alpha混合

cainiao1234: alpha混合

void  render()
{
        g_device->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(255,255,255), 1.0f, ...



深度写关闭了么。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-19 23:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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