热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Direct3D如何建立一个立方体然后把我的ViewPoint放到里面!我给300分

我要用Direct3D建立一个虚拟的屋子,然后把我的视角放到屋子里面,并且可以水平旋转,就象是虚拟现实空间那样。其实就跟DOOM类游戏一样。并且能够用PICK函数去选取在指定点
我要用Direct3D 建立一个 虚拟的屋子,然后把我的 视角放到屋子里面,并且可以水平旋转,就象是虚拟现实空间那样。
    其实就跟DOOM类游戏一样。并且能够用PICK 函数 去选取 在指定点 上对应的物件。
    谁有 类似的代码,我给300分,说话算数。

25 个解决方案

#1


。。

#2


IM or RM?

#3


IM or RM? 
??????????????????

#4


..

#5


我是说你要用哪种模式,Retained mode or Immediate mode?
DX7 or DX8?

#6


to:Viper() 
DX7 大哥可有代码否!! 
多谢了! 
t.ye@263.net
有相关的文章,网址,书籍也行。
我这两天一直在 网是找相关的资料,头都快要大了。

 

#7


建议你去装一个DX7SDK,里面有很多精彩例子,会找到你所需要的。
我不知道你是否有图形学的基础,D3DIM真是太困难了。:-(

至于PICK的实现,可以装一个DX8SDK,里面有一个例子专门讲这个。

老实说DirectX编程极度缺乏资料,最最宝贵的就是SDK文档了。
仔细研究其中的例子,你会大有收获的。请相信,这是一个过来人的体会。

#8


非常感谢!! 
我回去看看!!
说老实话,我已经装了,DX8SDK可惜 不能用 不知道是 怎么回事,找不到D3D8.DLL 我把别人的拷贝过来,可是还是 不能用。 晕啊! 要不就是 我们公司的这套东西太烂。

#9


非常感谢!! 
我回去看看!!
说老实话,我已经装了,DX8SDK可惜 不能用 不知道是 怎么回事,找不到D3D8.DLL 我把别人的拷贝过来,可是还是 不能用。 晕啊! 要不就是 我们公司的这套东西太烂。

#10


安装完SDK之后,要在VC中设置一下目录属性,以便能引入相应的.H档和.lib档。

Tools-->Options...-->Directories-->

我想你是这个没设吧。

#11


不是 这个问题,我还没有面到连这个都不明白。
而是我的 机子里 根本就没有 D3D8.DLL 这个函数,我重装 也没戏。
受不了了,我还是去找DX7 SDK 装算了。
关于 PICK 的例子我 找到了。
我现在的问题 是如何 解决 把我的 camera 放到我建立的屋子里去,还有就是怎么把我的 墙壁 用我的图片从里面贴上去。 我看过一个 类似的例子,也是 微软的, 从外面看  一个立方体 转动,但是一但我把我的 camera  放到里面去,发现 里面的墙壁的  黑色的。这才是我 真正头痛的东西。 
不知Viper 老兄 有什么好的建议啊。

#12


错了 是 没有D3D8.DLL  这的动态库

#13


错了 是 没有D3D8.DLL  这的动态库

#14


真奇怪,你不会是没装directX8 run time吧?按理说装sdk时就应该装上的呀,我在winME和w2k下都装过,no problem! 
你说的那个问题是因为direct3d默认只渲染triangle的正面(法向量为正),如果你的模形是在程序中生成的,那triangle的顶点顺序一定要正确,平面的法向量的方向跟顶点的顺序是有关系的,如果是在建模软件中生成的,那干脆为你的正方体里面加一层“里子”(我对建模软件不熟,不知道怎样做出一个正面朝里的正方体),我们做过的一个项目就是这样的(室内游览,反正墙有两个面也是应该的)

#15


我也care

#16


to:rocks_lee(石子儿)
多谢  你说的很是,我有点开窍了。
你做个这个 室内浏览 把你的代码给我好吗,我给你300分。
 

#17


哈哈,不好意思,那个项目是毕设做的,代码留在学校了,手头没有。
你可以看看DX sample里的D3DRM->Direct3D RM Viewer, 我的那个程序实际就是它的一个简化版(不过有自己设计的碰撞检测算法:)

#18


说老实话,我到现在都不知道你用的是哪种模式?
从你的话‘camera'来看,应该是RM了,不过这种东东在DX8中已经淘汰了。

至于你的问题,应该是法向量的问题,
也可以用SetRenderState( D3DRENDERSTATE_CULLMODE, D3DCULL_NONE );
来解决。

至于在屋内的例子,应该有很多才对,你可能没仔细看!
比如D3DIM Samples中的Lightmap,这是很经典的一个例子,
光线映射贴图.

如果真要学3D,我建议使用IM,毕竟这才是真正的3D,不过有点烦:-)

#19


我写了一些例子,如果你想学IM的话,可以和我联系。
RM的我就没有了。

OICQ:31731705
Mail:Bo.Snake@tomor.com.cn or brsy@263.net or lovebr@126.com

#20


多谢 Viper() 和rocks_lee(石子儿) 
我又看到神仙了。
对于 Direct3D 我才刚开始看,看的书 和例子 都是保留模式的。
主要是为了应付一个烂项目,下个礼拜我去看 立即模式的。
to: Viper()  你说的那些 DX7 SDK 下的例子我看了,但是 我想建立工程 自己调试一下, 就出问题了,主要是微软的 例子代码 做的太简洁了,我实在是懒的 自己去一个一个 cpp 的去添加。
   如果你已经 做好的例子(IM) 我要 我要,我会把决大部分 分加给你的。 
   t.ye@263.net 

#21


不会啊,一般来说SDK中的例子都只有一两个文件(xxxMain.cpp等),只要在Tools->Options->Directories中将其对应库(.h , .lib, .cpp)加入就可以编译了,
我也做过几个D3D的程序,等到能实现一定功能的时候代码也是一大堆,所以就如Viper大哥所说,看看SDK的例子就可以了,而且其中的注释也很详细

#22


OK,那是我初学D3DIM时作的一个例子,很不完善,可能还有些bug。
不过可以作为一个参考。

这个例子画了7个球,类似于一棵树,上面是根,Left Mouse button 作水平动作,Right mouse button 作vertical action。就这么简单。

我已经用RAR压缩过了。

#23


建议您访问www.etechbase.net/tech,里面有很多资料,也许可以解决您的问题。
访问http://168.168.18.11:81/etechbase/advsearch.php将您的问题输入查询内容框,选择不同的精确程度,即可以找到你所需要的答案。效果还是可以的。 

#24


多谢诸位神仙了!!
尤其是 Viper()
我去看代码了。
说话算数 我这就加分 

#25


to:Viper()  
一次给 不出 300分!! 我又开了一个帖子 省下的40分 在那里给你!! 你去登记就是了。

推荐阅读
author-avatar
饥饿的饮水机
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有