Game设计
DirectX与VB.NET编程(十五)*色深理论与图片智能加载
Kalet 发表于2009-03-20 浏览386 评论0
DimvSecondarySurfaceAsSurfaceDimvSecondarySurfaceCapsAsNewSurfaceCapsDimvSecondarySurfaceDescAsSurfaceDescriptionDirectX与VB.NET编程(十五)*色深理论与图片智能加载'取得图片大小DimvBitmapAsNewBitmap(OpenFileDialog1.FileName)DimvSizeAsInteger=vBitmap.Width*vBitmap.Height*Convert(vBitmap.PixelFormat)'取得...

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




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

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




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




Game设计
“文字对战游戏”开发实例
Kalet 发表于2009-03-20 浏览363 评论0
摘要:C#进行游戏编程一直受到一些C++程序员的怀疑和猜忌,是不是真的C#就不能进行游戏编程呢?回答当然是否定的,因为,微软已经发布了DirectX9.0SDK开发包,使得C#进行游戏编程简单易行,本篇在.NET环境下,用C#调用DirectX进行游戏编程,通过简单而又明朗的编程实例揭示C#DirectX编程的奥秘,在本篇的开始,作者对.NET、C#、DirectX及游戏制作的相关知识都作了介绍和讲解,然后,一步步的制作“文字对战游戏”,相信读完本文,你一定会受益非浅。关键词:C#DirectX.NET“文字对战游戏”“文字对战游戏”开发实例一、.NET概述1..NET是什么,刚刚...
Game设计
下一代的游戏开发 C#
Kalet 发表于2009-03-20 浏览348 评论0
微软的XNAFrame是明年主推的下一代的游戏开发工具,C#的爱好者们有福了,开发自己的游戏节目,振兴国产游戏,有兴趣的继续向下看!!登陆www.xnadev.cn获取更多关于XNA的技术资料和学习资料。XNA简介:首先声明,XNA不是游戏引擎,它只是一个游戏开发框架。原来C#开发游戏都是使用ManagedDirectX,可惜的是微软已经停止了它的开发,而取而代之的是XNA。XNA的目标是用C#在.NetFramework上开发跨平台游戏,目前仅指PC和XBox360两个平台,未来有可能进入移动领域。下一代的游戏开发C# ...