OpenGL optimalisation
The implementation as it is work perfectly fine. However it is possible to make some significant optimalisations.
High level overview
-
Reimplement colors -
Refactor arrays -
Ignore vertices outside of the viewport -
Ignore vertices smaller than half a pixel -
Precompute Matrices -
Remove depth -
Remove alpha -
Write shape optimized shaders -
Optimize the rendering pipeline
Shapes that are functionally done
opengl/optimalisation
Branch: -
Filled Rotated Quad -
Drawn Rotated Quad -
Lined Rotated Quad -
Filled AA Quad -
Drawn AA Quad -
Lined AA Quad -
Filled Ellipsoid -
Drawn Ellipsoid -
Lined Ellipsoid -
Filled Circle -
Drawn Circle -
Lined Circle -
Ellipsoidal Arc -
Circular Arc -
Line -
Poly Line -
Filled Ring Slice -
Drawn Ring Slice -
Lined Ring Slice -
Filled Circle Slice -
Drawn Circle Slice -
Lined Circle Slice