游戏开发论坛

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

PizelShader 常量表问题

[复制链接]

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-8-7 15:37:00 | 显示全部楼层 |阅读模式
我在绘制场景时要用到 2 个不同的 PS 来绘制两个不同的物体,这两个 PS 都有全局常量。我发现两个 PS 的常量表会出现冲突,表现结果就是全局常量无法设置到 PS 中去。只要我在程序中把其中一个 PS 的载入代码注释掉,另一个 PS 的常量就能设置进去了。请问哪位知道这个问题该如何解决?
PS:只是常量设置出现问题,但两个 PS 都能正确显示

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
 楼主| 发表于 2005-8-7 15:40:00 | 显示全部楼层

Re:PizelShader 常量表问题

关键代码
D3DXCompileShaderFromFile("Light.ps", 0, 0, "Main", "ps_2_0", D3DXSHADER_DEBUG, &shader, &errorBuffer, &DiffuseConstTable);
DiffuseHandle = DiffuseConstTable->GetConstantByName(0,"Diffuse");
……

D3DXCompileShaderFromFile("Bloom.ps", 0, 0, "Main", "ps_2_0", D3DXSHADER_DEBUG, &shader, &errorBuffer, &BloomConstTable);
OffsetHandle = BloomConstTable->GetConstantByName(0,"Offset");

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
 楼主| 发表于 2005-8-7 17:45:00 | 显示全部楼层

Re:PizelShader 常量表问题

阿,我把两个 PS 写在同一个文件中,通过一个整数值来决定调用哪个 PS 效果,已经解决了这个问题^_^
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 11:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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