热门标签 | 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分 在那里给你!! 你去登记就是了。

推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 堆是一种常见的数据结构,广泛应用于计算机科学领域。它通常表示为一棵完全二叉树,并可通过数组实现。堆的主要特性是每个节点的值与其父节点的值之间存在特定的关系,这使得堆在优先队列和排序算法中非常有用。 ... [详细]
  • Android Studio 安装与配置指南
    本教程详细介绍了如何下载并安装 Android Studio,包括设置 SDK 路径和优化启动性能的方法。通过这些步骤,您可以顺利地开始开发 Android 应用。 ... [详细]
  • 本文详细介绍了福昕软件公司开发的Foxit PDF SDK ActiveX控件(版本5.20),并提供了关于其在64位Windows 7系统和Visual Studio 2013环境下的使用方法。该控件文件名为FoxitPDFSDKActiveX520_Std_x64.ocx,适用于集成PDF功能到应用程序中。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 本文详细探讨了如何通过分析单个或多个线程在瓶颈情况下的表现,来了解处理器资源的消耗。无论是单进程还是多进程环境,监控关键指标如线程数量、占用时间及调度优先级等,有助于揭示潜在的性能问题。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 本文探讨了在iOS平台上开发BLE(蓝牙低功耗)应用程序时遇到的挑战,特别是如何实现应用在后台模式下仍能持续扫描并连接蓝牙设备。文章提供了具体的配置方法和常见的问题解决方案。 ... [详细]
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社区 版权所有