本资源由 伯乐在线 – 骷髅 整理
简介
C++编写的游戏引擎随处可见,而纯C语言编写的游戏引擎确实非常稀罕。
Corange是一个用C语言和OpenGL标准编写的游戏引擎。在不牺牲性能前提下提供丰富的表现力、方便进行技术原型测试。它包括一个强劲的渲染器和一系列3D图形演示。
Youtube演示视频
特点
内容
这个项目是作者为了提高C语言技能进行的一系列3D图形方面的技术和效果的实验平台。它算不上是开箱可用的或者即插即用的,但是其中包含了大多数3D图形方面涉及到的内容:
等等…
使用和发布
此项目目前只算是个人项目,会存在大量的Bug,未完成的特性和有点混乱的代码。仍处于可能会有大规模改动的半成品阶段。作者更建议大家和一起沟通并加入项目开发,而不是直接使用。与Unity这样的游戏引擎相比,Corange更象是XNA那样使用各种图形API特性的框架。
如果这个项目吸引了你,作者给出了下列事项可以帮助你快速开始:
Corange不隐藏任何东西,OpenGL和SDL的调用都使用了命名空间以便你可以访问到这些基础接口。corange_init 和 corange_finish相当清晰和短小,你可以不直接调用它们而只使用你需要的部分。
结构都没有使用它们的指针去做类型定义。这确实只是个人偏好问题,但作者承认这样做确实导致了更多的数据被压到堆栈中,只是现在还不想为这些事情烦心。
资源、界面和实体的管理是引擎中重要的部分。它们主要是让你获取和保存资源(模型、纹理——文件系统中的对象)和实体(灯光、摄像机、引擎对象)和UI元素。他们在销毁时会清除内存,让你在代码的任何位置都能得到它们的指针。
Corange的命名空间还有点乱,经常出现像”error”、”warning”、”vec2″和”image”这样的命名。它不算是一个通用的库,但作者仍试图能让使用者快速从中得到需要部分的代码。
Demo
官方网站:http://www.theorangeduck.com/page/projects
开源地址:http://github.com/orangeduck/Corange