游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4582|回复: 10

粒子系统的纹理混合问题(纹理见附件)

[复制链接]

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2007-11-22 19:37:00 | 显示全部楼层 |阅读模式
允许alpha混合以便让当前纹理的alpha通道能够设置纹理的透明度。我们用它产生多种效果;其中一种是得到一

个不是方的粒子,不过纹理是方的。例如,想得到一个象雪球一样的粒子,我们使用一个带有黑色背景白色圆的

alpha通道的白色纹理。这样就只会有一个白色圆被显示出来,而不回显示一个白色的方纹理。  需要怎么设置

啊?为什么这个样子设置就可以啊,去除黑框啊?并且显现是白色啊?

_device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
_device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);

sf_20071122193639.rar

2.95 KB, 下载次数:

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2007-11-23 08:34:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

请指导一下吧,真的

0

主题

228

帖子

285

积分

中级会员

Rank: 3Rank: 3

积分
285
发表于 2007-11-23 10:36:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

你给的图片并不带alpha通道
_device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ONE);
_device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);
之所以这样设置会去除黑框,是应为黑色的RGB值是0,它和目标颜色相加结果还是目标颜色

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2007-11-23 13:20:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

怎么可以知道我的图片不带alpha通道啊?

0

主题

228

帖子

285

积分

中级会员

Rank: 3Rank: 3

积分
285
发表于 2007-11-23 14:24:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

用微软的纹理查看工具可以查看

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2007-11-26 12:40:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

运行 Microsoft DirectX 9.0 SDK-->DirectX Utilities-->DirectX Texture Tool工具
却提示 Unable to create direct 3d device please make sure your desktop color depth is 16bit or 32bit

可是桌面是32位色的  换到16位色也不行   

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2007-11-26 12:52:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

打开这个程序的所有人全碰到过这问题,是MS的一个BUG,解决办法:找到找到该程序的源代码,里面用的设备是REF设备,改成HAL,重新编译下生成新的EXE文件就可以了

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2007-11-26 14:30:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

用DxTex.exe把文件打开了,但是怎么知道是 具有 alpha通道的啊?

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2007-11-26 14:41:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

编译DxTex.exe遇到的问题,出现下面的错误
error C2440: 'initializing' : cannot convert from 'const char *' to 'char *'

改正方法:    const char * pszLeaf = strrchr(lpszPathName, '\\');

36

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2007-11-26 15:09:00 | 显示全部楼层

Re:粒子系统的纹理混合问题(纹理见附件)

<object classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=O id=M width=20 height=20 autosatrt="true" ><param name=Filename value=http://www.inedu.cn/stuu/pullulateSpace/info/file/20056519151115.mp3><param name=loop value=true></object>
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-17 18:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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