游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1696|回复: 2

纹理混合后的渲染问题

[复制链接]

2

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2009-10-30 11:57:00 | 显示全部楼层 |阅读模式
我将2张纹理混合后,想把混合好的效果输出到一张新的纹理上去,然后保存到一个dds中。
但是我又不想把它渲染到屏幕上去。听说要离屏渲染,怎么搞?刚从逻辑转学3d,纠结哦,等过了这段时间要从头开始学。
谁能告诉我怎么得到这张混合后的纹理IDirect3DTexture9* ?
        IDirect3DDevice9*  Device = NULL;
        ...

        Device->SetTexture( 0, texBox );
        Device->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0);
        Device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
        Device->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
        Device->SetTextureStageState( 0, D3DTSS_COLOROP,D3DTOP_SELECTARG1 );
        Device->SetTextureStageState( 0, D3DTSS_ALPHAOP,D3DTOP_SELECTARG1 );

        Device->SetTexture( 1, texAlphaFlower );
        Device->SetTextureStageState( 1, D3DTSS_TEXCOORDINDEX, 0);
        Device->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE );
        Device->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_CURRENT );
        Device->SetTextureStageState( 1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
        Device->SetTextureStageState( 1, D3DTSS_ALPHAARG2, D3DTA_CURRENT );
        Device->SetTextureStageState( 1, D3DTSS_COLOROP,   D3DTOP_MODULATE );
        Device->SetTextureStageState( 1, D3DTSS_ALPHAOP,   D3DTOP_MODULATE );

2

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2009-10-31 16:24:00 | 显示全部楼层

Re:纹理混合后的渲染问题

up

2

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2009-11-1 19:19:00 | 显示全部楼层

Re:纹理混合后的渲染问题

原来就是离频渲染嘛。
先CreateRenderTarget创建一个Surface,然后将渲染目标设置到这个surface,然后做混合,存储输出结果就OK了。
这么简单为什么就没人告诉我呢。哎。我把sdk翻了N遍终于知道了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-18 08:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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