![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Base class for all texture renderers. More...
#include <TextureRendererBase.h>

Public Member Functions | |
| TextureRendererBase ()=default | |
| virtual | ~TextureRendererBase ()=default |
| virtual bool | CanHandle (size_t material_count, bool has_pbr_textures, bool has_multiple_map_kd) const =0 |
| Check if this renderer can handle the given material. More... | |
| virtual RenderingMode | GetMode () const =0 |
| Get the rendering mode this renderer implements. More... | |
| virtual bool | Apply (vtkLODActor *actor, const class ccMaterialSet *materials, vtkPolyData *polydata, vtkRenderer *renderer)=0 |
| Apply rendering to actor. More... | |
| virtual bool | Update (vtkActor *actor, const class ccMaterialSet *materials, vtkPolyData *polydata, vtkRenderer *renderer)=0 |
| Update existing actor with new materials. More... | |
| virtual std::string | GetName () const =0 |
| Get renderer name for logging. More... | |
Protected Member Functions | |
| void | ClearTextures (vtkActor *actor) |
| Helper: Clear all textures from actor. More... | |
| bool | ValidateActor (vtkActor *actor) const |
| Helper: Validate actor. More... | |
| bool | ValidateMaterials (const class ccMaterialSet *materials) const |
| Helper: Validate materials. More... | |
Base class for all texture renderers.
Provides common interface and shared functionality for different rendering modes. Subclasses implement specific rendering logic (PBR, multi-texture, etc.)
Definition at line 48 of file TextureRendererBase.h.
|
default |
|
virtualdefault |
|
pure virtual |
Apply rendering to actor.
| actor | VTK actor to render |
| materials | Material set |
| polydata | Polygon data (for texture coordinates) |
| renderer | VTK renderer (for lighting setup) |
Implemented in PclUtils::renders::MultiTextureRenderer, and PclUtils::renders::PBRRenderer.
Referenced by PclUtils::renders::TextureRenderManager::Apply().
|
pure virtual |
Check if this renderer can handle the given material.
| material_count | Number of materials |
| has_pbr_textures | Whether material has PBR textures |
| has_multiple_map_kd | Whether material has multiple map_Kd textures |
Implemented in PclUtils::renders::MultiTextureRenderer, and PclUtils::renders::PBRRenderer.
|
protected |
Helper: Clear all textures from actor.
Definition at line 20 of file TextureRendererBase.cpp.
Referenced by PclUtils::renders::MultiTextureRenderer::Apply().
|
pure virtual |
Get the rendering mode this renderer implements.
Implemented in PclUtils::renders::MultiTextureRenderer, and PclUtils::renders::PBRRenderer.
|
pure virtual |
Get renderer name for logging.
Implemented in PclUtils::renders::MultiTextureRenderer, and PclUtils::renders::PBRRenderer.
Referenced by PclUtils::renders::TextureRenderManager::Apply(), and PclUtils::renders::TextureRenderManager::Update().
|
pure virtual |
Update existing actor with new materials.
| actor | VTK actor to update |
| materials | Material set |
| polydata | Polygon data |
| renderer | VTK renderer |
Implemented in PclUtils::renders::MultiTextureRenderer, and PclUtils::renders::PBRRenderer.
Referenced by PclUtils::renders::TextureRenderManager::Update().
|
protected |
Helper: Validate actor.
Definition at line 28 of file TextureRendererBase.cpp.
References CVLog::Error().
Referenced by PclUtils::renders::PBRRenderer::Apply(), PclUtils::renders::MultiTextureRenderer::Apply(), PclUtils::renders::PBRRenderer::Update(), and PclUtils::renders::MultiTextureRenderer::Update().
|
protected |
Helper: Validate materials.
Definition at line 36 of file TextureRendererBase.cpp.
References CVLog::Error(), and CVLog::Warning().
Referenced by PclUtils::renders::PBRRenderer::Apply(), PclUtils::renders::MultiTextureRenderer::Apply(), PclUtils::renders::PBRRenderer::Update(), and PclUtils::renders::MultiTextureRenderer::Update().