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

推荐阅读
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • 本文详细介绍了8051系列微控制器的中断系统,特别是C51编译器中interrupt和using关键字的作用及其使用方法。通过深入分析这两个关键字的功能,帮助开发者更好地理解和优化中断程序的设计。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 本文详细介绍了get和set方法的作用及其在编程中的实现方式,同时探讨了点语法的使用场景。通过具体示例,解释了属性声明与合成存取方法的概念,并补充了相关操作的最佳实践。 ... [详细]
  • Java 中重写与重载的区别
    本文详细解析了 Java 编程语言中重写(Override)和重载(Overload)的概念及其主要区别,帮助开发者更好地理解和应用这两种多态性机制。 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
  • 由二叉树到贪心算法
    二叉树很重要树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。单就面试而言,在 ... [详细]
  • 2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ... [详细]
  • 本文详细介绍了如何检查和配置电脑上的PHP环境,包括位数、运行支持以及文件格式的打开方式。适合初学者了解PHP的基础知识和操作方法。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 本文详细介绍了如何在Android 4.4及以上版本中配置WebView以实现内容的自动高度调整和屏幕适配,确保中文显示正常,并提供代码示例。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
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社区 版权所有