游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1188|回复: 3

在顶点进行 Alpha 混合问题

[复制链接]

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-10-27 16:42:00 | 显示全部楼层 |阅读模式
小弟想在两层贴图之间做 Alpha 混合,只将 Alpha 值记录在顶点中,用插值计算每一个像素的 Alpha 值并进行混合。请问各位大虾在固定管线下应该如何做。
[em19]

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
 楼主| 发表于 2005-10-28 12:06:00 | 显示全部楼层

Re:在顶点进行 Alpha 混合问题

。。。。。。。
看来在固定管线上真的不好做啊,只能换自定义管线了

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
 楼主| 发表于 2005-10-28 14:30:00 | 显示全部楼层

Re:在顶点进行 Alpha 混合问题

这样做的话,效率有可能会下降,而且还会出现 z-buffer 问题。
还是要谢谢 azureyes 的热心帮助,看来自定义管线比较适合解决这个问题。 ^_^

8

主题

239

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
发表于 2005-10-28 15:06:00 | 显示全部楼层

Re:在顶点进行 Alpha 混合问题

                pDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
                pDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
                pDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);


                pDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_BLENDDIFFUSEALPHA);
                pDevice->SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
                pDevice->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 10:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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