使用FlasCC将OpenGL游戏移植到Flash平台
需积分: 9 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技术上的持续创新。
qq_17135839
- 粉丝: 0
- 资源: 1
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫