#webgl #web

no-std gl_matrix

Rust语言的glMatrix实现

1个不稳定版本

0.0.2 2020年5月3日
0.0.1 2020年5月2日

#817 in WebAssembly

38次每月下载

MIT许可证

300KB
7.5K SLoC

gl-matrix

Build Status Coverage Status Crate API

glMatrix的Rust实现

gl_matrix提供了Rust中所有glMatrix函数的实用工具。

快速开始

如果您已经熟悉glMatrix和Rust,开始使用应该很简单。所有函数都已被重命名以符合Rust的惯用语法。

use gl_matrix::common::*;
use gl_matrix::{vec3, mat4};

let canvas_w = 800_f32; 
let canvas_h = 600_f32;
 
let mut world_matrix: Mat4 = [0.; 16];
let mut view_matrix: Mat4 = [0.; 16];
let mut proj_matrix: Mat4 = [0.; 16];

let eye = vec3::from_values(0., 0., -8.);
let center = vec3::from_values(0., 0., 0.); 
let up = vec3::from_values(0., 1., 0.);

mat4::identity(&mut world_matrix);
mat4::look_at(&mut view_matrix, &eye, &center, &up);
mat4::perspective(&mut proj_matrix, to_radian(45.), canvas_w / canvas_h, 0.1, Some(100.0));

功能

  • 无std
  • 编译为wasm
  • 熟悉的语法

未来工作

  • 添加对f64的支持(目前只支持f32)
  • 添加对forEach的支持

示例

学习Rust WebGL

用法

将此添加到您的Cargo.toml

[dependencies]
gl_matrix = 0.0

贡献

查看CONTRIBUTING.md

许可证

gl-matrix遵循MIT许可证。

LICENSE

依赖项

~1.4–2MB
~36K SLoC