an opengl wrapper/helper library
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs @ 4e31305
t
.gitignore
.gitmodules
LICENSE
README.md
TODO
makefile
sgl_draw.c
sgl_draw.h
sgl_math.h
sgl_mesh.c
sgl_mesh.h
sgl_mesh_loader.c
sgl_mesh_loader.h
stb_image.h cleaner structure Jul 10, 2016

README.md

sanegl

bring some basic sanity into your GL code

  • limit boilerplate
  • hide global state (at least until I switch to OpenGL 4.5 and start using DSA)
  • BETTER FREAKING DOCUMENTATION

docs

I'm experimenting with literate programming for this project, so run make docs to generate the docs directory. I'm using pycco for now, but docco and its varients should work as well.

demo code

make demo && ./t/demo

See t/demo.c for example codes and stuff.

what's here

  • simple opengl helper library
  • .3ds file loader

TODO

  • drop GLFW (only create a GL conetxt)
  • other file formats
  • Port OpenGL to 4.5 (yay for DSA!)
  • Add Windows support (add #ifdefs and make the makefile more Windows friendly)

FAQ

What's the purpose of this project?
It's not a full graphics engine, it just limits the boilerplate for the majority of 3D rendering code you may have to write. Stuff like creating VAOs, VBOs, binding textures, initializing things and cleanup are all taken care of for you.

Why is this project written in C?
I don't like C++

Why do you have your own 3ds parser built in (with more custom parsers to come)?
Because Assimp is bloated and written in C++

Ewww you use snake_case?
Eww to CamelCase. It's C. C code should always use snake_case.

You have a lot of opinions?
Yes.