Open fayalalebrun opened 5 years ago
I have removed TODOs related to the shader functionality since I have addressed these issues previously (I think). If the shader and program classes require further changes to be usable, please let me know.
I have refactored ellipse in order to follow the pimpl idiom and according to the changes to the line class.
I have also changed the parameter names in order to follow project naming conventions.
I've removed the geometry failing test, as there is nothing to test in this class.
I modified the get_env_var() function to throw an exception if an environment variable is not found. I think this will help us more easily identify error related to this.
I added a couple of tests relating to this function, including one which makes sure that SHADER_ROOT is set.
I've added a method to emplace shaders directly into the program class, in order to improve the way shaders are used in the program. Also, I've added a couple of tests for program which now means that all methods in program are tested.
I've added a more extensive error message in case program creation fails, in order to solve a TODO.
I've updated the line, shader and ellipse tests in order to ensure that all methods in these classes are tested.
I've had to remake this from #38, since I named a commit wrongly, and thus I had to force push into my master branch in order to fix it. Here are the comments that I had left until then:
Checking for OpenGL errors is now performed sporadically in the Line class. -The noexcept specifier was removed from various functions, which now can throw exceptions. -In any function where OpenGL is called, the function to check errors from utilities is called.
I've renamed the shader folder environment variable to MXD_SHADER_ROOT, in order to avoid conflicting with environment variables which are part of other programs.
Fixes #36. Resolves #16.