游戏开发论坛

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

关于D3D渲染流水线的几个疑问

[复制链接]

4

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-12-15 11:05:00 | 显示全部楼层 |阅读模式
1 IDirect3DDevice8:rawPrimitive中都实现了哪些动作,是否包括3个矩阵变换,如果包括矩 阵变换,它是否对所有的vertexbuffer中的点都进行转换,还是只对参数中指定的点进行转换?
2 IDirect3DDevice8::DrawIndexedPrimitive中实现了哪些动作,与DrawPrimitive有什么区别,
它是否对所有的vertexbuffer中的点都进行转换,还是只对indexbuffer中的点都进行转换?
3 vertexshader和pixelshader和以上两个函数在调用顺序上是什么关系?

4

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2004-12-15 12:55:00 | 显示全部楼层

Re:关于D3D渲染流水线的几个疑问

怎么没有人回答我的问题啊
我自己假设回答一下
IDirect3DDevice8:rawPrimitive引发了3个矩阵变换,并且只对指定的点进行转换,如果vertexbuffer中有100个点,但要是只画2个三角形的话,就只转换6个点,对于DrawIndexdPrimitive只转换index指定的点。
IDirect3DDevice8::DrawPrimitive引发vertexshader,然后执行pixelshader。
也就是说DrawPrimitive/DrawIndexdPrimitive会裁剪掉没有用到的点,而不会把所有vertexbuffer中的点都转换。
请大侠们指点一下,这对于在裁剪方面做优化,不明白这些东西,很难下手去写代码的,拜托

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2004-12-18 18:23:00 | 显示全部楼层

Re:关于D3D渲染流水线的几个疑问

DrawPrimitive并不对顶点进行矩阵转换啊,在这之前要自己手动设定矩阵啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 19:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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