| public |
Inheritance Graph
graph BT
BudgetRenderer
BudgetRenderer --> NodeRendererState
click BudgetRenderer "classMinSG_1_1SVS_1_1BudgetRenderer"
click NodeRendererState "classMinSG_1_1NodeRendererState"
Description
Budget rendering.
State to perform budget rendering. It collects the GeometryNodes that are going through a rendering channel. When it is deactivated, it displays the most important objects while keeping a budget. To perform the budget rendering, an instance of the 0-1 knapsack problem has to be solved. A greedy approximation is used to achieve this. The objects are sorted by the ratio of their primitive count divided by their projected size. Beginning with the lowest ratio, the objects are displayed iteratively until the budget has been reached. If an object has an attribute containing the projected size (see projectedSizeId ), the minimum of the calculated projected size and the attribute’s value is used for the ratio calculation. The attribute can be set by other renderers to influence the importance of objects.
Author: Benjamin Eikel
Date: 2013-07-23
Public Static Attributes
| const Util::StringIdentifier | projectedSizeId Identifier of a node attribute containing the projected size. |
Protected Functions
| stateResult_t | doEnableState( FrameContext & context, Node * node, const RenderParam & rp) Clear the set of collected nodes. |
| void | doDisableState( FrameContext & context, Node * node, const RenderParam & rp) Display a subset of the collected nodes. |
Public Functions
| BudgetRenderer() | |
| BudgetRenderer * | clone() const Create a duplicate of this State object. |
| uint32_t | getBudget() const |
| void | setBudget(uint32_t newBudget) Set the budget as number of primitives to render at most. |
Documentation
variable
MinSG::SVS::BudgetRenderer::projectedSizeId
| public | static |
| const Util::StringIdentifier projectedSizeId |
Identifier of a node attribute containing the projected size.
Defined in MinSG/Ext/SVS/BudgetRenderer.h:82
function
MinSG::SVS::BudgetRenderer::doEnableState
| protected | virtual |
| stateResult_t doEnableState( | FrameContext & | context, |
| Node * | node, | |
| const RenderParam & | rp | |
| ) |
Clear the set of collected nodes.
Defined in MinSG/Ext/SVS/BudgetRenderer.h:63
function
MinSG::SVS::BudgetRenderer::doDisableState
| protected | virtual |
| void doDisableState( | FrameContext & | context, |
| Node * | node, | |
| const RenderParam & | rp | |
| ) |
Display a subset of the collected nodes.
Defined in MinSG/Ext/SVS/BudgetRenderer.h:66
function
MinSG::SVS::BudgetRenderer::BudgetRenderer
| public |
| BudgetRenderer( | ) |
Defined in MinSG/Ext/SVS/BudgetRenderer.h:69
function
MinSG::SVS::BudgetRenderer::clone
| public | const | virtual |
| BudgetRenderer * clone( | ) const |
Create a duplicate of this State object.
Defined in MinSG/Ext/SVS/BudgetRenderer.h:71
function
MinSG::SVS::BudgetRenderer::getBudget
| public | const | inline |
| uint32_t getBudget( | ) const |
Defined in MinSG/Ext/SVS/BudgetRenderer.h:73
function
MinSG::SVS::BudgetRenderer::setBudget
| public | inline |
| void setBudget( | uint32_t | newBudget ) |
Set the budget as number of primitives to render at most.
Defined in MinSG/Ext/SVS/BudgetRenderer.h:77