# RenderPipeline class

Namespace: [Rhino.Render](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.render.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public abstract class RenderPipeline : IDisposable
```

Provides facilities to a render plug-in for integrating with the standard Rhino render window. Also adds helper functions for processing a render scene. This is the suggested class to use when integrating a renderer with Rhino and maintaining a "standard" user interface that users will expect.

## Constructors

- [RenderPipeline](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/ctor.md): (2 overloads) Constructs a subclass of this object on the stack in your Rhino plug-in's Render() or RenderWindow() implementation. This constructor should be used when a non-blocking RenderWindow is required. Note that the asynchronous render context will not be used when mode is Scripted.

## Finalizer

- [~RenderPipeline](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/finalize.md)

## Properties

- [ConfirmationSeconds](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/confirmationseconds.md): Sets the number of seconds that need to elapse during rendering before the user is asked if the rendered image should be saved.
- [PlugIn](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/plugin.md)
- [RenderSessionId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/rendersessionid.md): Get the Id associated with this render session, this is useful when looking up Rhino.Render.RenderPanels.

## Methods

- [AddLightToScene](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/addlighttoscene.md)
- [AddRenderMeshToScene](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/addrendermeshtoscene.md)
- [CloseWindow](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/closewindow.md): Closes the render window associated with this render instance.
- [CommandResult](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/commandresult.md)
- [ContinueModal](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/continuemodal.md): Frequently called during a rendering by the frame work in order to determine if the rendering should continue.
- [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/dispose.md): (2 overloads)
- [GetRenderWindow](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/getrenderwindow.md): (5 overloads) Get the RenderWindow associated with this RenderPipeline instance. This is virtual rather than abstract for V5 compat
- [GetRenderWindowFromRenderViewSource](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/getrenderwindowfromrenderviewsource.md): Like GetRenderWindow(), but with the size for RenderWindow set from RenderViewSources if fromRenderViewSource is set to true
- [IgnoreRhinoObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/ignorerhinoobject.md)
- [LocalizeRenderReturnCode](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/localizerenderreturncode.md): (static)
- [NeedToProcessGeometryTable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/needtoprocessgeometrytable.md)
- [NeedToProcessLightTable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/needtoprocesslighttable.md)
- [OnRenderBegin](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/onrenderbegin.md): Called by the framework when it is time to start rendering, the render window will be created at this point and it is safe to start
- [OnRenderBeginQuiet](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/onrenderbeginquiet.md): Called by the framework when it is time to start rendering quietly, there is no user interface when rendering in this mode and the default post process effects will get applied to the scene when the rendering is complete.
- [OnRenderEnd](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/onrenderend.md): Called by the framework when the user closes the render window or clicks on the stop button in the render window.
- [OnRenderWindowBegin](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/onrenderwindowbegin.md)
- [PauseRendering](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/pauserendering.md): Implement to pause the current render session
- [Render](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/render.md): Call this function to render the scene normally. The function returns when rendering is complete (or cancelled).
- [RenderEnterModalLoop](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/renderentermodalloop.md)
- [RenderExitModalLoop](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/renderexitmodalloop.md)
- [RenderPreCreateWindow](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/renderprecreatewindow.md)
- [RenderSceneWithNoMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/renderscenewithnomeshes.md)
- [RenderSize](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/rendersize.md): (3 overloads, static)
- [RenderWindow](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/renderwindow.md): Call this function to render the scene in a view window. The function returns when rendering is complete (or cancelled).
- [ResumeRendering](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/resumerendering.md): Implement to resume current render session
- [SaveImage](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/saveimage.md): Saves the rendered image to a file. Does not prompt the user in any way.
- [SetAsyncRenderContext](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/setasyncrendercontext.md)
- [SupportsPause](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.renderpipeline/supportspause.md): Override and return true if the renderer supports pausing
