游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2659|回复: 6

D3D里effect运行出错的问题

[复制链接]

13

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2004-11-11 22:06:00 | 显示全部楼层 |阅读模式
我在effect的fx文件里写的代码,编译都通过的,但运行的时候就出错了,说是
unexpected error encountered
error code:E_FAIL(0x80004005)
calling3DXCreateEffectFromFile( pd3dDevice, str, NULL, NULL, dwShaderFlags,  NULL, &g_pEffect, NULL )
这是什么问题啊?
是不是因为指令太多了超出shader处理能力了?
还是别的什么错误?
怎么解决啊?
请指点一下,谢了!
[em3]

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2004-11-12 00:24:00 | 显示全部楼层

Re:D3D里effect运行出错的问题

输出 shader 的编译信息就知道了。

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-11-12 09:58:00 | 显示全部楼层

Re:D3D里effect运行出错的问题

作如下修改
HRESULT hr = S_OK;
LPD3DXBUFFER errorBuffe = NULLr;
if (FAILED(hr = D3DXCreateEffectFromFile( pd3dDevice, str, NULL, NULL, dwShaderFlags,  NULL, &g_pEffect, &errorBuffer )))
{
     checkout((char*)errorBuffer->GetBufferPointer(); // 检查编译错误
    SAFE_RELEASE(errorBuffer);
}

13

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2004-11-12 14:01:00 | 显示全部楼层

Re:D3D里effect运行出错的问题

谢谢楼上两位!
shader 的编译信息怎么输出啊?
checkout这个函数我怎么查不到啊,编译也通不过,好象没这个东西,是怎么回事?
我把checkout取掉,运行出错:未处理的异常:0xC0000005: 读取位置0x00000000 时发生访问冲突。是指针变空指针了还是怎么回事?

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-11-12 16:19:00 | 显示全部楼层

Re:D3D里effect运行出错的问题

寒。。。。checkout的意思就是要你检查
errorBuffer

不是说真的有这个函数

13

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2004-11-17 00:10:00 | 显示全部楼层

Re:D3D里effect运行出错的问题

不好意思,我折腾了半天shader 的编译信息还是不能输出出来,又来麻烦大家了。
secondage写的那段代码checkout那个地方具体该怎么处理一下,要用个什么函数啊?
我试了OutputDebugString什么的都不行,不知道该怎么写。
小弟初学D3D,问的问题可能没什么水平,我自己试了解决不了才问的。
知道的麻烦再指点一下,先谢过了!

13

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2004-11-17 20:50:00 | 显示全部楼层

Re:D3D里effect运行出错的问题

怎么没人理我啊,呜呜!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 09:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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