`
wayfarer
  • 浏览: 298411 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

carmack卷轴算法

阅读更多

核心的思想:把地图卷动过程中移出屏幕 (不需要在显示的部分)所占用的buffer区域,绘制 上新的需要图块,在往真实屏幕上绘制的时候,通过四次绘制buffer把完整的地图重现。

 

计算机图形学-->二维观察流程,两个概念:

(1)世界坐标系:用于标注整个游戏世界的坐标系。
(2)摄像机:摄像机摄到的区域才能显示在屏幕上,摄像机在本文中表现为一个窗口,窗口内的世界才能显示到屏幕上进而被看到。移动摄像机到不同的位置就可以观察不同位置的情形。

carmack

如图所示,当前内容是1230。当摄像机向右下移动时,其内容应该变为0564,这样就形成了卷轴的效果。

由1230变换为0564的具体做法:使用两个缓冲区(当前缓冲区和新缓冲区),把新出现的内容绘制到新缓冲区的564部分,然后把当前缓冲区0部分内容绘制到新缓冲区的对应部分,这样就形成了正确的新位置缓冲区,再把当前缓冲区置为新位置缓冲区,那么显示的就是新位置的内容。
这样做的好处是“不用重新绘制0部分的内容”。因为屏幕移动的幅度不会很大,即123,564的区域很小,所以0部分的区域很大,避免重新绘制0部分能够带来性能提升。

 

  • 大小: 46.9 KB
分享到:
评论

相关推荐

    卡马克卷轴算法研究_地图双缓冲.doc

    卡马克卷轴算法(Carmack's scrolling algorithm),由著名程序员约翰·卡马克(John D. Carmack)提出,因其在早期3D游戏开发中的广泛应用而闻名,尽管在当前技术标准下显得有些过时,但其核心思想——地图双缓冲...

    JME卡马克地图缓冲卷轴算法源代码

    卡马克地图缓冲卷轴算法是由著名游戏程序员约翰·卡马克(John Carmack)开发的一种优化2D滚动地图的技术。这个算法极大地提高了在有限的硬件资源下处理大型地图的效率。 在JME中实现卡马克地图缓冲卷轴算法,主要...

    卡马克算法(android版本)

    卡马克算法android版本底层封装(使用android游戏开发中地图基于Title块的绘制)

    卡马克算法 经典 详细 游戏地图绘制中的常用算法 值的研究的算法

    卡马克算法,全称为“卡马克卷轴算法”(Carmack's scrolling algorithm),是由著名游戏程序员约翰·卡马克(John Carmack)所提出的一种在2D游戏中实现平滑滚动地图的技术。这种算法在80年代末90年代初的游戏开发...

    3个RPG练习,最后一个是卡马克卷轴

    标题中的“3个RPG练习,最后一个是卡马克卷轴”指的是三个角色扮演游戏(Role-Playing Game,简称RPG)的编程练习项目,其中最后一个项目是基于著名游戏开发者约翰·卡马克(John Carmack)的卷轴技术实现的。...

    [转]卡马克卷轴及四叉树渲染示例

    标题中的“卡马克卷轴”指的是游戏开发领域中著名的游戏程序员约翰·卡马克(John Carmack)提出的一种优化2D滚动背景的技术。这种技术主要用于处理大型的、不断滚动的地图,如经典的《指挥官基恩》和《毁灭战士》等...

    卡马克 滚屏

    标题中的“卡马克滚屏”指的是游戏开发领域中著名的游戏程序员约翰·卡马克(John Carmack)所设计的一种高效屏幕滚动技术。这种技术主要用于2D卷轴游戏中,使得游戏画面可以流畅地滚动,同时保持良好的性能。卡马克...

    Masters-of-Doom.rar_人物传记/成功经验_C/C++_

    在这本书中,你可以了解到John Carmack如何运用C/C++的底层特性,编写出创新的图形算法,比如他发明的卷轴渲染技术和Z缓冲区技术,这些技术极大地提升了当时3D游戏的画面质量。他的工作为后来的实时三维图形技术奠定...

Global site tag (gtag.js) - Google Analytics