使用FlasCC将OpenGL游戏移植到Flash平台

需积分: 9 5 下载量 86 浏览量 更新于2024-07-22 收藏 125KB DOC 举报
"这篇论文探讨了如何利用Adobe的Flash C++ Compiler (FlasCC)技术将流行的开源OpenGL游戏Neverball移植到Flash运行时,同时尽可能减少对原代码库或构建系统的修改。FlasCC是一种创新的编译器技术,能够将C/C++代码编译成SWF文件格式,在Flash Player中运行。随着Flash Player 11引入Stage3D API,它提供了对GPU加速3D图形的支持,并具有可编程着色器,旨在在现代移动设备和桌面电脑上高效运行。为了使OpenGL游戏能够在Flash平台上运行,Adobe启动了一个名为GLS3D(OpenGL for Stage3D)的开源项目,该项目实现了Stage3D API上的一部分OpenGL API,从而实现OpenGL游戏的移植。" 在这篇论文中,作者深入探讨了以下几个关键知识点: 1. **Flash C++ Compiler (FlasCC)**: FlasCC是Adobe推出的一项技术,它允许开发者用C/C++编写代码并将其编译为SWF文件,这些文件可以在Flash Player环境中运行。这极大地扩展了Flash的开发能力,因为它打破了原本只能使用ActionScript进行开发的局限。 2. **OpenGL游戏移植**: 论文以开源游戏Neverball为例,展示了如何将基于OpenGL的游戏移植到Flash平台。通过FlasCC,开发者可以保持大部分源代码不变,减少了对游戏原有结构的破坏,降低了移植成本。 3. **Stage3D API**: Flash Player 11引入的Stage3D API为开发者提供了GPU加速的3D图形处理能力。这个API的设计目标是在移动设备和桌面系统上都能获得高性能,其特点与OpenGLES API有显著相似性,旨在直接利用现代硬件特性,无需昂贵的转换或模拟。 4. **OpenGLES与OpenGL的关系**: OpenGLES是OpenGL的一个精简版,去除了现代可编程GPU不再提供快速路径的一些遗留特性。它旨在提供轻量级、高效的3D图形支持。 5. **GLS3D项目**: Adobe启动的GLS3D项目是为了在Stage3D API的基础上实现OpenGL的子集,使得OpenGL游戏能够无缝地移植到Flash平台上。这个项目为那些原本基于OpenGL开发的游戏提供了在Flash环境中运行的可能性。 论文通过实例详细阐述了如何利用FlasCC和GLS3D将OpenGL游戏集成到Flash环境中的过程,对于希望将3D游戏移植到Flash平台的开发者来说,是一份非常有价值的参考资料。此外,这也展示了Adobe在推动跨平台开发工具方面所做的努力,以及在Flash技术上的持续创新。