Conversation
|
Just as a comment here: Please don't remove the Doxygen comments from the classes (e.g. this one). They may look hard to read in the code, but enable us to generate a proper code documentation from it once all classes are properly commented/documented. If a comment is outdated after editing/refactoring something, it should rather be updated to reflect the current state. Only documentation of:
can/may be removed. Most modern IDEs also provide a nice rendering of these Doxygen comments directly in the source tree. These IDEs (e.g. CLion) also show the parameter docs when hovering over a call or typing the function arguments, which is more information than just the declaration provides. |
e136655 to
0c9773c
Compare
|
Restored the Doxygen documentation comments that were removed from |
…, `VideoEcho`, and `Waveform`) to use `OpenGLRenderItem` instead of `RenderItem`, and include the correct header file. This fixes the build errors by: 1. Changing the base class to `OpenGLRenderItem` which contains the required `m_vaoID` and `m_vboID` members 2. Updating the includes to point to the new header location 3. Removing redundant `RenderItem::` prefixes since we inherit directly from `OpenGLRenderItem` 4. Cleaning up some formatting inconsistencies The changes maintain all existing functionality while fixing the compilation errors related to missing OpenGL buffer IDs. The classes will now properly inherit the OpenGL-specific rendering functionality they require.
… header resolution
0c9773c to
da2e74a
Compare
This pull request refactors the
libprojectMrendering pipeline to improve modularity and OpenGL backend integration. The changes primarily involve replacing the use of a genericRenderItembase class with a more specificOpenGLRenderItemclass, updating initialization methods, and introducing a unique pointer for texture flipping. These updates aim to streamline the rendering process and enhance maintainability.Transition to OpenGL-specific Rendering:
Replaced the inheritance of
Renderer::RenderItemwithlibprojectM::Renderer::Backend::OpenGL::OpenGLRenderItemin multiple classes, includingBorder,CustomShape,CustomWaveform,DarkenCenter,Filters, andFinalComposite. This change ensures the rendering logic is explicitly tied to the OpenGL backend. [1] [2] [3] [4] [5] [6]Updated initialization calls from
RenderItem::Init()toInit()in constructors across several classes to align with the new base class implementation. [1] [2] [3] [4] [5] [6]Texture Flipping Refactor:
Replaced the
Renderer::CopyTextureinstance with astd::unique_ptr<Renderer::CopyTexture>to manage the texture flipping filter. This change improves memory management and ensures proper cleanup. [1] [2] [3]Updated calls to the
DrawandTexturemethods ofm_flipTextureto use the new unique pointer syntax (m_flipTexture->Drawandm_flipTexture->Texture). [1] [2] [3] [4]Header File Updates:
#include <Renderer/RenderItem.hpp>with#include <Renderer/Backend/OpenGL/OpenGLRenderItem.hpp>in header files to reflect the new OpenGL-specific base class. [1] [2] [3] [4] [5] [6]Code Cleanup:
CustomWaveformandFinalCompositeto simplify the code and improve readability. [1] [2]