游戏开发论坛

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

MFC中,HLSL渲染,调用ID3DXEffect的函数BeginPass,居然说没有

[复制链接]

2

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2008-3-21 16:34:00 | 显示全部楼层 |阅读模式
刚开始学习Direct3D,看Direct3D 图形与动画程序设计大概有1个月了,刚看到HLSL渲染这部分内容。在编写效果时,按照书上的示例程序编写了一个效果。
                m_pEffect->Begin(&nPasses,0);
                for(int iPass = 0;iPass<nPasses;iPass++)
                {
                        m_pEffect->BeginPass(iPass);
                       
                        m_pDevice->SetStreamSource(0,m_pVB,0,sizeof(CUSTOMVERTEX));
                        m_pDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
                        m_pDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2*50 -2);

                        m_pEffect->EndPass();

                }

                m_pEffect->End();
其中m_pEffect是LPD3DXEFFECT数据类型。
编译的时候,出现错误,error C2039: 'BeginPass' : is not a member of 'ID3DXEffect'
我查了查MSDN,没查到这个函数。网上也没有人提过。
各位高手有没有遇到过这样的问题??请指教一下可以吗?? [em7]

2

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2008-3-21 16:45:00 | 显示全部楼层

Re:MFC中,HLSL渲染,调用ID3DXEffect的函数BeginPass,居然说没

555,大家都没有遇到过这个问题吗?到网上查的时候,说是有这个函数阿...不明白

2

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2008-3-21 17:20:00 | 显示全部楼层

Re:MFC中,HLSL渲染,调用ID3DXEffect的函数BeginPass,居然说没

已经解决~~
好像是因为我的SDK版本不一样
改成Pass(iPass)以后就可以了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 15:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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