游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2819|回复: 7

渲染的时候居然没有调用SetStreamSource

[复制链接]

55

主题

263

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
发表于 2006-2-7 21:00:00 | 显示全部楼层 |阅读模式
大家好,我刚学习D3D编程,看书的例子渲染过程几乎都是
BeginScene
Clear
SetStreamSource
[SetIndices]
DrawPrimitive
[DrawIndicesPrimitive]
EndScene
渲染过程大多都是这样的,但是我今天调试一个程序的时候发现他从头到尾根本没有
调用过SetStreamSource,这是咋回事?那渲染的时候顶点从哪里来?
谢谢大家指点~~~

14

主题

131

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2006-2-7 21:06:00 | 显示全部楼层

Re:渲染的时候居然没有调用SetStreamSource

你看的是DX7版本.......

55

主题

263

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
 楼主| 发表于 2006-2-7 21:29:00 | 显示全部楼层

Re:渲染的时候居然没有调用SetStreamSource

不是的,初始化的时候用的d3d8.Direct3DCreate8

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2006-2-8 12:27:00 | 显示全部楼层

Re:渲染的时候居然没有调用SetStreamSource

如果顶点数据在内存中(不在显存中)调用DrawIndexedPrimitiveUP这个渲染时,就不需要这个。

55

主题

263

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
 楼主| 发表于 2006-2-8 16:46:00 | 显示全部楼层

Re:渲染的时候居然没有调用SetStreamSource

不,调用的是DrawIndicesPrimitive和DrawPrimitive,调试的时候看到了是调用这两个

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2006-2-8 18:49:00 | 显示全部楼层

Re:渲染的时候居然没有调用SetStreamSource

DrawIndexedPrimitiveUP 看清楚,
DrawIndicesPrimitive  

55

主题

263

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
 楼主| 发表于 2006-2-8 20:49:00 | 显示全部楼层

Re:渲染的时候居然没有调用SetStreamSource

这次绝对看清楚了
DrawIndexedPrimitive-- [this 00158900] [PrimType 00000004] [MinIndex 00000000] [NumVertices 00000048] [StartIndex 000066CC] [PrimitiveCount 00000024]
DrawPrimitive-- [this 00158900] [PrimitiveType 00000006] [StartVertex 000008A4] [PrimitiveCount 00000002]
调用了这两个,没有调用DrawIndexedPrimitiveUP ,也没调用DrawPrimitiveUP
更离奇的是没调用SetStreamSource

55

主题

263

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
 楼主| 发表于 2006-2-8 22:09:00 | 显示全部楼层

Re:渲染的时候居然没有调用SetStreamSource

对不起,是我犯错我了,原来D3D8会不停的偷着替换vftable里面函数地址,汗颜~~
始料未及~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 09:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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