Update
- remove Shader class's discard_shader_source logic
- add flag about init_deep_copy_shader_source logic to Shader class, and make it remove the deep copied shader source memory ASAP
- make Geometry be full shallow copy, that means Geometry never copy the vertex and index data to itself, it just use outside's
- make Shader and Geometry be use const pointer as much as possible, that is a safe code style
- Note, the const pointer must be constantly pass in class and constantly pass out class!
Bug Fix
- Never Call Pure Virtual Function In Destructor In Any Way
- Shader class just call pure virtual function which impelemented in sub-class GLSLShader, that is not allowed by compiler, do that in sub-class itself
Modification:
- make Geometry class only have position element num as default of 4
- remove others like color and tex coord element num, which is not necessory