游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1109|回复: 1

加载VertexShader代码总是出错

[复制链接]

7

主题

16

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2004-8-16 07:24:00 | 显示全部楼层 |阅读模式
// 加载VShader代码
                LPD3DXBUFFER pCode= VShaderCreateAssemble(szFileName, pPackFile);
                DWORD *p= pCode ? (DWORD *)pCode->GetBufferPointer() : NULL;

                        // 创建VS
                        DWORD hShader= (DWORD)INVALID_HANDLE_VALUE;
                        if (FAILED(m_pD3DDevice->CreateVertexShader(dwToken, p, &hShader, NULL)))
                                hShader= (DWORD)INVALID_HANDLE_VALUE;

                SAFE_RELEASE(pCode);

                return hShader;

VShaderCreateAssemble(szFileName, pPackFile)的作用是加载指定的vsh文件,如果文件存在则返回有效的LPD3DXBUFFER,否则返回NULL
我在程序中指定了szFileName且正确得到了LPD3DXBUFFER,则CreateVertexShader总是FAILED。如果szFileName设为NULL,则VShaderCreateAssemble返回NULL, 也就是p为NULL的时候,则CreateVertexShader才为成功,可是这样就没法运行vertexshader了。
这可能是什么问题呢?

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-8-17 11:47:00 | 显示全部楼层

Re:加载VertexShader代码总是出错

看返回值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-16 23:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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