#context #creation #opengl #opengl-context #window #meta #glapp

glapp-macros

glapp宏,一个gl上下文创建包装器

3个版本

0.1.3 2023年5月8日
0.1.1 2023年4月24日
0.1.0 2023年4月23日

#20 in #opengl-context


用于2个crate(通过glapp

MIT许可证

4KB
57

glapp

OpenGL元窗口和上下文创建。

在Rust生态系统中的窗口和图形上下文创建流程目前正经历一种 Cambrian 爆炸,因此当涉及到与不同的底层库和工具链一起工作时,灵活性是很有好处的。

我创建了 Glapp,作为一种“元库”,包装了不同的底层库,每个库都有其各自的优点,这取决于平台和情况。

目标是您编写的代码应100%可移植到另一个平台。无需根据平台更改或重新命名主函数,glapp 会处理这些。

use glapp::*;

#[glapp_main]
fn main(mut app:App) {
    app.title("Testing Glapp");
    app.run(|window,event|{
        match event {
            AppEvent::Open=>{
                // The OpenGL context is created and made current.
            },
            AppEvent::Render=>{
                // This is where we render our scene.
            },
            // ... see docs for more events, e.g. input and such ...
        }
    });
}

应该理解,Glapp 在这些库的功能上提供了一种“最小公倍数”。如果您需要更精细的控制,请直接使用相应的库。

Glapp 可以与以下底层库一起工作。启用它们作为功能

  • sdl - Simple DirectMedia Layer 是一个用 C 编写的跨平台开发库。SDL 官方支持 Windows、macOS、Linux、iOS 和 Android。SDL 自 1998 年以来一直存在,经过了彻底的战斗测试。
  • glutin - Glutin 是一个具有强大动量和深厚社区基础的纯 Rust 库。

依赖关系

~1.5MB
~35K SLoC