首 页Web3D在线作品技术·开发3D资源免费发布作品

   相 关 文 章
   最新5篇推荐文章  
推荐 三维展示要将B2B带出“冬天”
推荐 Google社交服务网站Lively上线 W...
推荐 Webmax开发设计说明书
推荐 Unity3d重生-让PC装上MAC OS X 1...
推荐 Webmax简易入门操作手册(官方)
   最新5篇热点文章  
固顶 Turntool官方中文对照操作手册
普通 Web3D在线将在2008年10月15日发布...
普通 Converse3D虚拟现实制作大赛将至...
普通 全3D网页游戏《Runescape》面世
普通 3D虚拟世界逐“利”场
您的 位置: Web3D在线 >> 技术·开发 >> 平台综述 >> 正文
浅谈virtools和shockwave 3D
[ 作者:Web3D在线     来源:Web3D在线     点击数:     更新时间:2007-6-2     字体:

    1. 先谈谈他们的各自优缺点

ShockWave3D优点是编程比较灵活,如果你有Lingo的基础,所作的3D物体要求的面数在2万个以下,我感觉ShockWave是个不错的选择.至于说他的缺点,就是,引擎太差,支持的面数太少,对纹理的支持也不太好.另外MM公司对它的更新太慢了.
参考帖子:http://www.aougu.net/bbs/index.php?...:flat&tid=16206


Virtools优点有很多,比如提供了大量的BB使用,细心的用户会发现这些BB完全可以组成一个强大的游戏开发引擎.除了有大量的BB可以使用外,VT还提供了他的脚本语言VSL,这对喜欢写代码的朋友来说是一件好事情,比如我们要用一个BB来完成一个求解一元二次方程:你可以用以下几行可以搞定:
void main()
{
if (!a)
return;

float delta = pow(b, 2)-4*a*c;

if (delta >= 0)
{
float sqrtDelta = sqrt(delta);

x1 = (-b+sqrtDelta)/2*a;
x2 = (-b-sqrtDelta)/2*a;
}
}
对有C++基础的朋友来说,入门VT的VSL简直太容易了,因为它的语法和C几乎是一模一样.此外Vritools的Shader是很强的( 完全支持DirectX 9.0 High-Level Shader Language (HLSL) 语言),Physics pack对3D游戏的开发都很有帮助.Virtools的开放性很好,提供给用户的SDK可以扩展VT的功能.

2. virtools 对硬件设备的支持

Virtools对对虚拟软件所需的硬件设备支持不错,不过要用到SDK开发工具包.

如果深入研究Virtools,要用C的基础,最好掌握DirectX(它会帮助你弄清楚许多概念).因为很多东西Virtools都为我们封装好了,我们可以不知道坐标变换,顶点缓冲区,象素渲染等概念,也可以搞出象模象样的东西来.但封装好了对有些想知道所以然的用户来说.又不是件好事情,因为你想知道一些东西它没有呈现给你.

比如,在Virtools中用鼠标拖动来实现物体的旋转,缩放和平移,我们用"Mouse Camera Orbit"BB很容易实现,实际上这个BB封装了太多的东西,在DirectX3D中要实现这个功能要用到一些函数,

//MouseMessages CallBack
LRESULT HandleMouseMessages( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
//Axis to axis quaternion double angle (no normalization)
inline D3DXQUATERNION* WINAPI D3DXQuaternionAxisToAxis
( D3DXQUATERNION *pOut, const D3DXVECTOR3 *pvFrom, const D3DXVECTOR3 *pvTo);
inline D3DXQUATERNION* WINAPI D3DXQuaternionUnitAxisToUnitAxis2
( D3DXQUATERNION *pOut, const D3DXVECTOR3 *pvFrom, const D3DXVECTOR3 *pvTo);
//Normalize
D3DXVECTOR3* WINAPI D3DXVec3Normalize( D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV );
//initialize 4D Matrix
D3DXINLINE D3DXMATRIX* D3DXMatrixIdentity( D3DXMATRIX *pOut );
// Build a matrix from a quaternion
D3DXMATRIX* WINAPI D3DXMatrixRotationQuaternion( D3DXMATRIX *pOut, CONST D3DXQUATERNION *pQ);
....

如果这些代码你搞懂了,那对于你理解3D中经常用到的一些概念简直太又帮助了 当然你需要一些理论知识.
  • 上一篇文章: Virtools技术介绍

  • 下一篇文章: 数字地球与“三 S ”技术
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部

      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
      联 盟 网 站 申请加入联盟 more...
    点击申请
     
     设为首页 | 加入收藏 | 关于本站 | 版权申明 | 联系站长 | 友情链接 | 在线留言 

    Copyright© 2006-2008 Web3Donline.com .All Rights Reserved 沪ICP备07014855号