![]() |
RenderMan
26.0
|
Deprecated. More...
#include <RixInterfaces.h>
Inherits RixInterface.
Classes | |
class | SimpleStat |
Add a generic statistic via a subclass of the SimpleStat class interface. More... | |
Public Types | |
typedef void(* | Reporter )(class RixXmlFile *file) |
A reporting function takes a RixXmlFile and writes to it using WriteXml and WriteText. More... | |
typedef void(* | ReporterCtx )(void *ctx, class RixXmlFile *) |
enum | Type { k_Float, k_Integer, k_StringV, k_Color, k_Normal, k_Vector, k_Point, k_HPoint, k_MPoint, k_Matrix } |
Public Member Functions | |
virtual void | AddTimerStat (float *seconds, const char *name, const char *description)=0 |
Add a timer statistic, which is simply a pointer to a float into which the plugin has accumulated timing information (in seconds). More... | |
virtual int | AddSimpleStat (SimpleStat *)=0 |
virtual void | AddMemoryStat (size_t *bytes, const char *name, const char *description)=0 |
Add a memory statistic, which is simply a pointer to a size_t into which the plugin has accumulated memory usage information (in bytes). More... | |
virtual void | AddReporter (Reporter func)=0 |
Register a statistics reporter, which is called at the end of each frame after built-in statistics are reported (if statistics are enabled). More... | |
virtual void | AddReporterCtx (ReporterCtx func, void *ctx)=0 |
virtual void | AddFileLogStat (const char *fileName, const char *path)=0 |
Add a file to the fileLog statistic. More... | |
virtual int | GetVersion () const |
Get the version number of this interface. More... | |
Protected Member Functions | |
RixStats () | |
Constructor is for internal use only. More... | |
Protected Attributes | |
int | m_version |
Version number of this interface. More... | |
Deprecated.
Interface for including user statistics in XML file. Thread safe.
Plugins can report elapsed time and peak memory usage statistics via AddTimerStat and AddMemoryStat. Other user-defined statistics can be reported via AddReporter. If statistics are enabled, plugin statistics are reported at the end of each frame, after the built-in statistics are reported.
Note that shader plugins must take care to ensure thread safety when recording statistics in global variables. Controlling access with a mutex is straightforward. Alternatively, statistics can be recorded in per-thread data and then combined at the end of a frame.
typedef void(* RixStats::Reporter)(class RixXmlFile *file) |
A reporting function takes a RixXmlFile and writes to it using WriteXml and WriteText.
typedef void(* RixStats::ReporterCtx)(void *ctx, class RixXmlFile *) |
|
inherited |
|
inlineprotected |
Constructor is for internal use only.
|
pure virtual |
Add a file to the fileLog statistic.
This filename will be copied and reported alongside all the other files in the fileLog. By convention // is used to distinguish the search path from the absolute path of the filename being logged.
|
pure virtual |
Add a memory statistic, which is simply a pointer to a size_t into which the plugin has accumulated memory usage information (in bytes).
The name must be a valid XML token; the description may be empty. A duplicate call with the same name as a previously added statistic is ignored (a warning is generated if a different pointer is specified). The name and description are copied.
|
pure virtual |
Register a statistics reporter, which is called at the end of each frame after built-in statistics are reported (if statistics are enabled).
Duplicate calls with the same reporter are ignored. Here is an example of a simple reporting function:
|
pure virtual |
|
pure virtual |
|
pure virtual |
Add a timer statistic, which is simply a pointer to a float into which the plugin has accumulated timing information (in seconds).
The name must be a valid XML token; the description may be empty. A duplicate call with the same name as a previously added statistic is ignored (a warning is generated if a different pointer is specified). The name and description are copied.
|
inlinevirtualinherited |
Get the version number of this interface.
Different interfaces might have different version numbers in a given release.
References RixInterface::m_version.
|
protectedinherited |
Version number of this interface.
Referenced by RixInterface::GetVersion().