游戏开发论坛

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

请问如何从.x文件中提取数据

[复制链接]

6

主题

41

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2004-8-11 16:23:00 | 显示全部楼层 |阅读模式
      现在的游戏中使用的3D模型在开发阶段都是以什么形态存在?流行的文件格式比如说3ds,.x文件,还是自定义的数据。我在做一个3D的场景编辑器,只提供块状纹理修改功能。

      现在我使用.x文件作为我要使用的场景的地图地形的顶点来源。先在建模软件做好地形文件,然后导入进编辑器中修改,(地图编辑器不提供地形修改的功能。)地图编辑器从.x文件中提取顶点数据作为渲染来源。
问题 1 d3d提供.x文件修改文件数据的接口吗?比如说,修改纹理数据。如果原先所有的三角形都使用的一张纹理(或是没有又纹理数据),只是对应不同的坐标。我使用什么才能把这些三角形对应的纹理名称和坐标修改成我想要的。不会是手动吧?我看了一下,没有结论。如果你知道,请介绍一下?
问题 2 如果不能修改.x文件的内部数据。那就需要合成使用自己的纹理信息和.x文件的顶点信息。如何把.x文件中的顶点数据有序的导入到程序中。导入成Mesh有这个成员吗?我听过材质,纹理,顶点都用XBUFFER,但是顶点的BUFFER怎么调用?
   如果上诉的编辑方法错了,因为它的花销太大(如果调用.x文件作为修要修改的开发文件格式本身就是复杂的话),那应该怎么做呢?高度图?(因为我控制了视角和场景内的多变形数目,没有多少的场景管理任务。)
还望高手赐教。

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2004-8-11 22:14:00 | 显示全部楼层

Re:请问如何从.x文件中提取数据

把Mesh克隆成指定的FVF格式,然后用GetVexterBuffer();GetIndexBuffer()就基本能完成你说的了

3

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2004-8-12 10:48:00 | 显示全部楼层

Re:请问如何从.x文件中提取数据

具体怎么做?有没有可供参考的具体代码

6

主题

41

帖子

54

积分

注册会员

Rank: 2

积分
54
 楼主| 发表于 2004-8-12 11:08:00 | 显示全部楼层

Re:请问如何从.x文件中提取数据

谢谢。
克隆FVF是MESH的一个方法,把它克隆成什么样子了?
顶点缓冲区和索引缓冲区内顶点是怎么排列的?可以按照我的要求排吗?还是按照.x文件的内部顺序。如果这个.x文件开始被优化过了
他的网格排序会打乱,此时排序会受到影响,并且不可改变吗?
我有方法在克隆的过程中控制他的索引排列顺序吗?(一定会有索引?还是可以人为的设定)

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2004-8-12 11:24:00 | 显示全部楼层

Re:请问如何从.x文件中提取数据

无论有没做过优化,你都能按照克隆后得到的索引数据和顶点数据,渲染出原先的模型啊,克隆的时候可以指定你自己的FVF格式,克隆它会自动把原先顶点数据中的纹理坐标,顶点坐标,法线等等按照你指定的FVF格式放好,但是你指定的FVF必须是被包含于原先的FVF的,就是说只能比原先的FVF少,不能多.

6

主题

41

帖子

54

积分

注册会员

Rank: 2

积分
54
 楼主| 发表于 2004-8-12 11:53:00 | 显示全部楼层

Re:请问如何从.x文件中提取数据

问题就在这儿,我需要的纹理坐标是自己修改的,唯一需要的原始数据就是定点坐标而已。
而且不能掌握顺序,如何自由的控制克隆后的顶点了?我要的不只是显示而已,否则,也不用提取顶点数据了。比如说我要操作鼠标关切的那个面,修改那个面对应的纹理,我可以得到关切MESH的那个面,但是如何得到它对应试克隆后哪组索引了?这个对应关系是什么?或者说这个对应关系能不能在克隆的时候控制。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-16 13:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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