高分请教一个DirectX 中关于XFile的底层渲染问题?

AliasKavin 2004-09-29 11:42:48
最近使用DirectX 渲染XFile的Mesh,发现一些问题不能解决!!不能使用一点关于D3DX的东西~~~~
就是要在他的下一层进行XFile的渲染~~~~~
我知道的步骤是:
1.使用DirectXFileCreate打开一个文件.
2.使用RegisterTemplates注册需要用的模板.
3.使用CreateEnumObject枚举顶层的模板.
4.ParseXFileData分析数据.
5.需要VertexBuffer和IndexBuffer,最后DrawIndexedPrimitive并Present.
但是我在后面遇到一些问题~~~~希望高手能给一些指点`~~~~或是能提供一些资料`~~~
如问题解决,有高分相送~~~~~这里先谢过了`~~~~~!!!
...全文
305 21 打赏 收藏 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
AliasKavin 2004-12-05
  • 打赏
  • 举报
回复
差不多都明白了`~~~渲染动画的最主要的是矩阵的关系要清楚~~~~计算出来~~~
改变顶点的渲染位置就可以了`~~~那些都很简单了~~~偶现在研究更复杂的~~~碰撞~~
nobounded 2004-11-02
  • 打赏
  • 举报
回复
to AliasKavin(Alias Kavin) 研究明白了没有,讲讲你的见解啊。
AliasKavin 2004-10-31
  • 打赏
  • 举报
回复
那些我看了不少~~~~不过好像从2000年Havok收购Ipion后就找不到这些SDK例子了~~~
我也不清楚~~~~连Google上都找不到一个~~~
李海辰 2004-10-30
  • 打赏
  • 举报
回复
呀~~现成的例子我恐怕没有,不过你可以到 www.gamedev.com 或 www.flipcode.com 找找,有好多的说。
AliasKavin 2004-10-26
  • 打赏
  • 举报
回复
To lichen8566():
你一定是游戏编程高手吧`~~!感觉Havok物理引擎如何~~~~有没有什么例子可以共享一下`~~~
呵呵~~~谢谢啦`~~
李海辰 2004-10-25
  • 打赏
  • 举报
回复
呵呵~~ DirectX 8.0 仍然有一个关键部分被封装了,那就是它的网格绘制函数,它调用的是 D3DX 的 DrawSubSet 函数。其实它完成的工作也就是我上面所说的部分。

如果你要示例的话,可以参考一下 OpenGL 的教程,只不过是替换一下相关的 API 而以,大概流程是一样的。
AliasKavin 2004-10-23
  • 打赏
  • 举报
回复
To lichen8566():
DirectX 8.0里用的D3DX没有这么多吗~~?那倒不错,可以安装看看`~~~
你说的渲染流程我看了`~~大概已了解`~~~只是如果能有一些代码或例子就更好了`~~~谢谢`~~
AliasKavin 2004-10-23
  • 打赏
  • 举报
回复
To YangLin1ST(杨家枪法第六十七代传人):
问题的关键是要用D3D接口而不是D3DX~~~所以我看那个skinmesh的例子是没有什么用的~~~
不过还是谢谢`~~
李海辰 2004-10-17
  • 打赏
  • 举报
回复
建议你先看看 DirectX 8.0 的骨骼动画的示例,由于这个版本对 .x 的封装并不是很过分,于是你能看到一些技术细节。

至于 IDirectXFile... 我不说明了,那些无非是载入 MS 自己的文件格式等等的程序。我们自己创建、载入纹理,顶点等等也很轻松,这部分没有什么难度。

我给你讲一下骨骼动画渲染的大概流程

预先计算好使用不同材质、不同矩阵(骨骼)的三角面渲染集

设置顶点缓存

for( 设置使用不同材质三角面集的循环 )
{
pDevice->SetTexture()
for( 设置、计算三角面“子”集不同矩阵的循环 )
{
计算矩阵
pDevice->SetTransform()
设置顶点混合渲染状态及其相关数据的计算
渲染该三角形子集
pDevice->DrawIndexdPrimitive
}
}

YangLin1ST 2004-10-16
  • 打赏
  • 举报
回复
骨骼动画的关键是,配置好ID3DXSkinInfo 这个接口里需要的数据,然后每次按照规则画就可以了.具体的参考就是dxSDK中的skinmesh那个例子,跟一遍你就知道了.
AliasKavin 2004-10-15
  • 打赏
  • 举报
回复
再过几天完成时,偶就结贴~~~~
现在有能提供一点帮助的~~~~都有分`~~
AliasKavin 2004-10-15
  • 打赏
  • 举报
回复
To nobounded(风):
你所说的都是在D3DX层是的应用`~~~那些是Microsoft提供的接口~~~
Bone是骨骼,点(vertex)是组成面(face)的~~~~而这些点和面是受Bone的影响的~~~~
只画出点这没有用的~~~~只有点的话你根本就不知道这些点表示的是什么图形~~~~
还要画出面来,并且要知道面的法线(normal)才可以分辩出面的方向~~~~Matrix可以表位置,转动和大小~~~
D3D9对X的接口只有:
IDirectXFile
IDirectXFileBinary
IDirectXFileData
IDirectXFileDataReference
IDirectXFileEnumObject
IDirectXFileObject
IDirectXFileSaveObject
不过现在偶对这些方法有一定的了解了`~~~~
应该不久就可以有结果了`~
nobounded 2004-10-11
  • 打赏
  • 举报
回复
骨骼动画(AnimationSet)不是用来画的是用来计算的,你知道骨骼动画,骨骼只是一些MATRIX而已,是用来计算点点的,你要画的就是点点而已,计算过程我也没搞清楚,反正就是把点点的位置算出来。
AliasKavin 2004-10-08
  • 打赏
  • 举报
回复
晕`~~~~急用~~~
没有人可以帮助我一下吗`~~~??
AliasKavin 2004-10-06
  • 打赏
  • 举报
回复
有关于.x文件的资料也可以啊`~~~谢谢~~~
AliasKavin 2004-10-06
  • 打赏
  • 举报
回复
资料是不少啊`~~~~谢谢~~~~~不过可惜没有偶想要的~~~~
lxxxk 2004-10-01
  • 打赏
  • 举报
回复
这里去找,ftp://GameResFTP:20040526@61.185.208.138
AliasKavin 2004-10-01
  • 打赏
  • 举报
回复
晕~~~~~书上有的话,偶就不问了`~~~~
Microsoft的DirectX SDK很多都是在D3DX那一层上做的`~~~
所以资料很少的~~~
zhangyan_qd 2004-09-30
  • 打赏
  • 举报
回复
你都知道得很清楚了呀,还有什么问题? :)
lxxxk 2004-09-30
  • 打赏
  • 举报
回复
看书吧,这怎么说得清楚
加载更多回复(1)
内容概要:本文围绕内置式永磁同步电机(IPMSM)的宽速域控制问题,提出了一种最大转矩电流比(MTPA)与基于解析法的弱磁控制协同策略,旨在实现电机在全速域范围内的高效、稳定运行。研究基于电压饱和判据,设计了精确的分区切换机制,确保在不同转速区间内MTPA与弱磁控制策略的无缝衔接与平滑过渡。通过Simulink搭建了完整的电机控制系统模型,对所提出的协同控制策略进行了详细的仿真验证,重点分析了其在动态加速、减速及负载突变等工况下的宽速域动态特性,证明了该方法在提升系统响应速度、抑制转矩脉动和维持电压稳定方面的优越性能。; 适合人群:从事电机控制、电力电子、新能源汽车或自动化领域的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握永磁同步电机在全速域范围内的先进控制策略;② 学习如何设计基于物理约束(如电压饱和)的多模式控制切换逻辑;③ 利用Simulink进行电机控制系统的建模、仿真与性能验证; 其他说明:该资源不仅提供了完整的理论分析和控制框图,还包含了可直接运行的Simulink仿真模型,便于读者复现结果、修改参数并进行二次开发,是深入理解电机高性能控制算法的理想实践材料。
内容概要:本研究聚焦于永磁同步电机(PMSM)在无位置传感器控制下的启动性能优化,提出了一种将模型预测控制(MPC)与模型参考自适应系统(MRAS)相融合的观测器设计方案。该融合观测器充分利用MPC的多步前瞻预测能力和MRAS的强鲁棒性,构建协同机制,旨在解决电机在零速和极低速工况下因反电动势微弱而导致的传统观测器收敛困难、稳定性差的问题。研究通过Simulink仿真实验,深入分析了融合观测器的动态响应特性、收敛速度及其在零速启动过程中的稳定性,验证了该方案相较于单一观测器在提升系统收敛性和平滑启动方面的优越性。; 适合人群:具备电机控制理论基础和Simulink仿真经验,从事电机驱动、电力电子或自动化领域研发工作的工程师及研究生。; 使用场景及目标:① 解决永磁同步电机在零低速区的精确转子位置观测难题;② 设计并验证融合型观测器以提升系统在启动阶段的动态性能和鲁棒性;③ 为高性能无传感器驱动系统的设计提供仿真依据和技术参考。; 阅读建议:此资源以Simulink仿真实现为核心,读者应在理解MPC和MRAS基本原理的基础上,重点学习其融合架构的设计思路与协同机制的实现方法,并通过动手复现仿真模型来深入掌握观测器的参数整定、性能评估与优化技巧。

8,324

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧