openage icon indicating copy to clipboard operation
openage copied to clipboard

Use same syntax for updating uniform inputs and uniform buffer inputs

Open heinezen opened this issue 1 year ago • 0 comments

Required Skills: C++, maybe OpenGL

Difficulty: Easy

In https://github.com/SFTtech/openage/pull/1664 we switched the structure of OpenGL uniform inputs (GlUniformInput) to more performance friendly code. Uniform buffer inputs (GlUniformBufferInput) were not changed in the PR as the performance gain would have been only marginal. However, it would make sense for code quality purposes to keep the update syntax of both input types roughly the same, so that they can be maintained in the same way.

The tasks mostly consist of porting the changes from https://github.com/SFTtech/openage/pull/1664 to the flow used for updating the uniform buffers. A simple example for uniform buffers that can be used for testing purposes is available in renderer demo 5 which you can access by running this command:

./run test -d renderer.tests.renderer_demo 5

Tasks:

  • [ ] Port the changes to GlUniformInput made in https://github.com/SFTtech/openage/pull/1664 to the GlUniformBuffer class
  • [ ] Change the update workflow of uniform buffers, so that it aligns with the update workflow of regular uniform inputs
  • [ ] (optional) Test the performance of the new solution using callgrind:
valgrind --tool=callgrind ./run test -d renderer.tests.renderer_demo 5

Further Reading

heinezen avatar Aug 25 '24 22:08 heinezen