Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gles3 initial versions #5894

Merged
11 commits merged into from
Mar 8, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions packages/gles3/gles3.20160307.alpha/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
OCaml GLES 3.0 bindings

This project aims at providing a portable way to do OpenGL (precisely
GLES) application using OCaml. It comes in three parts:
* Low level bindings which allow to call directly GLES functions.
This binding tries to be reasonably type-safe using polymorphic
variants to encode Glenum type. The low level bindings also provide
some sanity checks for the size of bigarrays which allow to capture
quite a lot of errors with clear messages.
* High level bindings: to provide some auxiliary functions like
matrix inversion and ease the development. For instance, to use
shaders, with the high level bindings, you use compile_shader with
the sources code, get a value of type unit program. Then, you can
set the variables of the shaders (uniform or attributes), either as
constant or function and get a function to finally run the shaders.
* A way to open a window, start the main loop and interact. Currently
only EGL under X11 is supported but it would be nice to have
support for other platforms (windows, OSX, android, ios, wayland,
...) with exactly the same interface.

Authors

* [3]Alexandre Miquel (initial low level bindings for GLES 2)
* [4]Christophe Raffalli (partial port to GLES 3.0, high-level
bindings and examples)
28 changes: 28 additions & 0 deletions packages/gles3/gles3.20160307.alpha/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
opam-version: "1.2"
name: "gles3"
version: "20160307.alpha"
maintainer: "Christophe Raffalli <[email protected]>"
available: [ ocaml-version >= "4.02.0" & os != "darwin" ]
authors:
"Christophe Raffalli <[email protected]>, Alexandre Miquel<[email protected]>"
homepage: "http://lama.univ-savoie.fr/~raffalli/gles3"
bug-reports: "[email protected]"
license: "LGPL-3.0"
dev-repo: "darcs://lama.univ-savoie.fr/~raffalli/gles3/repos"
build: [make]
install: [make "install"]
remove: ["ocamlfind" "remove" "gles3"]
depends: [
"ocamlfind" {build}
]
depexts: [
[[ "debian" ] [ "libgles2-mesa-dev" ]]
[[ "ubuntu" ] [ "libgles2-mesa-dev" ]]
[[ "mageia" ] [ "libmesaglesv2_2-devel" ]]
[[ "centos" ] [ "mesa-libGLES" "mesa-libGLES-devel" ]]
[[ "fedora" ] [ "mesa-libGLES-devel" ]]
]
post-messages: [
"gles3 requires libgles2-mesa (>= 10.1) which is only available on ubuntu trusty (12.10) or more recent" {failure & (os = "ubuntu")}
"gles3 requires gles, egl and X11" { failure & (os != "ubuntu") }
]
2 changes: 2 additions & 0 deletions packages/gles3/gles3.20160307.alpha/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://lama.univ-savoie.fr/~raffalli/gles3/gles3-20160307.alpha.tar.gz"
checksum: "86b0d72e42fd3e7eed18f3ced34de66a"