Jump to content

  • Log In with Google      Sign In   
  • Create Account

3D oriented library releasing

  • You cannot reply to this topic
1 reply to this topic

#1 David Manzanares   Members   -  Reputation: 152


Posted 27 August 2014 - 07:24 AM


I am the developer of Raiseland(http://steamcommunity.com/sharedfiles/filedetails/?id=280019434), developing it required a lot of generic/typical functions. I found some useful libraries. However, for some tasks I didn't find these (too much complex, not C, bloated...). Because of this I created my own library and I'm considering releasing it under a BSD-like license. However I don't know if it would be useful for the community, would it be?


This is the list of features.

  • Tested on Windows (Vista, 7, 8) compiled with MSVC2013  and on Linux(Ubuntu 14.04.1 LTS and ArchLinux) compiled with clang and gcc.
  • Needs OpenGL 4.0 or later, some parts need GLFW3, zlib and freetype2 (these parts can be removed)
  • Source code written in C99.
  • Very simple: ~7000 LOCs
  • Modular
  • Logging
  • Getting time (microsecond resolution)
  • Faster replacement for typical srand/rand functions
  • Import .obj/Wavefront mesh files with smooth or flat normal generation
  • Export .obj/Wavefront mesh files
  • Import and export own compressed mesh format (60% smaller than standar .obj)
  • Bounding box calculation
  • Basic primitive drawing: lines, axis and cylinders
  • Basic GUI: labels, buttons, combo boxes, "number editors", switches (on or off), sliders, typical customizable header menu (File, Edit...), containers...
  • Basic mesh drawing
  • Skydome
  • Stats (elapsed time, triangles per frame, meshes per frame)
  • DDS image loader (loads DXT1, DXT3 and DXT5 files)
  • Cached text rendering system using TrueType fonts (uses freetype2)
  • Basic input system
  • Typical vectorial and matrix math operations including getProjectionMatrix and getViewMatrix
  • Window/context creation using GLFW3
  • Texture manager
  • Library examples


Developer of Raiseland, a real-time procedural terrain generator. Check out our Greenlight: http://steamcommunity.com/sharedfiles/filedetails/?id=280019434


#2 swiftcoder   Senior Moderators   -  Reputation: 9991


Posted 27 August 2014 - 11:37 AM


This is key to making this a successful library, to my mind.


I need to be able to cherry-pick the functionality I need for a given project, and leave the rest on the floor. There is nothing worse than taking on a dependent library that starts to invade your entire software stack...

Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]