#opengl #sdl2 #框架 #图形 #sdl #渲染引擎

cafe_core

基于SDL2和OpenGL构建的游戏框架

3个版本

使用旧的Rust 2015

0.1.2 2023年9月5日
0.1.1 2023年9月4日
0.1.0 2023年9月3日

131渲染

MIT 许可证

2MB
1.5K SLoC

咖啡

咖啡是游戏引擎/框架,建立在独立模块之上

  • 用于渲染的茶
  • 用于音频的摩卡
  • 用于脚本(Rust端口是一个WIP)
  • 用于文件系统和包的拿铁(Rust端口是一个WIP)

其他模块我甚至还没有开始用C编写,所以我将从头开始用Rust编写

  • 用于UI的牛奶
  • 网络咖啡厅编辑器

示例代码

extern crate cafe;

use cafe::{Game, CafeBuilder, Render};
use cafe::render::render2D::Render2D;

pub struct MyGame {}

impl Game for MyGame {
    type Render = Render2D;

    fn new() -> Self {
        MyGame {}
    }

    fn setup(&mut self, _settings: &mut GameSettings) {}
    fn run(&mut self, _dt: f32, render: &mut Self::Render) -> bool {
        render.begin();
        render.clear();
        render.end();
        true
    }
}

fn main() {
    let cafe = CafeBuilder::new("Hello Game", 640, 380)
        .resizable(true)
        .build::<MyGame>()
        .unwrap();
    cafe.run();
}

依赖项

~19MB
~358K SLoC