游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2468|回复: 4

怎样调用SetVertexShader()

[复制链接]

48

主题

142

帖子

142

积分

注册会员

Rank: 2

积分
142
发表于 2006-11-21 17:12:00 | 显示全部楼层 |阅读模式
在DX8中
SetVertexShader(TERRAIN_D3DFVF_CUSTOMVERTEX)
这样就行了.
但在DX9中要求接受IDirect3DVertexShader9 *类型参数,我是这样用的
IDirect3DVertexShader9 * pShader;
...
DWORD CTerrain::Render()
{
        m_pD3DDevice->SetStreamSource(0, m_pVertexBuffer,0, sizeof(TERRAIN_CUSTOMVERTEX));
        m_pD3DDevice->SetVertexShader(pShader);
...
调试报错:
terrain2.exe 中的 0x00f3d52c 处未处理的异常: 0xC0000005: 读取位置 0xcdcdcded 时发生访问冲突 。
是否pShader没有初始化还是另有原因?
谢谢!
       

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2006-11-21 19:39:00 | 显示全部楼层

Re:怎样调用SetVertexShader()

dx9下是SetFVF。

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2006-11-21 22:11:00 | 显示全部楼层

Re:怎样调用SetVertexShader()

set declaretion吧.. vs 之前当然要初始化了!

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2006-11-22 14:40:00 | 显示全部楼层

Re:怎样调用SetVertexShader()

m_pD3DDevice->SetVertexShader(pShader);
之前请加上m_pD3DDevice->SetDeclaration(pDecl);//参数是LPDIRECT3DVERTEXDECLARTION9,具体你去查看SDK吧我就不说的那么琐碎了

快满200分了 呵呵

48

主题

142

帖子

142

积分

注册会员

Rank: 2

积分
142
 楼主| 发表于 2006-11-24 09:52:00 | 显示全部楼层

Re:怎样调用SetVertexShader()

Thanks.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 23:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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