3个不稳定版本

0.2.0 2019年12月19日
0.1.1 2017年3月6日
0.1.0 2017年3月3日

#328 in 图形API

MIT 协议

56KB
930

glium_shapes

Crates.io TravisCI

为Glium OpenGL库提供的预制形状。

库目前提供的以下形状

  • 坐标轴
  • 长方体
  • 四边形
  • 球体

文档

文档可在以下位置找到: http://jbrd.github.io/glium_shapes

入门指南

  • 导入glium_shapes工具包

    extern crate glium_shapes;
    
  • 构建一个中心位于原点的2x3x4 Cuboid并绘制它

    let cuboid = glium_shapes::cuboid::CuboidBuilder()
                 .scale(2.0, 3.0, 4.0)
                 .build(display)
                 .expect("Failed to build cuboid shape");
    frame.draw(&cuboid, &cuboid, your_shader_program, your_uniforms, your_draw_params);
    
  • 所有形状的示例都已提供。只需运行

    cargo run --example axes
    cargo run --example cuboid
    cargo run --example quad
    cargo run --example sphere
    

技术细节

  • 每个形状都使用构建器对象构建,该对象提供用于自定义新形状的方法

  • 默认情况下,几何体构建以适应标准的OpenGL上下文默认值

    • 右手坐标系(x = 右,y = 上,z = 离屏幕)
    • 正面取逆时针方向
  • 默认情况下,每个形状都构建为其质心位于原点

开发状态

维护但不是积极开发。将与rust和glium的最新版本保持更新。需要时将添加额外的形状,并愿意接受额外的形状的贡献。将修复错误(如果发现任何错误,请提出问题!)

贡献补丁

非常欢迎贡献!为了减少反馈循环,请在贡献补丁之前执行以下检查

  • 确保项目在调试模式下构建:cargo build
  • 确保项目在发布模式下构建:cargo build --release
  • 确保测试通过:cargo test
  • 确保编码风格一致(cargo fmt应无变化)
  • 确保 cargo clippy --all-targets 不返回任何警告或错误
  • 确保 cargo doc 执行成功
  • 确保所有示例都能成功构建和运行
  • 确保您的名字被添加到 README.md 中的贡献者列表中

贡献者

James Bird (@jbrd)

依赖项

~8–18MB
~233K SLoC