游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2467|回复: 5

HLSL的几个概念性问题求助

[复制链接]

9

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2009-6-1 09:08:00 | 显示全部楼层 |阅读模式
最近看HLSL,有些疑问,请高手指点:
1. 可以将应用程序中部分顶点利用应用程序操作,另一部分顶点利用顶点SHADER操作吗?  如果是,是不是应用程序操作顶点后再启用顶点SHADER?

2. 采用了顶点SHADER后,就不用再在应用程序中设置(用函数SetTransform())世界矩阵、视图矩阵和投影矩阵吗?

3. 为什么有些DX程序中只有:Device->SetTransform(D3DTS_VIEW, &V);和Device->SetTransform(D3DTS_PROJECTION, &proj);而没有设置世界矩阵。有些程序又设置了世界矩阵。请问:世界矩阵、视图矩阵和投影矩阵哪些是必须设置的,哪些不必设置? 如果没有设置的话,是不是采用单位矩阵?

7

主题

78

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2009-6-1 09:48:00 | 显示全部楼层

Re:HLSL的几个概念性问题求助

1、可以,对于不同顶点,随便你用什么方法,只要能满足需求即可。但是对于同一个顶点,我就不知道结果会怎样了。
2、是。不过还得看具体情况。我认为,一般来说,仅是把这些变换放到shader里,让你手动操作罢了。
3.1、我估计是因为那些demo比较简单,唯一的物体就在世界坐标系原点位置,因此无需世界变换。
3.2、还是得看具体情况。我们是自由的。
另外,鉴于我也比较菜,所以我也不知道有没有哪里说错了- -|||

9

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2009-6-1 10:24:00 | 显示全部楼层

Re:HLSL的几个概念性问题求助

1.“可以将应用程序中部分顶点利用应用程序操作,另一部分顶点利用顶点SHADER操作吗?”  
你的意思是可以将物体的不同顶点用分别用应用程序和SHADER程序操作? 能否举一个例子,因为目前我看到的都是所有顶点全采用应用程序操作或全采用SHADER操作。     谢谢

7

主题

78

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2009-6-1 10:28:00 | 显示全部楼层

Re:HLSL的几个概念性问题求助

在不同的render中使用不同的方法,同一个render中,好像只能选择一种,
其实我2楼的意思是这个...

9

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2009-6-1 10:49:00 | 显示全部楼层

Re:HLSL的几个概念性问题求助

你指的render即是一个程序中的显示函数吗?

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2009-6-1 13:58:00 | 显示全部楼层

Re: HLSL的几个概念性问题求助

squirrelsquirrel: HLSL的几个概念性问题求助

最近看HLSL,有些疑问,请高手指点:
1. 可以将应用程序中部分顶点利用应用程序操作,另一部分顶点利用顶点...

1.对不同的DrawPrimitive可以,同一个DP内不可以
2.此时SetTransform无效,需要在shader参数里设置
3.参见D3DTS_WORLD(i)宏,世界矩阵可以有多个
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 04:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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