一个256行代码的第一人称引擎(Direct2D移植版)

这篇文章是对"a first person engine in 265 lines"[1]的一个Direct2D版的移植.看到这篇文章我立刻就想到了QUAKE,当然QUAKE使用了比这个更高效的技术.但是这个技术无疑更简单,更娱乐,同时也算是一种RayCast原理的使用.于是就想到用Direct2D做一个看看.

由于对Html5不熟,同时参考了Fredrik Wallgren[2].

同时也参考了MS提供的Direct2D事例[3].

代码托管:https://d2dfpsenginedemo.codeplex.com/

基本原理原文已经很好的阐释,具体细节还是直接看代码才能看的明白。


(a)完整的一帧

 

(b1)逐帧更新过程中的一帧

 

(b2)逐帧更新过程中的一帧

 

(c)根据横向分辨率一列一列的绘制

 

[1]A first-person engine in 265 lines, Hunter Loftis.

[2]Java Port, Fredrik Wallgren.

[3]Direct2D, Microsoft.

转载于:https://www.cnblogs.com/Baesky/p/D2DFpsEngineDemo.html

本源码来自外星人源码论坛 文件夹 PATH 列表 卷序列号码为 0006EE50 EC5F:C44B C:. │ v5目录的结构树.TXT │ www.eenot.net.bat │ ├─开发库 │ ├─Include │ │ │ AndroidUserItem.h │ │ │ AndroidUserManager.h │ │ │ Array.h │ │ │ AvatarControlHead.h │ │ │ BitImage.h │ │ │ BitImageEx.h │ │ │ CameraControl.h │ │ │ CMD_Commom.h │ │ │ CMD_Correspond.h │ │ │ CMD_GameServer.h │ │ │ CMD_LogonServer.h │ │ │ CustomFaceManager.h │ │ │ Custsite.h │ │ │ D2DEngine.h │ │ │ D2DInterface.h │ │ │ D3DDevice.h │ │ │ D3DDirect.h │ │ │ D3DFont.h │ │ │ D3DMusic.h │ │ │ D3DSound.h │ │ │ D3DSoundBuffer.h │ │ │ D3DSoundThread.h │ │ │ D3DSprite.h │ │ │ D3DSurface.h │ │ │ D3DTexture.h │ │ │ DataBaseAide.h │ │ │ Define.h │ │ │ DFontEx.h │ │ │ DirectShowBasic.h │ │ │ DlgBrowser.h │ │ │ DlgGameRule.h │ │ │ DlgInsureCounter.h │ │ │ DlgInsureGame.h │ │ │ DlgMatchAwards.h │ │ │ DlgServerItem.h │ │ │ DlgServerWizard.h │ │ │ DlgTrumpetItem.h │ │ │ DlgVideoClone.h │ │ │ DownLoad.h │ │ │ DownLoadHead.h │ │ │ Expression.h │ │ │ FaceCustomControl.h │ │ │ FaceItemControl.h │ │ │ FaceItemView.h │ │ │ FaceSelectControl.h │ │ │ Flash.ocx │ │ │ FlashControl.h │ │ │ GameEngineHead.h │ │ │ GameFrameApp.h │ │ │ GameFrameAvatar.h │ │ │ GameFrameControl.h │ │ │ GameFrameEngine.h │ │ │ GameFrameHead.h │ │ │ GameFrameMedalView.h │ │ │ GameFramePublicize.h │ │ │ GameFrameService.h │ │ │ GameFrameUserView.h │ │ │ GameFrameView.h │ │ │ GameFrameViewD3D.h │ │ │ GameFrameViewGDI.h │ │ │ GameFrameWnd.h │ │ │ GamePropertyCtrl.h │ │ │ GamePropertyHead.h │ │ │ GamePropertyItem.h │ │ │ GamePropertyManager.h │ │ │ GameServiceHead.h │ │ │ GIFImage.h │ │ │ GlobalServer.h │ │ │ GlobalUnits.h │ │ │ GlobalUserInfo.h │ │ │ HeadTranslate.h │ │ │ IDispimp.h │ │ │ ImageEditorControl.h │ │ │ ImageOle.dll │ │ │ Information.h │ │ │ IPC_GameFrame.h │ │ │ K
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值