o5h / rust-opengles-angle

OpenGL ES 2.0 bindings for Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rust-opengles-angle

This is a version of rust-opengles bundled with the ANGLE library for Windows. Compiling rust-opengles-angle produces two additional DLL files libGLESv2.dll and libEGL.dll that ensure the portable OpenGL ES support.

Currently rust-opengles-angle uses ANGLE version 1.0.0.2042 with local patches by Mozilla (mozilla-central hg rev e9b37726c020). This complication is because ANGLE by default does not support MinGW and Mozilla had a working version of ANGLE with Makefile. Ultimately, Makefile.in and moz.build are removed in order to be MPL-free and I have rolled my own Makefile. Except for this removal and local patches (angle/angle-rust-opengles-angle-local.patch) the code remains intact.

Compilation

In theory, MinGW and ./configure && make should work. Unfortunately ANGLE uses several header files not present in MinGW w32api headers so we need a twist: if you ever note that some header file is missing, then you should bring it to the separate directory and run make with DIRECTX_SDK_INCLUDES=/path/to/headers.

I have prepared a separate header package for this very reason; it couldn't be included as is due to its GNU LGPL licensing.

License

Every modification and addition (including Makefile) to ANGLE is licensed under the BSD-style license at angle/LICENSE; every modification and addition to rust-opengles is licensed under the Apache License, Version 2.0 (LICENSE-APACHE) or the MIT license (LICENSE-MIT).

About

OpenGL ES 2.0 bindings for Rust

License:Other


Languages

Language:C++ 82.5%Language:C 13.7%Language:Rust 3.5%Language:Objective-C 0.2%Language:Python 0.1%Language:Shell 0.1%