
Game设计
DirectX与VB.NET编程(十七)*图片结构与DirectDraw截图(下)
Kalet 发表于2009-03-20 浏览421 评论0
今天是DirectDraw的最后一章了,前几天因为ISAS考试,所以文章发布迟了这么久,向大家道个歉。这次的内容很偏僻,我也是在网上查了很久才有头绪,经过千辛万苦的总结才出来,这也是更新迟的原因,下面废话不多说,马上开始。===============华丽的分割线===============DirectX与VB.NET编程(十七)*图片结构与DirectDraw截图(下)学习内容:·在DirectDraw中实现截图===============华丽的分割线===============这次的例子,我们使用的原来《全屏动画》的例子上的扩展,文章链接:http://hi.baidu.com/ja...




Game设计
DirectX与VB.NET编程(十六)*图片结构与DirectDraw截图(上)
Kalet 发表于2009-03-20 浏览508 评论0
这一章是DirectDraw的终结篇章了,以前曾应某位观众写DirectDraw下的截图方法,所以借这个篇章,最后讲解下图片的构造和DirectDraw的截图方法,网上这个截图的方法多数用C++和COM+写的,很难翻译成.NET的语法,只好自己研究图片的构造,花了不少时间。本文可能是网上唯一一篇讲.NET+DirectDraw截图的方法吧。(本文内容参考引用:MSDN、百度百科、南京邮电大学-吴登荣、CSDN-_wmain。由于篇幅问题,本文分为上下两篇,上篇内容为图片构造理论,下篇为截图的实际应用。)===============华丽的分割线===============DirectX与VB...
Game设计
DirectX与VB.NET编程(十五)*色深理论与图片智能加载
Kalet 发表于2009-03-20 浏览411 评论0
DimvSecondarySurfaceAsSurfaceDimvSecondarySurfaceCapsAsNewSurfaceCapsDimvSecondarySurfaceDescAsSurfaceDescriptionDirectX与VB.NET编程(十五)*色深理论与图片智能加载'取得图片大小DimvBitmapAsNewBitmap(OpenFileDialog1.FileName)DimvSizeAsInteger=vBitmap.Width*vBitmap.Height*Convert(vBitmap.PixelFormat)'取得...

Game设计
DirectX与VB.NET编程(十四)窗口动画与剪切
Kalet 发表于2009-03-20 浏览504 评论0
拖了很久的剪切终于要在这一章中被终结了,本章的主要内容是窗口模式下的绘图,相信看过上个教程的朋友一定对全屏下翻转的一些限制有所不满,这一章中也将介绍仿翻转方式,仿翻转模式是本人经过试验摸索出来的(但我不排除事先已经有这个技术),仿翻转不仅在上效果和翻转相差无几,而且甩开了诸多束缚,馋人的话就不说了,下面切入正题。===============华丽的分割线===============学习内容:DirectX与VB.NET编程(十四)窗口动画与剪切·了解仿翻转方式的基本原理·了解剪切的使用原理·利用仿翻转方式绘制窗口模式的动画·利用剪切限制动画的显示范围===============华丽的分割线...




Game设计
Managed DirectX +C# 开发(入门篇)4
Kalet 发表于2009-03-20 浏览431 评论0
第七章顶点缓冲一、索引缓冲3D物体中的三角形经常会有许多共用顶点。如果用两个三角形组合为一个长方形,有两个点被重复使用,当要表现一个更精细更复杂的模型的时候,重复的顶点数将会变得很大。下图的立方体,仅有八个顶点,但是当用三角形列表示它的时候,所有的点都被重复使用。ManagedDirectX+C#开发(入门篇)4索引缓冲就是一块保存了顶点数据索引的缓冲。缓冲中的索引为32位或16位的整数。比如,当使用索引0,1,6来绘制一个三角形时,会通过索引映射到相应的顶点来渲染图像。以下为创建一个索引缓冲的代码示例:intnumberVerts=8;short[]indices={&n...

Game设计
Managed DirectX +C# 开发(入门篇)4
Kalet 发表于2009-03-20 浏览493 评论0
第六章Mesh对象一、什么是Mesh?前面已经接触过Mesh类,在这里则对它进行详细介绍ManagedDirectX+C#开发(入门篇)4Mesh可以用来储存任何类型的图形数据,但主要用来封装复杂的模型。Mesh类同样也有一些用来提高渲染物体性能的方法。使用Mesh可以从外部文件读入3D的模型文件,比如MaYa文件,这样就可以在3DMax或MaYa等软件中做好模型,然后读入程序。Mesh对象内部也包含了很多几何体的模型。Mesh对象包位于Direct3D扩展库(D3DXDirect3DExtensionslibrary)中。注意添加对Direct3DX.dll程序集的引用。Me...




Game设计
Managed DirectX +C# 开发(入门篇)3
Kalet 发表于2009-03-20 浏览462 评论0
ManagedDirectX+C#开发(入门篇)3ManagedDirectX+C#开发(入门篇)3ManagedDirectX+C#开发(入门篇)3第五章矩阵变换一:为什么使用4×4矩阵?在3D中进行编程时,使用的是4×4矩阵来进行矩阵变换。初学者往往认为既然是三维空间,为何不使用3×3的矩阵来表示呢?这是因为3×3的矩阵不能表示有些变换,比如比如平移、投影、反射,因此,增大到4×4,这样,就可以描述更多的变换了。但是矩阵变成了4×4,为了做向量与矩阵的相乘,所以需要把向量增加为1×4,因为1×3的行矩阵和4×4的矩阵是无法相乘的;那么,如何使用第四个成员(用w来表示)呢...

Game设计
Managed DirectX +C# 开发(入门篇)2
Kalet 发表于2009-03-20 浏览404 评论0
ManagedDirectX+C#开发(入门篇)2如果代码是:device.DrawPrimitives(PrimitiveType.LineStrip,0,3);执行结果是:它把顶点绘制为一条折线。至少需要两个顶点。如果代码为:device.DrawPrimitives(PrimitiveType.PointList,0,4);执行结果是:把数据作为一系列离散的点来绘制。四、创建顶点缓冲使用顶点缓冲可以大幅度提高工作效率,如果不使用顶点缓冲,当每次渲染场景里,都要分配新的顶点列表,并且所有的内容都要存储在系统内存里,如果使用顶点缓冲,则可以把顶点数据存放在显存中,这样会大幅度提高应...




Game设计
Managed DirectX +C# 开发(入门篇)1
Kalet 发表于2009-03-20 浏览426 评论0
一、创建设备本节介绍的示例为DirectXSDK自带的示例,在这里将其解释一下,本示例什么也不做,只是显示一个空白窗体。现在先看程序运行的主函数:staticvoidMain() {//建立一个窗体实例; using(CreateDevicefrm=newCreateDevice()) &nbs...




Game设计
用C# 控制游戏设备
Kalet 发表于2009-03-20 浏览471 评论0
在windows中控制游戏设备有现成的通用接口DirectX,不过我今天说的是托管代码的编程方法,不光是C#,VB.net也是适用的。 首先确保你的操作系统中有DirectX9,在新建项目中添加引用,添加Microsoft.DirectX,Microsoft.DirectX.DirectInput,添加完成后就可以编写代码了。 首先罗列出所有的设备,下面的例子用树罗列出...