Detailed Description
This object is provided as the context object in the Renderer
callbacks for a Plugin-based cus_render Custom Renderer object.
- See also:
-
PluginRegistrar::RegisterRenderer
- Since:
- 6.0
#include <xsi_renderercontext.h>
List of all
members.
Constructor & Destructor Documentation
Constructor.
- Parameters:
-
in_ref |
constant reference object. |
Copy constructor.
- Parameters:
-
in_obj |
constant class object. |
Member Function Documentation
bool IsA |
( |
siClassID |
in_ClassID |
) |
const [virtual] |
Returns true if a given class type is compatible with this API
class.
- Parameters:
-
- Returns:
- true if the class is compatible, false otherwise.
Reimplemented from Context.
Returns the type of the API class.
- Returns:
- The class type.
Reimplemented from Context.
Creates an object from another object.
- Parameters:
-
in_obj |
constant class object. |
- Returns:
- The new
RendererContext object.
Creates an object from a reference object. The newly created
object is set to empty if the input reference object is not
compatible.
- Parameters:
-
in_ref |
constant class object. |
- Returns:
- The new
RendererContext object.
Reimplemented from Context.
Returns the time at which the render process is occurring. The
renderer should use this to set the evaluation time for the scene
data being rendered. In the case of field rendering, or motion
blurring, this time should be used as the base for which to derive
other time stops.
- Returns:
- The time at which the current frame is being rendered.
- Since:
- 6.01
unsigned int GetSequenceIndex |
( |
|
) |
const |
Returns the zero-based index of the frame being rendered within
the rendered sequence. The sequence starts at zero and counts in
ascending order. For single-frame renders, this function always
returns zero. For sequence renders the highest value is always one
less than the return value of
RendererContext::GetSequenceLength.
- Returns:
- The sequence index of the current frame.
- Since:
- 6.01
unsigned int GetSequenceLength |
( |
|
) |
const |
Returns the length of the sequence being rendered. For single
frames, this function always returns 1.
- Returns:
- The number of frames in the sequence currently being
rendered.
- Since:
- 6.01
CStatus ProgressUpdate |
( |
const CString & |
in_strProgressShort, |
|
|
const CString & |
in_strProgressLong, |
|
|
int |
in_iPercentage |
|
) |
|
|
Notifies XSI as to what the current status of the rendering
process is.
- Parameters:
-
in_strProgressShort |
Short progress message (when using the small progress
bar). |
in_strProgressLong |
Longer progress message (when using the big progress bar or the
render viewer). |
in_iPercentage |
The percentage of the job done, if it can be indicated, or
-1 |
- Returns:
-
CStatus::OK
- Since:
- 6.01
CStatus NewFrame |
( |
unsigned int |
in_uiWidth, |
|
|
unsigned int |
in_uiHeight |
|
) |
|
|
Notifies the render manager that a new frame is about to be sent
to whichever render viewer might be listening for frame fragments.
In the case of field rendering, both frames should be sent to the
viewer.
- Parameters:
-
in_uiWidth |
The width of the new frame (needs to be the same as the value
of the ImageWidth context parameter). |
in_uiHeight |
The height of the new frame (needs to be the same as the value
of the ImageHeight context parameter). |
- Returns:
-
CStatus::OK
- Since:
- 6.01
Passes back a new frame fragment to the render manager. See
RenderImageFragment for more details.
- Return values:
-
in_fragment |
The new RenderImageFragment |
- Returns:
-
CStatus::OK
- Since:
- 6.01
Returns the renderer's option property evaluated at a specific
time. Which particular property instance this is, is dependent upon
who triggered the render (pass, region, shaderballs, etc.)
- Parameters:
-
in_rTime |
The time to evaluate the property at. |
- Returns:
- The evaluated renderer option property.
- Since:
- 6.01
Returns the
Framebuffer object whose contents should be sent back as an
image fragment to the render manager via
RendererContext::NewFragment. If the Framebuffer object is not
valid then no fragments are needed for viewing (for example when
doing a command-line render or archive export). The display
framebuffer also dictates the bit depth which the
RenderImageFragment object should return its fragment data as. The
object returned by this function is not guaranteed to be found in
the list of Framebuffer objects returned by GetFramebuffers.
- Returns:
- The
Framebuffer object selected for viewing.
- Since:
- 6.01
Returns all
Framebuffer objects that should be rendered for the current
frame.
- Returns:
- An array of references to
Framebuffer objects.
- Since:
- 6.01
Marks the given object from the dirty list as being clean. This
only affects the next call to the renderer's cb_Renderer_Process
Process callback, if the render got aborted and restarted. It does
not update the copy of the dirty list, retrieved from Context::GetAttribute.
It's up to the caller to ensure they stay synchronised during the
callback.
This call is used to ensure that if the render gets restarted,
for example due to a parameter values change, that the renderer
does not have to re-update its copy of scene data that it considers
'clean'. The dirty list is cleared by Softimage upon the completion
of a successful render.
- Note:
- If the renderer gets called with a 'full' list (i.e. the
"DirtyList" attribute is not defined), then the renderer should
call this with an empty
CRef object once the scene has been syncrhonised. Any attempts
to clear out individual items with a "full" list will otherwise
result in a "full" list still being given on next render. It is up
to the renderer in this case to keep a map of which objects it has
synchronised with, perhaps using the "RenderID" attribute to
associate a synchronisation map with the current render.
- Note:
- If an object was changed by the user during the Process
callback, it will show up in the next call, whether it got marked
clean or not.
- Parameters:
-
in_ref |
The object to mark as clean and remove from the dirty list for
the next call to the cb_Renderer_Process Process callback. |
- Since:
- 9.0 (2011)
The documentation for this class was generated from the following
file: