Sign in to follow this  
EverplainSt

Unity 3D oriented library releasing

Recommended Posts

EverplainSt    164

Hi,

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

 

Share this post


Link to post
Share on other sites
swiftcoder    18437


Modular

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...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this