3ds Max C++ API Reference
IRenderView2 Class Referenceabstract

IRenderView2 provide the access to IFixedViewportPipeline with which 3rd party developer can add some extended behavior to the fixed render pipeline. More...

#include <IRenderView2.h>

+ Inheritance diagram for IRenderView2:

Public Member Functions

virtual bool SetOverrideViewGraph (FragmentGraph *pGraph)=0
 Set the override view fragment graph for the current viewport. More...
 
virtual FragmentGraphGetOverrideViewGraph () const =0
 Get the override view fragment graph for the current viewport. More...
 
virtual IFixedViewportPipelineGetFixedViewportPipeline ()=0
 Get the fixed viewport render pipeline instance for the current viewport. More...
 
- Public Member Functions inherited from IRenderView
virtual bool LoadXML (const MCHAR *fileName)=0
 Load the view fragment graph from a specified xml file. More...
 
virtual bool UnloadXML ()=0
 Unload the view fragment graph. More...
 
virtual bool SaveXML (const MCHAR *fileName)=0
 Save the view fragment graph to a specified xml file. More...
 
virtual void SetViewSize (const size_t width, const size_t height)=0
 Set the render view's width and height. More...
 
virtual size_t GetViewWidth () const =0
 Get the render view's width. More...
 
virtual size_t GetViewHeight () const =0
 Get the render view's height. More...
 
virtual void SetRenderRegion (const RenderRegion &renderRegion)=0
 Set the render region of the render view. More...
 
virtual const RenderRegionGetRenderRegion () const =0
 Get the render region of the render view. More...
 
- Public Member Functions inherited from IView
virtual MaxSDK::Graphics::RefObjectPtr GetViewAttachment (const MSTR &name)=0
 Try to get a view attachment from the view. More...
 
virtual void SetViewAttachment (const MSTR &name, const MaxSDK::Graphics::RefObjectPtr &pAttachment)=0
 Assign a view attachment with a given name to the view. More...
 
- Public Member Functions inherited from ARefObject
GraphicsUtilityAPI ARefObject ()
 
virtual GraphicsUtilityAPI long AddRef ()
 from IRefObject, see comments in IRefObject More...
 
virtual GraphicsUtilityAPI long Release ()
 decrease reference count of this object by one, if the decreased reference count equals zero, the object will be deleted. More...
 
GraphicsUtilityAPI IRefObjectQueryInterface (Interface_ID classID)
 Try query an interface from the ref object using a given interface id. More...
 
- Public Member Functions inherited from IRefObject
GraphicsUtilityAPI IRefObject ()
 
virtual GraphicsUtilityAPI ~IRefObject ()
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 
- Protected Member Functions inherited from ARefObject
virtual GraphicsUtilityAPI void DeleteThis ()
 This function will be called when the reference count of an ARefObject equals zero. More...
 
virtual GraphicsUtilityAPI ~ARefObject ()
 

Detailed Description

IRenderView2 provide the access to IFixedViewportPipeline with which 3rd party developer can add some extended behavior to the fixed render pipeline.

For e.g.,
developer may specify their own background fragment, shading fragment for the viewport. Even developer can override the current view whole fragment graph with a customized fragment graph. To get access to a IRenderView2 instance, please use ViewExp18::GetRenderView().

ViewExp18& viewExp18 = static_cast<ViewExp18&>(GetCOREInterface7()->getViewExp(0));
IRenderView2* pRenderView = viewExp18.GetRenderView();
virtual ViewExp & getViewExp(int i)=0
Extends ViewExp13.
Definition: maxapi.h:1730
virtual MaxSDK::Graphics::IRenderView2 * GetRenderView()=0
Get access to a nitrous render view instance.
CoreExport Interface7 * GetCOREInterface7()
See also
class ViewExp18

Member Function Documentation

◆ SetOverrideViewGraph()

virtual bool SetOverrideViewGraph ( FragmentGraph pGraph)
pure virtual

Set the override view fragment graph for the current viewport.

Parameters
[in]pGraphwhen pGraph is a non-null-pointer, it will override the default fragment graph or an existing override graph of the render view. When pGraph is a null-pointer, the render view will restore the default fragment graph.
Returns
true if a new override graph is assigned to the render view or the render view succeed to restore the default fragment graph. Or false otherwise.
Note
the override graph must have at least one output(with output index 0) whose type id must be PresentableTargetHandle::ClassID(). Or false would be returned.

◆ GetOverrideViewGraph()

virtual FragmentGraph* GetOverrideViewGraph ( ) const
pure virtual

Get the override view fragment graph for the current viewport.

◆ GetFixedViewportPipeline()

virtual IFixedViewportPipeline* GetFixedViewportPipeline ( )
pure virtual

Get the fixed viewport render pipeline instance for the current viewport.

Note
use IFixedViewportPipeline to add extended fragments to the current viewport render pipeline.
See also
class IFixedViewportPipeline