#include <viewport.h>
ViewPortFilters are post-processes that are applied to the rendered scene before display.
Mudbox first renders the meshes in the scene, then goes through its list of ViewPortFilters. Any filters with visibility turned on are applied to the resulting image, yielding the new image that is displayed. This base class ViewPortFilter does nothing; you must derive new filters from it.
Definition at line 37 of file viewport.h.
Public Types | |
enum | { eNone = 0, eColor = 1, eHDR = 2, eDepth24 = 4, eNormal16 = 16, ePosition32 = 32, eNormalDepth16 = 128, eLinearDepth = 512, eFaceNormal = 1024 } |
typedef int | RequirementValue |
The RequirementValue typedef is used to tell Mudbox what information needs to be calculated at render time so that this ViewPortFilter can work properly. More... | |
Public Types inherited from Node | |
enum | DiagnosticLevel { dgnLevel1, dgnLevel2, dgnLevel3 } |
Indicates the level of validity checking that is performed in CheckValidity() More... | |
Public Member Functions | |
virtual QString | StringID (const ClassDesc *pClass=0) const |
Returns the string id of the viewport filter. It's the same to string id of its class. More... | |
virtual QString | DisplayName (void) const |
Returns the display name of the viewport filter. It's the same to display name of its class. More... | |
virtual void | Initialize (void) |
This is called after construction to initialize internal variables. More... | |
virtual RequirementValue | Requirement (void) const |
Returns a value that indicates what information is required by the ViewPortFilter. More... | |
virtual void | Process (ViewPortState &sState) |
Process the Mudbox view through the ViewPortFilter. More... | |
virtual float | Transparency (void) const |
This method is not used in ViewPortFilters. More... | |
virtual void | SetTransparency (float fTransparency) |
This method is not used in ViewPortFilters. More... | |
virtual Layer * | Children (void) const |
This method is not used in ViewPortFilters. More... | |
virtual Layer * | Next (void) const |
This method is not used in ViewPortFilters. More... | |
virtual Layer * | Prev (void) const |
This method is not used in ViewPortFilters. More... | |
virtual class LayerContainer * | Container (void) const |
This method is not used in ViewPortFilters. More... | |
void | SetVisible (bool bVisible) |
Turns the ViewPortFilter on and off. More... | |
virtual void | LockCalibration (bool bLock) |
This method locks any calibration the ViewPortFilter does. More... | |
bool | CalibrationLocked (void) |
Returns true if the ViewPortFilter calibration is locked. More... | |
Public Member Functions inherited from TreeNode | |
TreeNode (void) | |
~TreeNode (void) | |
virtual void | Serialize (Stream &s) |
Serializes the node. More... | |
virtual void | AddChild (TreeNode *pChild, bool bFirst=false) const |
Adds a node/subtree to the list of children. The added node will be removed from the current parent if it has one. More... | |
virtual void | RemoveChild (TreeNode *pChild) const |
Removes a node/subtree from the list of children. More... | |
virtual TreeNode * | FirstChild (void) const |
Returns the first node from the child list. More... | |
virtual TreeNode * | Parent (void) const |
Returns the parent node. More... | |
virtual TreeNode * | NextSibling (void) const |
Returns the next linked node with the same parent. More... | |
virtual TreeNode * | PrevSibling (void) const |
Returns the previous linked node with the same parent. More... | |
virtual void | MoveChild (TreeNode *pChild, TreeNode *pAfter) |
Moves the child after the given node in order. More... | |
virtual TreeNode * | ChildByClass (const ClassDesc *pClass, bool bAutoCreate=true) const |
Returns the first child with the specified type. When the bAutoCreate parameter is true and such a child does not exists, it creates it with the preferred descedant type. More... | |
template<typename type > | |
type * | ChildByClass (bool bAutoCreate=true) const |
Same as above, a most confortable version. More... | |
virtual TreeNode * | ChildByClass (const ClassDesc *pClass, unsigned int iIndex=0) const |
Returns the first child with the specified type, or returns zero if no child found. More... | |
template<typename type > | |
type * | ChildByClass (unsigned int iIndex=0) const |
Same as above, a most confortable version. More... | |
virtual void | DeleteChildByClass (const ClassDesc *pClass) |
Deletes all child which is derived from a specific class. More... | |
virtual QString | Info (void) const |
Returns descriptive information about the node. More... | |
virtual bool | Visible (void) const |
Returns if the node is visible. Should be overridden in derived classes. More... | |
virtual bool | Locked (void) const |
Returns if the node is locked. Should be overridden in derived classes. More... | |
virtual void | SetLocked (bool b) |
Sets the locking of the node. Should be overridden in derived classes. More... | |
virtual bool | HiddenFromUI (void) const |
Returns true if the node cannot be seen from UI. More... | |
virtual void | SetHiddenFromUI (bool b) |
Sets visibility in UI. More... | |
virtual void | OnLinked (const TreeNode *pOldParent) |
This function is called then the node is linked to a new parent. More... | |
virtual void | CheckValidity (Node::DiagnosticLevel iLevel=dgnLevel2) const |
See the documentation for Node::CheckValidity. More... | |
QString | UniqueChildName (const TreeNode *pChild, const QString &sPrefix="") const |
Finds a node name that is unique among the children of this node. More... | |
virtual void | SetStringID (const QString &sName) |
This method does the same thing as Node::SetStringID, except it ensures the name is unique among this node's siblings. More... | |
virtual void | CopyTo (Node *pNode) const |
Public Member Functions inherited from Node | |
Node (const QString &sStringID="", const QString &sDisplayName="") | |
Standard constructor. More... | |
virtual | ~Node (void) |
void | LoadTemplate (const QString &sFileName="", bool bStartEvent=false) |
Use an external XML file to initialize the attributes. More... | |
void | SaveTemplate (const QString &sFileName="", bool bSaveOnlyVisible=false) |
Save current attributes as an XML template. More... | |
unsigned int | Version (void) const |
Returns the current version of the node. This number increases when the content of the node changed (when ContentChanged() called). More... | |
void | SetVersion (unsigned int iVersion) |
Sets the current version number for the node. More... | |
unsigned int | ReferenceCount (void) const |
Returns the number of pointers referencing this node. More... | |
Attribute * | ReferencePointer (unsigned int iIndex) const |
Returns the address of an attribute which refers to this node. The type of the attribute is always aptr. More... | |
Node * | ReferenceNode (unsigned int iIndex) const |
Returns the address of a node referencing this node. More... | |
virtual QString | Name (const ClassDesc *pClass=0) const |
Deprecated. More... | |
virtual void | SetName (const QString &sName) |
Deprecated. More... | |
virtual void | SetDisplayName (const QString &sDisplayName) |
Sets the display name of the node. More... | |
virtual QString | HelpID (void) const |
Returns the help entry id of the node. Can be overwritten in derived classes. More... | |
virtual void | SetHelpID (const QString &sHelpID) |
Sets the help entry id of the node. More... | |
void | Annex (Node *pSource, const QString &sCategory="") |
Relink all the attributes of the source node to this one. More... | |
bool | IsKindOf (const ClassDesc *pClass) const |
Returns true if this node is derived from the pClass class. More... | |
void | ContentChanged (void) const |
This function must be called if the content of the node is changed. More... | |
virtual Node * | Duplicate (void) const |
virtual void | OnNodeEvent (const Attribute &cAttribute, NodeEventType cType) |
This function is called if an event occurs with any of the attributes of the node. More... | |
virtual void | OnEvent (const EventGate &cEvent) |
This function is called when a generic event occurs. See EventGate class. More... | |
void | RequestDeferredEvent (Attribute &cAttribute) |
Request for a deferred event, which will occur only in the main loop. More... | |
unsigned int | AttributeCount (void) const |
Returns the number of attributes owned by the node. More... | |
Attribute * | AttributeByIndex (int iIndex) const |
Returns a specified attribute (or 0 if iIndex is greater than the number of attributes). More... | |
Attribute * | AttributeByName (const QString &sName) const |
Returns a specified attribute by its name. Returns 0 if the attribute not found. More... | |
Attribute * | AttributeByID (const QString &sID) const |
Returns a specified attribute by its ID. Returns 0 if the attribute not found. More... | |
void | SetAttributeValue (const QString &sAttributeID, const QString &sNewValue) |
Set the value of an attribute from a string. More... | |
QString | AttributeValue (const QString &sAttributeID) const |
Returns the current value of an attribute as a string. More... | |
void | LogAttributes (void) const |
Write all attributes into the log file. More... | |
virtual QWidget * | CreatePropertiesWindow (QWidget *pParent) |
Create a window which displays the attributes of the node. Can be overriden to provide a custom interface. More... | |
Attribute * | AddAttribute (Attribute::AttributeType type, const QString &id) |
Allows SDK users to add attributes at runtime. More... | |
Node * | Next (void) const |
Returns the next node in the chain. Used to enumerate the current nodes. See also First(). More... | |
int | ID (void) const |
Returns an ID for the node. The ID is unique in the whole application life. More... | |
bool | SetID (int iID) |
Set ID for the node. More... | |
Public Attributes | |
class ViewPort * | m_pViewPort |
A pointer to the Viewport containing this ViewPortFilter. More... | |
Public Attributes inherited from TreeNode | |
DECLARE_CLASS | |
Public Attributes inherited from Node | |
AttributeThisPointer | m_pThis |
DECLARE_CLASS | |
Protected Attributes | |
bool | m_bCalibrationLocked |
Additional Inherited Members | |
Static Public Member Functions inherited from Node | |
static void | StartHashing () |
This is called once in main once static ctors are done. More... | |
static Node * | First (void) |
This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next(). More... | |
static Node * | ByID (int iID) |
Returns the node with the specified ID, or zero if such a node does not exists. More... | |
static Node * | ByName (const QString &sClass, const QString &sName) |
Search for a node with the name sName. More... | |
typedef int RequirementValue |
The RequirementValue typedef is used to tell Mudbox what information needs to be calculated at render time so that this ViewPortFilter can work properly.
The elements in this list can be combined with a bitwise or (|) operator. This is used in the Requirements method.
Definition at line 46 of file viewport.h.
anonymous enum |
Enumerator | |
---|---|
eNone | |
eColor | |
eHDR | |
eDepth24 | |
eNormal16 | |
ePosition32 | |
eNormalDepth16 | |
eLinearDepth | |
eFaceNormal |
Definition at line 47 of file viewport.h.
Returns the string id of the viewport filter. It's the same to string id of its class.
Reimplemented from Node.
Returns the display name of the viewport filter. It's the same to display name of its class.
Reimplemented from Node.
This is called after construction to initialize internal variables.
Reimplemented from Node.
|
virtual |
Returns a value that indicates what information is required by the ViewPortFilter.
When you create your own ViewPortFilter, you must override this method. Mudbox only calculates things like depth maps or normal maps when requested, so you must figure out what information is needed as input to your viewport filter, and have this function return the appropriate flags.
|
virtual |
Process the Mudbox view through the ViewPortFilter.
This method does the actual work of filtering the viewport. Derived ViewPortFilters must override it. It takes the information provided in the ViewPortState that is passed in, and puts the resulting (filtered) image in the m_pColor texture of that object. This method must be overridden by derived classes.
[in,out] | sState | The textures used by this filter, and the result |
|
virtual |
This method is not used in ViewPortFilters.
Reimplemented from Layer.
|
virtual |
This method is not used in ViewPortFilters.
Reimplemented from Layer.
This method is not used in ViewPortFilters.
Reimplemented from Layer.
This method is not used in ViewPortFilters.
Reimplemented from Layer.
This method is not used in ViewPortFilters.
Reimplemented from Layer.
|
virtual |
This method is not used in ViewPortFilters.
Reimplemented from Layer.
|
virtual |
Turns the ViewPortFilter on and off.
[in] | bVisible | Set this true to make the filter visible, and false to hide it. |
Reimplemented from TreeNode.
|
virtual |
This method locks any calibration the ViewPortFilter does.
Some kinds of ViewPortFilters do a calibration step as part of the process. For example, all the values produced may be normalized to the range of values currently displayed. This can be a problem when you need to generate multiple images where the calibration must be the same (say, to make a large tiled image, or an animation). Locking calibration tells the ViewPortFilter to leave its calibration values at the current level, rather than recalculating per-frame.
Derived ViewPortFilters probably do not need to override this method, but they should pay attention to the flag. If you do need to override the method, ensure the derived method calls the base method so that the flag will be set properly.
[in] | bLock | Set this true to lock calibration, and false to unlock it |
bool CalibrationLocked | ( | void | ) |
Returns true if the ViewPortFilter calibration is locked.
class ViewPort* m_pViewPort |
A pointer to the Viewport containing this ViewPortFilter.
Definition at line 136 of file viewport.h.
|
protected |
Definition at line 139 of file viewport.h.