##TODO: - renderer - check over renderer, camera, gooey init after changes - pass in frame time to camera movement functions to decouple speed from framerate - test camera speed when moving with composite vector - may be fixed?? need to test by examining camera position between frames and compare the distance - add 3d orientation widget to gooey - make hashmap grid type - position entities on grid hexes - remove checks for colors, textures from render_group functions - actually cannot remove checks for texture because some meshes aren't loaded properly - maybe can cause loading mesh to fail when more than one mesh per file - figure out bug in fragment shader when removing commented line - move input handling out to new file, controller? - map generation - pathfinding - assimp animation - replace aixlog with custom logging iostream? - think about combining mesh data and render_group data to save some memory - actually don't need to save the vertex/normal buffers after passing to opengl - use a storage pool for assimp meshes allowing reuse across entities - also cache textures from loaded meshes for re-use - replace remaining calls to malloc/free with safe(r) function in util.h ##LATER TODO: - add initial opengl constant for INT_MAX, and checks in render_group functions - try out YAML instead of JSON (make sure can still use schema validation) - move from COLLADA output to glTF (GL Transmission Format) https://www.khronos.org/gltf/ - add config.js/yaml for application config (remove some defines everywhere) - maybe try deferred rendering at some point to use a ton of lights - add cpu perforcmace counters in render loop - check for memory leaks w/ valgrind ##DONE: - add palette texture colors to hexgrid - map palette index to UV coords for shader in hexgrid render_group - fill hexgrid uv buffer with coordinates - set use_texture to true on hexgrid render_group render_objects - update hgUpdateColorBuffer to change uv buffer instead of color buffer rename function and replace calls - remove current_color/stored_color from hex_info struct - remove uses of these in hexgame.cpp and hexgrid.cpp - re-arrange vertex attributes in shader and render_group to remove color_buffer - update hgUpdateColorBuffer() to use POD instead of gl_buffer - remove color buffer from render_group - implement texturing to reduce the number of meshes generated by assimp from materials (currently creates a sepereate mesh per material) - need to do UV mapping on models, and parse UV data in shader