![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Unified PBR (Physically Based Rendering) renderer. More...
#include <PBRRenderer.h>


Public Member Functions | |
| PBRRenderer () | |
| ~PBRRenderer () override=default | |
| bool | CanHandle (size_t material_count, bool has_pbr_textures, bool has_multiple_map_kd) const override |
| Check if this renderer can handle the given material. More... | |
| RenderingMode | GetMode () const override |
| Get the rendering mode this renderer implements. More... | |
| bool | Apply (vtkLODActor *actor, const class ccMaterialSet *materials, vtkPolyData *polydata, vtkRenderer *renderer) override |
| Apply rendering to actor. More... | |
| bool | Update (vtkActor *actor, const class ccMaterialSet *materials, vtkPolyData *polydata, vtkRenderer *renderer) override |
| Update existing actor with new materials. More... | |
| std::string | GetName () const override |
| Get renderer name for logging. More... | |
Public Member Functions inherited from PclUtils::renders::TextureRendererBase | |
| TextureRendererBase ()=default | |
| virtual | ~TextureRendererBase ()=default |
Additional Inherited Members | |
Protected Member Functions inherited from PclUtils::renders::TextureRendererBase | |
| 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... | |
Unified PBR (Physically Based Rendering) renderer.
Uses VTK 9+ PBR rendering pipeline for realistic material rendering. Supports both:
VtkMultiTextureRenderer::ApplyPBRMaterial automatically detects the rendering mode (PBR/TEXTURED/MATERIAL_ONLY) based on material properties and applies accordingly.
Definition at line 30 of file PBRRenderer.h.
| PclUtils::renders::PBRRenderer::PBRRenderer | ( | ) |
Definition at line 27 of file PBRRenderer.cpp.
|
overridedefault |
|
overridevirtual |
Apply rendering to actor.
| actor | VTK actor to render |
| materials | Material set |
| polydata | Polygon data (for texture coordinates) |
| renderer | VTK renderer (for lighting setup) |
Implements PclUtils::renders::TextureRendererBase.
Definition at line 48 of file PBRRenderer.cpp.
References CVLog::Error(), PclUtils::renders::MaterialConverter::FromMaterialSet(), CVLog::PrintDebug(), result, PclUtils::renders::TextureRendererBase::ValidateActor(), and PclUtils::renders::TextureRendererBase::ValidateMaterials().
Referenced by Update().
|
overridevirtual |
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 |
Implements PclUtils::renders::TextureRendererBase.
Definition at line 30 of file PBRRenderer.cpp.
|
overridevirtual |
Get the rendering mode this renderer implements.
Implements PclUtils::renders::TextureRendererBase.
Definition at line 46 of file PBRRenderer.cpp.
References PclUtils::renders::PBR.
|
overridevirtual |
Get renderer name for logging.
Implements PclUtils::renders::TextureRendererBase.
Definition at line 115 of file PBRRenderer.cpp.
|
overridevirtual |
Update existing actor with new materials.
| actor | VTK actor to update |
| materials | Material set |
| polydata | Polygon data |
| renderer | VTK renderer |
Implements PclUtils::renders::TextureRendererBase.
Definition at line 96 of file PBRRenderer.cpp.
References Apply(), PclUtils::renders::TextureRendererBase::ValidateActor(), PclUtils::renders::TextureRendererBase::ValidateMaterials(), and CVLog::Warning().