详细讲解骨骼动画(Skinmesh)要诀(转)
详细讲解骨骼动画(Skinmesh)要诀(转)[@more@] 骨骼动画属于顶点变换应用的一种,就是在画顶点前用骨骼矩阵 等来求出新顶点位置。 要诀如下: 有骨骼无动画: 新顶点位置 = 原始坐标×转换矩阵1(累级相乘后的矩阵) 有骨骼有动画: 新顶点位置 = 原始坐标×转换矩阵2×权值矩阵 转换矩阵1 = 顶点所在的Mesh,Mesh所在的Frame,Frame的原始矩阵 frame->oldtransformmatrix,此矩阵自顶向下累级 相乘后的矩阵,记为frame->nowtransformmatrix, 跟权值里的那个矩阵无关。 转换矩阵2 = 先计
DirectX里的SkinMesh角色动画(三)(转)
DirectX里的SkinMesh角色动画(三)(转)[@more@] X文件里的动画不是skin mesh仅有的;它们对X文件里的任何的帧都是适用的.X文件存储了关键帧而程序则应用线性插值的方法产生中间帧.有4种动画关键帧:转动,缩放,位置,矩阵.转动帧被作为一个四元组存储,使用spherical linear interpolation(这应该怎么译?译者也不清楚).函数D3DXQuaternionSlerp可以实现这种插值.下面的X文件模板被用于存储动画. AnimationKey 这个模板用于存储动画关键帧码.这个模板的每一个实例都包含帧码的类型(位置,缩放,转动,矩阵)和帧码数组.数组中的每一个
DirectX里的SkinMesh角色动画(二)(转)
DirectX里的SkinMesh角色动画(二)(转)[@more@] 实现 现在我们已经准备好去实现我们的skin mesh了.实现代码的最为重要的部分就是设计.下面这个图展示了我们的编码的设计: 这个图没有显示出所有的类成员.它只显示出那些重要的成员.正如图表里所示的,类CMeshNode和CFrameNode都派生自CObject. CObject的目的在于提供一个树的机制;任一个派生自CObject的对象都有链成一棵树的能力.CFrameNode是场景层次的构造元素而CMeshNode本身则拥有mesh.CMeshNode被包含在CFrameNode里面,而CFrameNode又被包含在CSkinMesh里面.整个
DirectX里的SkinMesh角色动画(一)(转)
DirectX里的SkinMesh角色动画(一)(转)[@more@] 在写我们的skin mesh代码之前了解DX怎样处理skin mesh是很重要的.当然,现在有很多可以存skin meshes的文件格式,但是现在最容易使用的是在DirecdtX中有支持的X文件.X文件可以存储正常的静态的meshes,也同样支持skin meshes.在开始讲skin meshes 之前,让我们对X文件有个大概的了解.我将大体上讲述一下X文件,要想知道更多X文件的东西,你可以参阅dx文档.X文件是把数据当作一系列的模板来存储的.正C语言里面的结构,模板有事先的定义,这个定义决定数据是如何存储在这个模板的一个实例中的.对每
C#Direct3D编程3D世界中的三角形(转)
C#Direct3D编程3D世界中的三角形(转)[@more@] 那什么是真正的3D世界呢?或者说Direct3D的3D模型是什么样的呢? Direct3D的模型由World 空间,View 空间和光源组成。World空间就像我们现实生活中的空间一样,我们可以把物体放在这个空间的任何地方。但仅仅这样是不够的。因为现实中,我们是通过眼睛来看事物的,存在的东西不一定我们可以看得到,太远的东西看不到,被挡住的东西看不到,太近的东西也看不到,在我们视角以外的东西一样看不到。在Direct3D中用camera来模拟我们的眼睛。 另外还有一个重要概念,transform,变
Direct3D世界的Hello:高洛德渲染的三角形(转)
Direct3D世界的Hello:高洛德渲染的三角形(转)[@more@] Direct3D的所有操作都是在Direct3D设备上进行的。创建设备要使用Device类的构造函数。 public Device ( System.Int32 adapter , Microsoft.DirectX.Direct3D.DeviceType deviceType , System.Windows.Forms.Control renderWindow , Microsoft.DirectX.Direct3D.CreateFlags behaviorFlags, Microsoft.DirectX.Direct3D.PresentParameters presentationParameters ) Direct3D设备有3种类型,Hardware, Software和Reference类型。其中Reference
ROAM实时动态LOD地形渲染(转)
ROAM实时动态LOD地形渲染(转)[@more@] 1 引言 如果没有接触过涉及到细节等级(LOD)的地形生成法则,恐怕你就不能在地形可视化的世界里任意挥舞你的指挥棒了。细节等级是一种使用了一系列启发式的方法来决定地形的哪一部分需要看起来有更多的细节的技术。在这里,对于地形渲染的许多技术挑战之一是如何存储一个地形的特征。高度图是事实上的标准解决方案,简单的说他们就是保存地形每点高度的二维数组。 2 LOD地形法则概论 一个LOD地形法则的优秀概述可以被三篇论文来描述,作者分别为[1微软的Hoppe][2 Lindstrom
在游戏制作中的地形渲染terrainrender(转)
在游戏制作中的地形渲染terrainrender(转)[@more@] 地形渲染是个很有用的技巧。经常用来渲染显示世外场景和地貌形态。在DX SDK里有不少terrain render的运用。比如公告牌的例子和实时影子渲染的例子里都用到了地形渲染。 其实地形渲染就是以一个数学函数生成地表的高度值。使得地面呈现出高低不平的样子。使用不同的高度生成函数,就可能出现不同的地貌。比如生成高山的样子,或者起伏的丘陵的样子。 这里我把一个terrain render的示例完整的分离出来。 下面是地形渲染的关键,一个内联函数。它的作用是根据x,z坐
详细介绍Z-Buffer与W-Buffer(转)
详细介绍Z-Buffer与W-Buffer(转)[@more@] Depth-Buffer(深度缓存)有两种:Z-Buffer 和 W-Buffer,这里讨论这两种深度缓存的区别,以及如何在两者之间转换。 w 的含义 3D空间点的坐标是(x,y,z),为了使矩阵乘法具有平移变换的功效,我们用4D空间中的点(x,y,z,w)来表示3D空间中的点(x',y',z'),这两个不同空间点之间的关系是: x' = x / w y' = y / w z' = z / w 像这样用四维空间点表示三维空间点,或者说用 n + 1 维空间点表示 n 维空间点的方法叫做 “齐次坐标表示法”。 实际使用中
高效率3D图形程序中的骨骼-皮肤系统实现(转)
高效率3D图形程序中的骨骼-皮肤系统实现(转)[@more@] 骨骼--皮肤动画技术是3D动画领域的一项比较高级的技术。由于其生动、逼真的效果,在影视制作、动态仿真等领域起着重要的作用。只有使用骨骼--皮肤技术,才能制作出广播级的动画作品。 顾名思义,骨骼--皮肤动画的含义是使用一系列的骨骼去带动一张皮肤进行运动。其特点是: 第一,作为皮肤的网格是一个整体,而不是分成区段的。 在简单的区段动画中,一个复杂的物体是由许多“坚硬”的段组成的,最典型和常见的例子是人体,是由头、躯干、手臂、腿
OpenGL的渲染成纹理技术(转)
OpenGL的渲染成纹理技术(转)[@more@] 1、什么是动态纹理(What is Dynamic Texturing) 这是适用处理实时的“飞于空中”的纹理贴图。 The creation of texture maps "on the fly" for use in real time. 简化观点(Simplified view): 循环(Loop): 1)渲染图像。 Render an image. 2)创建源于图像中的纹理。 Create a texture from that image. 3)使用纹理时你应该使用静态纹理。 Use the texture as you would a static texture. 2、动态纹理的应用(Applications of Dyn
DirectX3D编程入门教程一D3D对象及设备(转)
DirectX3D编程入门教程一D3D对象及设备(转)[@more@] 前言: 应几个网友的要求,利用工作之余,写了一篇DirectX 3D(简称D3D)编程入门教程。该教程适用于一些刚刚涉及D3D编程的朋友,读者必须有一定的C++ 和Win32的编程知识。对一些大虾级的高手,这只能使班门弄斧了,同时也非常欢迎爱好D3D编程的朋友和我联系和交流,并提出宝贵意见。 该教程基于DirectX 8.0 Graphics, 一部分内容由DirectX 8.0 SDK 英文文档翻译而来,一部分是自己工作经验的总结,作者对此享有著作权,读者可任意拷贝和传播,但不包含商业的用途,转贴请注明
CCNA新考试揭秘(转)
CCNA新考试揭秘(转)[@more@] 2002年3月13日起,思科公司将CCNA(思科认证网络工程师)的考试进行了升级,CCNA在普尔(Prometric)考试中心的考试编号也由640-507变为640-607。一时间,CCNA的参考人数大减,大家都对升级后的新考试心存疑感。那么,考试究竟有何变化呢? 三点主要变化 考试的变化主要体现在以下三个方面: 一、考试时间从95分钟减为75分钟, 题目从65道减为50道。去掉了许多比较基本的记忆题。通过分数仍为849分(满分1000分)。 二、新试题比较灵活, 考生需要从根本上掌握知
再从核心谈3DEngine的设计架构(转)
再从核心谈3DEngine的设计架构(转)[@more@] 本人对3D也不甚了解,译文动机一则是内容所致兴致昂然,二则锻炼英译中技能。由本人水平及经验有限,文中绝对不乏大量误解与误译,亦恳请读者指出,得以一同提高。 佳文须共赏,也欢迎大家自由转载 :) Introduction (简介) 让咱们谈谈你如何撰写一份提供优雅性能的3D引擎。你的引擎需要提供的包括:曲面(curved surfaces)、动态光线(dynamic lighting)、体雾(volumetric fog)、镜面(mirrors)、入口(portals)、天空体(skyboxes)、节点阴影(vertex shaders)、粒子系统(part
在VC中调用DirectShow全屏播放视频(转)
在VC中调用DirectShow全屏播放视频(转)[@more@] 有些正在尝试自己编制游戏的朋友可能会碰到这样一个问题:游戏要播放片头动画,可是如何全屏播放动画呢?用媒体播放机控件?这是最简单的方法,可是好多功能都用不上,不免觉得有些浪费。而用vfw之类的多媒体库又太麻烦。怎么办呢? 其实微软不但提供了DirectX这样的便于游戏开发的SDK,还提供了基于其上的DirectX Media SDK。这套SDK可以帮助你简化多媒体开发,而又充分利用DirectX的高性能。使用起来很简单,功能也很强大,它可以自己识别流的格式,连mpeg2都不放过! 下面我以实
CCNA认证综述(转)
CCNA认证综述(转)[@more@] 首先,我们解答一个大家最关心也最容易混淆的问题,就是到底有几种CCNA。其实我们常说的CCNA认证是指的是 CCNA 3.0 。此CCNA实际上是CCNA的Routing and Switching方向,只不过CISCO的官方叫法省略了后面的Routing and Switching。另一种“CCNA”的官方叫法为 CCNA - WAN Switching,对应考试号为640-410,此种考试方向性较强,不是有特殊需要一般没人去考。所以我们所指的CCNA认证就是指的是前面提到的CCNA 3.0。 CCNA认证从整体上来说比微软的MCSE和NOVELL的CNE认证要求要高,所要求的知识更深入
新版CCNA之考后感(转)
新版CCNA之考后感(转)[@more@] 今天我通过了CCNA(607)考试,分数是874,只比及格线849多一点,很险啊!新版CCNA考试最特别的是实验题,有2道。一道的配一台路由器的R IP协议,另外一道是配TELNET,CONSOLE口和特权模式3种密码。其实都不难,关键是你要读懂题,我就是在看题干上疏忽,浪费了很多时间。还有一个更重要的地方是,你必须首先配主机的I P地址和默认网观,在配超级终端,才能连上路由器。否则,你根本无法答题。我开始以为可以直接配路由器,结果浪费了很多时间。最后全部答完题,只剩下3 分钟了!其他题,就是看图找错误,
图像处理---灰度图像像素颜色亮度处理(转)
图像处理---灰度图像像素颜色亮度处理(转)[@more@] 以前看了一些有关图像处理的书,对我起到了很大的帮助。所以,今天我就将我学过的知识整理出来,一方面可以给人学习,另一方面也可以请各位高手指点指点。 我要说的图像处理是针对程序方面的。所以,先做一个程序来放置图形。在这里,我使用了Delphi作为工具。因为,在我使用过的众多编译器当中,Delphi对图形的支持最好。还有,这里我并不是讲语法。所以,有些代码我就不详细说明。不便之处,敬请原谅。 注意:本文章的示例程序所用的东西不超过GDI的范围。 在图像处理中,
CCDA认证综述(转)
CCDA认证综述(转)[@more@] CCDA认证是Cisco认证体系中售前规划方向(Network Design)的第一个认证。要求能规划简单的包含路由的局域网、广域网以及交换局域网的简单网络结构。 CCDA认证在难度上要高于微软的MCSE和Novell的CNE认证。在证书档次和难度级别上与Cisco认证体系中的售后服务方向的CCNA认证是相同的。但在考试中由于其涉及到大量的方案题型,其篇幅长、问题灵活的特点使得不少考生认为CCDA要难于CCNA,特别是对于我们这种英语不是母语的考生,长篇的CASE
涉足网络学CCNA(转)
涉足网络学CCNA(转)[@more@] 春天是万物复苏、播种希望的季节。如果有人要在春天许下心愿,2002年涉足网络,成为网络工程师,他一定要学CCNA。 Cisco认证,是思科推出的网络规划和网络支持工程师的资格认证计划,据说,初衷是通过要求其在各国的代理拥有通过该认证的工程师,以提高对用户的服务质量。现在,Cisco认证已成为互联网界有较高声望的网络技能认证之一。 网络培训领域虽然还有安普培训、Fluke CCT布线测试认证、Nortel等培训,但有思科CCNP证书的博学堂培训总监施光伟说:“选择证书,一定要看证书是否