Game设计
DirectDraw之C#初步掌握攻略2
Kalet 发表于2009-03-20 浏览310 评论0
实体。它是通过一个DDSURFACEDESC与之对应来设置,该存储区的解释方式,和信息格式等信息。并不是所有的Surface都是可见,有的Surface仅仅是用于存储将要处理的图像信息。因此,显示的内存区域PRIMARYSURFACE和OVERLAY一般都在显存。(OverLay需要硬件支持,一般用作桌面悬浮层,它的显示区域是专门划分的有别于普通的显存)而其它的surface一般都是放在系统内存中,当然你也可以使用DSCAPS_VIDEOMEMORY/DDSCAPS_SYSTEMMEMORY来指定surface存放的位置。我现在就需要两个surface,一个作为Primary,另一个则是用作...
Game设计
DirectDraw之C#初步掌握攻略1
Kalet 发表于2009-03-20 浏览266 评论0
DirectX本身为游戏开发的一套SDK,其本身原来仅仅是用来与OpenGL,3DFX竞争的一套用于视频游戏开发的SDK.。现在Microsoft已经发布其8.1版本。到DirectX7为止DirectX已经成为一套功能齐全的多媒体开发SDK.。由于其易用(相对于GDIAPI)高效也就成为了视频播放,3D绘图等高质量多媒体程序(high-performancemultimediaapplications)的良好开发平台。由于Microsoft在软件业的霸主地位,使得DirectX得到了众多的显卡厂商的广泛支持。换句话说,用DirectX编程就完全可以不用去管显卡的品牌和型号,专心和Dir...
Game设计
[教學][範例] Direct3D Sprite (2D)
Kalet 发表于2009-03-20 浏览310 评论0
Spirte是Direct3D專門描繪2D圖像的物件。建立Sprite[教學][範例]Direct3DSprite(2D)代碼:關鍵字:D3DXCreateSprite範例碼:LPD3DXSPRITEpSprite;D3DXCreateSprite(pDevice,&pSprite);描繪Sprite代碼:關鍵字:ID3DXSprite::BeginID3DXSprite::EndID3DXSprite::Draw範例碼:LPDIRECT3DTEXTURE9pTexture;//載入2D影像D3DXCreateTextureFromFi...
Game设计
DirectX与VB.NET编程(十七)*图片结构与DirectDraw截图(下)
Kalet 发表于2009-03-20 浏览300 评论0
今天是DirectDraw的最后一章了,前几天因为ISAS考试,所以文章发布迟了这么久,向大家道个歉。这次的内容很偏僻,我也是在网上查了很久才有头绪,经过千辛万苦的总结才出来,这也是更新迟的原因,下面废话不多说,马上开始。===============华丽的分割线===============DirectX与VB.NET编程(十七)*图片结构与DirectDraw截图(下)学习内容:·在DirectDraw中实现截图===============华丽的分割线===============这次的例子,我们使用的原来《全屏动画》的例子上的扩展,文章链接:http://hi.baidu.com/ja...
Game设计
DirectX与VB.NET编程(十六)*图片结构与DirectDraw截图(上)
Kalet 发表于2009-03-20 浏览349 评论0
这一章是DirectDraw的终结篇章了,以前曾应某位观众写DirectDraw下的截图方法,所以借这个篇章,最后讲解下图片的构造和DirectDraw的截图方法,网上这个截图的方法多数用C++和COM+写的,很难翻译成.NET的语法,只好自己研究图片的构造,花了不少时间。本文可能是网上唯一一篇讲.NET+DirectDraw截图的方法吧。(本文内容参考引用:MSDN、百度百科、南京邮电大学-吴登荣、CSDN-_wmain。由于篇幅问题,本文分为上下两篇,上篇内容为图片构造理论,下篇为截图的实际应用。)===============华丽的分割线===============DirectX与VB...
Game设计
DirectX与VB.NET编程(十五)*色深理论与图片智能加载
Kalet 发表于2009-03-20 浏览313 评论0
DimvSecondarySurfaceAsSurfaceDimvSecondarySurfaceCapsAsNewSurfaceCapsDimvSecondarySurfaceDescAsSurfaceDescriptionDirectX与VB.NET编程(十五)*色深理论与图片智能加载'取得图片大小DimvBitmapAsNewBitmap(OpenFileDialog1.FileName)DimvSizeAsInteger=vBitmap.Width*vBitmap.Height*Convert(vBitmap.PixelFormat)'取得...
Game设计
DirectX与VB.NET编程(十四)窗口动画与剪切
Kalet 发表于2009-03-20 浏览359 评论0
拖了很久的剪切终于要在这一章中被终结了,本章的主要内容是窗口模式下的绘图,相信看过上个教程的朋友一定对全屏下翻转的一些限制有所不满,这一章中也将介绍仿翻转方式,仿翻转模式是本人经过试验摸索出来的(但我不排除事先已经有这个技术),仿翻转不仅在上效果和翻转相差无几,而且甩开了诸多束缚,馋人的话就不说了,下面切入正题。===============华丽的分割线===============学习内容:DirectX与VB.NET编程(十四)窗口动画与剪切·了解仿翻转方式的基本原理·了解剪切的使用原理·利用仿翻转方式绘制窗口模式的动画·利用剪切限制动画的显示范围===============华丽的分割线...
Game设计
Managed DirectX +C# 开发(入门篇)4
Kalet 发表于2009-03-20 浏览308 评论0
第七章顶点缓冲一、索引缓冲3D物体中的三角形经常会有许多共用顶点。如果用两个三角形组合为一个长方形,有两个点被重复使用,当要表现一个更精细更复杂的模型的时候,重复的顶点数将会变得很大。下图的立方体,仅有八个顶点,但是当用三角形列表示它的时候,所有的点都被重复使用。ManagedDirectX+C#开发(入门篇)4索引缓冲就是一块保存了顶点数据索引的缓冲。缓冲中的索引为32位或16位的整数。比如,当使用索引0,1,6来绘制一个三角形时,会通过索引映射到相应的顶点来渲染图像。以下为创建一个索引缓冲的代码示例:intnumberVerts=8;short[]indices={&n...
Game设计
Managed DirectX +C# 开发(入门篇)4
Kalet 发表于2009-03-20 浏览332 评论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 浏览339 评论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来表示)呢...