NGL  6.5
The NCCA Graphics Library
Todo List
Member ngl::AbstractMesh::writeToRibSubdiv (RibExport &_ribFile) const noexcept
correct the rib exporter and add Normal information to the export
Class ngl::BezierCurve
update this class to run the CoxDeBoor algo once and then store the points in a dynamic array based on the LOD value passed in. This will speed up the execution for static curves as at present we calculate each time. Also this array can then be used to draw with VertexArrays and we will not need to create the DisplayLists
Member ngl::BezierCurve::draw () const noexcept
Modify this to use faster method than display lists
Class ngl::Camera
Finish off the different projections modes at present persp and ortho work
Member ngl::Camera::writeRib (RibExport &_rib) const noexcept
make this and the rest of the Rib class work as a friend class rather than as present
Class ngl::Colour
add code to use other colour spaces, could be done like Renderman with ctor "HSV" etc
Class ngl::Face
add the ability to have user installable attribute lists
Class ngl::HouDictionaryEntry
finish this off at some stage
Member ngl::HoudiniGeo::drawDebugPoints ()
write GL3.x code to do this
Class ngl::Light
this will need to be changed to work with GLSL lights for GL_VERSION > 3.x
Member ngl::Mat3::setAtXY (GLint _x, GLint _y, Real _equals) noexcept
replace this with function operator overload ()
Member ngl::Mat4::setAtXY (GLint _x, GLint _y, Real _equals) noexcept
replace this with function operator overload ()
Member ngl::PathCamera::drawPaths () const noexcept
write code to do the drawing
Member ngl::PathCamera::loadPath (const std::string &_fName) noexcept
get this working with loading from a Vector
Class ngl::RibExport
add code for exporting basic Rib geometry patches etc.
Class ngl::Texture

make it more flexible for different types of texture operations

write save method at some stage as well this could grab info from framebuffer and replace the frame writer class

Member ngl::VAOPrimitives::createCapsule (const std::string &_name, const Real _radius=1.0f, const Real _height=2.0f, const int _precision=20) noexcept
add UV's at some stage
File Obj.cpp
re-write this at some stage to use boost::spirit::qi
File Text.h
support unicode ASCII is so 1980's ;-0 This class will generate billboard textures and VertexArrayObjects for each of the font glyphs, this means we need a valid OpenGL context before using this class, therefore it should be constructed in initalizeGL or after. Note for efficiency once the font has been created we can only change the colour, if you need different sizes / emphasis you will need to create a new Text object with the desired size / emphasis. This is accelerated as much as possible but text rendering will sometimes be slow as we bind a new texture for each char being drawn for more details look at the blog post here
File Vec4.h

lots of tidying up and code optimizations

at some stage re-write to use Machine Code and MMX extentions