随笔分类 -  游戏开发

上一页 1 2 3 4 5 6 7 ··· 9 下一页
D3D类游戏开发技术
摘要:就在SIGGRAPH大会刚结束之后,AMD和暴雪在AMD官方网站上放出了《星际争霸II》的官方技术文档,通过游戏引擎技术的展示让星际迷们感受到越来越多的惊喜。画面优化给CPU带来考验着色方面,在使用原型的基础上利用3D Studio MAX让程序员对整体效果做最大的优化,反复的提炼使得整个作品就像被艺术家精心雕琢一样,配合上8000个独特的、不重复的线性着色渲染代码,使得Starcraft II... 阅读全文
posted @ 2008-09-02 17:25 至尊王者 阅读(1844) 评论(0) 推荐(0) 编辑
摘要:渲染到纹理是D3D中的一项高级技术。一方面,它很简单,另一方面它很强大并能产生很多特殊效果。 比如说发光效果,环境映射,阴影映射,都可以通过它来实现。渲染到纹理只是渲染到表面的一个延伸。我们只需再加些东西就可以了。首先,我们要创造一个纹理,并且做好一些防范措施。第二步我们就可以把适当的场景渲染到我们创建的纹理上了。然后,我们把这个纹理用在最后的渲染上。 ?main.cpp 首先我们得声明所需要... 阅读全文
posted @ 2008-08-15 09:26 至尊王者 阅读(3826) 评论(2) 推荐(0) 编辑
摘要:在游戏开发和维护过程中,客户端都是不断更新的,伴随着每一次的更新,都会发布一个更新补丁包来对旧的客户端进行更新,来使其变成新的客户端,补丁包应该包含更新成新客户端的最少量资源(最大量资源就是整个新的客户端覆盖旧的)更新程序通过读一个更新脚本,对旧的客户端进行文件添加,文件覆盖,文件删除等操作来更新旧的客户端,当更新量比较少比较简单的情况下,更新脚本可以资源整理人员自己写,但当更新量太大,资源多而杂... 阅读全文
posted @ 2008-08-09 17:44 至尊王者 阅读(774) 评论(0) 推荐(0) 编辑
摘要:渲染到纹理是D3D中的一项高级技术。一方面,它很简单,另一方面它很强大并能产生很多特殊效果。 比如说发光效果,环境映射,阴影映射,都可以通过它来实现。渲染到纹理只是渲染到表面的一个延伸。我们只需再加些东西就可以了。首先,我们要创造一个纹理,并且做好一些防范措施。第二步我们就可以把适当的场景渲染到我们创建的纹理上了。然后,我们把这个纹理用在最后的渲染上。 ·main.cpp 首先我们得声明所... 阅读全文
posted @ 2008-08-09 17:01 至尊王者 阅读(1288) 评论(0) 推荐(0) 编辑
摘要:魔兽局域网主要有4种消息 第一种、搜索游戏: F7 2F 10 00 50 58 33 57 15 00 00 00 00 00 00 00 ?PX3W 这个格式比较简单。 F7 2F 10 00 是格式头部,消息含义的标志。 50 58 33 57 是PX3W几个字,就是冰封王座的逆序。 15 00 00 00 是版本号,0x15=21,即是1.21版的冰封王座在搜索游戏。 00 ... 阅读全文
posted @ 2008-06-24 09:08 至尊王者 阅读(3680) 评论(5) 推荐(0) 编辑
摘要:DXUT暂停函数 函数描述 DXUTPause将框架的内部计数器和(或)渲染过程设为暂停状态 DXUTRenderingPaused检查当前设备的渲染状态是否处在暂停状态 DXUTIsTimePaused检查当前设备的计时器是否处在暂停状态 DXUTPause Sets the paused state of DXUT internal timer and/or rendering proces... 阅读全文
posted @ 2008-05-17 12:15 至尊王者 阅读(801) 评论(1) 推荐(0) 编辑
摘要:DXUT统计函数 函数描述 DXUTGetFPS获取当前每秒提交的帧数 DXUTGetFrameStats获取一个指向字符串的指针,该字符串包括每秒帧数、分辨率、后台缓冲区格式、深度缓冲区格式。 DXUTGetDeviceStats获取一个指向字符串的指针,该字符串包括当前设备类型、顶点运算行为和设备名。 DXUTGetFPS Get the current number of frames b... 阅读全文
posted @ 2008-05-17 12:14 至尊王者 阅读(945) 评论(0) 推荐(0) 编辑
摘要:管理DXUT框架的函数 函数描述 DXUTResetFrameworkState将框架状态重置为初始默认状态,之前设置的框架状态改变将失效。 DXUTShutdown触发程序终止和清空框架 DXUTGetExitCode获取框架的退出代码 DXUTResetFrameworkState Resets DXUT state to its initial default state. All pre... 阅读全文
posted @ 2008-05-17 12:05 至尊王者 阅读(1562) 评论(0) 推荐(0) 编辑
摘要:下面列出允许改变DXUT行为和获取内部变量的函数,这些函数在使用DXUT框架的Direct3D程序中是非常实用的。 管理窗口的DXUT函数 函数描述 DXUTGetHINSTANCE获取应用程序实例的句柄 DXUTGetHWND获取当前设备窗口的句柄 DXUTGetHWNDFocus获取当前获得焦点的窗口的句柄 DXUTGetHWNDDeviceFullScreen获取全屏模式设备窗口的句柄 DX... 阅读全文
posted @ 2008-05-17 11:59 至尊王者 阅读(934) 评论(0) 推荐(0) 编辑
摘要:DXUT框架与错误处理 Direct3D API的设计使程序能比较容易地处理各种错误,尽管大多数Direct3D API函数返回HTRSULT值,但只有一部分函数返回设备错误,如D3DERR_DEVICELOST或D3DERR_DRIVERINTERNALERROR。但是通常的Direct3D应用程序使用多种API函数,当传递的参数不合要求时,将返回D3DERR_INVALIDCALL。 当开发D... 阅读全文
posted @ 2008-05-17 11:56 至尊王者 阅读(921) 评论(0) 推荐(0) 编辑
摘要:(2)帧事件 框架也提供了帧事件,它在渲染过程中的每一帧被调用,应用程序应该注册并实现这些回调函数,如下表所示: 应用程序回调函数注册回调函数框架调用时机场景渲染 LPDXUTCALLBACK-FRAMEMOVEDXUTSetCallback-FrameMove在每一帧开始时调用一次这个回调函数是应用程序处理场景更新的最好位置,但它不应包括实际的渲染调用,渲染调用应放在帧渲染回调函数中。 LPDX... 阅读全文
posted @ 2008-05-17 11:52 至尊王者 阅读(881) 评论(0) 推荐(0) 编辑
摘要:在窗口和设备创建好之后,应用程序需要使用消息循环处理窗口消息、更新和渲染场景、处理设备事件。应用程序可以实现自己的消息循环,也可以使用DXUT消息循环,注册相应的回调函数,可以让DXUT处理设备、帧消息事件。 进入消息循环 为使用DXUT框架的消息循环,可以调用DXUTMainLoop()函数: Starts the main execution loop of DXUT.HRESULT DXUT... 阅读全文
posted @ 2008-05-17 11:49 至尊王者 阅读(869) 评论(0) 推荐(0) 编辑
摘要:修改可用的设备 应用程序可以通过DXUTSetCallbackDeviceChanging()设置回调函数来修改Direct3D设备的创建设置: Sets a callback function that allow the application to change the device settings before the device is created.VOID DXUTSetCall... 阅读全文
posted @ 2008-05-17 11:46 至尊王者 阅读(836) 评论(0) 推荐(0) 编辑
摘要:创建一个设备 通常可以用标准的Direct3D方法CreateDevice()创建一个Direct3D设备,这个方法需要一个有效的显示适配器、设备类型(硬件抽象层设备或参考设备)、窗口句柄、运行标志(软件/硬件顶点运算模式和其他驱动标志)和提交参数。更重要的是,结构体D3DPRESENT_PARAMETERS有许多成员指定了后台缓冲区的设置、多重采样设置、交换效果、窗口模式、深度缓冲区设置、刷新频... 阅读全文
posted @ 2008-05-17 11:40 至尊王者 阅读(1547) 评论(0) 推荐(0) 编辑
摘要:初始化DXUT 使用DXUT框架之前,首先需要初始化DXUT,初始化DXUT可以通过函数DXUTInit()完成: Initializes DXUT.HRESULT DXUTInit( BOOL bParseCommandLine, BOOL bShowMsgBoxOnError, WCHAR * strExtraCommandLineParams, bool bThreadSafeDXU... 阅读全文
posted @ 2008-05-17 11:39 至尊王者 阅读(1310) 评论(0) 推荐(0) 编辑
摘要:DXUT框架用来帮助程序员花更少的时间来解决下列问题:创建窗口、创建Direct3D设备、进行消息循环和处理设备事件。在DXUT框架基础上编写代码,可以快速高效地进行Direct3D程序设计,大多数Direct3D SDK示例程序使用了DXUT框架。 下面的代码是AppFrame示例程序的WinMain函数:INT WINAPI wWinMain( HINSTANCE, HINSTANCE, L... 阅读全文
posted @ 2008-05-17 11:36 至尊王者 阅读(1958) 评论(1) 推荐(0) 编辑
摘要:DXUT(也称sample framework)是建立在Direct3D API之上的Direct3D应用程序框架,有了DXUT这样一个Direct3D程序框架,只需在这个框架的基础上编写相应的代码,从而简化了windows和Direct3D API的使用,可以高效地进行Direct3D程序设计。 生成一个Direct3D程序框架 第一步,运行Direct3D示例程序浏览器: 第二步,单击"E... 阅读全文
posted @ 2008-05-17 11:33 至尊王者 阅读(4022) 评论(2) 推荐(1) 编辑
摘要:14.3.2 例子程序:焰火系统 本例程实现了一个焰火例子系统,运行效果如图14.3所示: 火系统类定义如下: class cFirework : public cParticleSystem { public: cFirework(D3DXVECTOR3* origin, int num_particles); virtual void rese... 阅读全文
posted @ 2008-04-04 20:13 至尊王者 阅读(995) 评论(1) 推荐(0) 编辑
摘要:14.3.3 例子程序:粒子枪 本例程实现了一个粒子枪系统,运行效果如图14.4所示: 下面是粒子枪系统的定义: class cParticleGun : public cParticleSystem { private: cCamera* m_camera; public: cParticleGun(cCamera* camera); ... 阅读全文
posted @ 2008-04-04 20:09 至尊王者 阅读(958) 评论(0) 推荐(0) 编辑
摘要:14.3具体的粒子系统:雪、火、粒子枪 现在让我们用cParticleSystem类开始一个具体的粒子系统,为了说明用意,这些系统的设计很简单,没有用到cParticleSystem类所提供的所有灵活性。我们实现雪、火、粒子枪系统。雪系统模拟下落的雪花,火系统模拟看上去像火焰的爆炸,粒子枪系统从照相机位置向对面发射出粒子(用键盘)。14.3.1 例子程序:雪 雪系统类定义如下: clas... 阅读全文
posted @ 2008-04-04 20:07 至尊王者 阅读(947) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 9 下一页