Skip to content

LonelyPale/go-opengl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 

Repository files navigation

go-opengl

Go packages for working with OpenGL. While more or less adequate for general use, they're being developed in conjunction with go:ngine and thus tend to be slightly tweaked, optimized or designed around go:ngine's needs and usage patterns.

core:

A (very) GoGL-like OpenGL binding used by go:ngine.

  • includes strictly only GL core profile functionality from version 3.3 onwards (up until 4.3) -- note, this does not mean that a core profile context is required, although it is probably advisable on any current-gen GPU with recent drivers
  • no compatibility-profile-only functionality or any that was deprecated or removed at some (any) point
  • Init() and "stolen-from-GoGL" utility functions moved to a Util struct: so every exported (non-method) function is a direct CGO binding function. (Just minor cosmetics really.)
  • added to Util: ErrorFlags() method
  • embeds the following GL extensions right inside the same binding package:

util:

Based on the above core GL binding package, provides higher-level utility constructs and a few sane lean minimalist wrappers (without going full-on "OO"-overboard).

cmd:

  • opengl-minimal-app: a "minimal" program using OpenGL core profile to draw a triangle and a quad, to test the above core GL binding package with GLFW
  • gogl-minimal-app: same but with the GoGL (gl43) binding
  • gen-opengl-bindings: used to generate the above core GL binding package

About

Go packages for working with OpenGL -- cross-platform and modern (core profile 3.3 and newer)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%