游戏开发论坛

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

x文件的一些疑问

[复制链接]

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2008-8-11 13:26:00 | 显示全部楼层 |阅读模式
1、纹理文件是否存在的问题
我知道在读取X文件的模型时,还需要调用该模型的纹理文件,纹理文件的路径当然也存放在X文件里面,但我在想,如果该模型文件附带的纹理文件不存在,那么怎样判断纹理文件不存在,从而防止纹理指针的额外开销呢?
DX9是否自带有判断纹理文件是否存在的函数? 或者说使用C++自带的查找文件函数进行判断?

2、模型的光照
当我读出一个X文件的模型后,并没有加上材质和灯光,为何模型还是会发亮?或者这样说吧,此时的模型不应该是黑糊糊一团的么?DX是否在不使用光照的情况下,默认地在场景中的某位置放置了灯光?

3、模型的显示
要想把模型显示为网格线样式,是不是把FVF改成网格线的组合就行了? 如果真是这样,那当模型贴上纹理后是否还可以通过改变FVF实现模型只显示网格线的样式?

4、模型的子集
到底所说的模型的子集是指什么? —— 顶点集合?三角形集?面集?线集?

问题多了些, 希望各位不吝赐教,多谢多谢...  [em5]

2

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2008-8-11 21:49:00 | 显示全部楼层

Re:x文件的一些疑问

1. 纹理不能放在x文件里面的, 一般放在和x文件同一个文件夹里面. 因此只需要判断文件是否存在就可以了.

2. 看渲染状态具体的设置了(有环境光? 关闭了灯光? 还是用可编程流水线?)? 也许模型上有自发光?

3. 不是的, 网格显示在状态中设置, 和FVF没有关系。
    固定流水线用:  IDirect3DDevice9::SetRenderState( D3DRS_FILLMODE, D3DFILL_WIREFRAME );
    fx中的pass用: FillMode = Wireframe;

4. 模型的子集一般都是三角形集,一般在复杂的模型上有,不只是有子集,还有同级的三角形集。这个在x中叫D3DXFRAME。比如一个人物的模型,也许人物中心是他的头,那么身体、手臂、脚等可能都是头的同级框架而手指则是手臂的子框架,这些要看建模的情况了。

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2008-8-12 12:51:00 | 显示全部楼层

Re:x文件的一些疑问

喔,原来是这样.说的太详细了,多谢Fenger
最近我在找Direct3D有关MD2的动画教程,可是怎么也找不着,网上很多都是OpenGL的,DX的大都都是MD3,MD3对于我这种初学者感觉很难,所以想找MD2的资料学习学习,不知道这方面的资料哪里能找到? 非常感谢!

2

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2008-8-12 14:08:00 | 显示全部楼层

Re:x文件的一些疑问

http://www.wotsit.org/list.asp?search=md2

这里有..呵呵, 那个网站有很多文件的格式介绍,还不错.

不过我觉得x文件用着还是多方便的..

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2008-8-12 19:18:00 | 显示全部楼层

Re: x文件的一些疑问

多谢,终于找到一编资料了,不过 [em6]翻鬼佬文耶~~~看的好吃力啊.555555555...有我们中华人民共和国语言的翻译版么?

2

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2008-8-13 22:50:00 | 显示全部楼层

Re:x文件的一些疑问

呃.这个不知道了.按理说有的..自己搜索一下吧... 我记得好像看到过md3还什么的,没怎么在意
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 16:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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