RenderPlugIn
A Rhino rendering plugin; applies materials, textures, and lights to a scene to produce rendered images.
Inheritance Hierarchy
System.Object
Rhino.PlugIns.PlugIn
Rhino.PlugIns.RenderPlugIn
Namespace: Rhino.PlugIns
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
public abstract class RenderPlugIn : PlugIn
The RenderPlugIn type exposes the following members.
Constructors
Name
Description
Protected Method
RenderPlugIn
Initializes a new instance of the RenderPlugIn class
Properties
Name
Description
Public Property
AddToHelpMenu
Called by Rhino to determine if the plug-in name should be added to the Rhino Help/Plug-ins menu.
(Inherited from PlugIn.)
Public Property
Assembly
Source assembly for this plug-in.
(Inherited from PlugIn.)
Public Property
Description
Returns the description of the plug-in, as found in the plug-in’s assembly attributes.
(Inherited from PlugIn.)
Public Property
Id
Returns the Guid, or unique Id, of the plug-in.
(Inherited from PlugIn.)
Protected property
InitialChannelToDisplay
Public Property
LicenseId
(Inherited from PlugIn.)
Public Property
LoadAtStartup
Obsolete. (Inherited from PlugIn.)
Public Property
LoadTime
Plug-ins are typically loaded on demand when they are first needed. You can change this behavior to load the plug-in at during different stages in time by overriding this property.
(Inherited from PlugIn.)
Protected property
LocalPlugInName
Optionally override this to provide a localized plug-in name
(Inherited from PlugIn.)
Public Property
Name
Returns the name of the plug-in, as found in the plug-in’s assembly attributes.
(Inherited from PlugIn.)
Public Property
PerferBasicContent
Set to true if you would like Rhino to quickly create a basic render content in response to ‘Create New’ commands. Set to false if you would prefer Rhino to display the render content chooser dialog.
Public Property
Settings
Persistent plug-in settings.
(Inherited from PlugIn.)
Public Property
SettingsDirectory
Get the plug-in’s settings directory. This is the directory where the plug-in’s persistent settings files are saved. This directory will be located in the user’s profile folder. Note, this does not verify the directory exists.
(Inherited from PlugIn.)
Public Property
SettingsDirectoryAllUsers
Get the plug-in’s “all users” settings directory. This directory will be located in the system’s program data folder. Note, this does not verify the directory exists.
(Inherited from PlugIn.)
Protected property
SupportedChannels
Override to communicate that the renderer supports more channels beside the default channels RGBA, Depth, Normal, Albedo. See RenderWindow.StandardChannels. RenderWindow.ChannelId can be used to get the GUIDs for the channels to support
Protected property
SupportsEditProperties
Override this property and return true if your plug-in supports decals and overrides
ShowDecalProperties(List.NamedValue..)
Public Property
Version
Returns the version of the plug-in, as found in the plug-in’s assembly attributes.
(Inherited from PlugIn.)
Public Property
WindowPositionSettings
(Inherited from PlugIn.)
Methods
Name
Description
Protected Method
AllowChooseContent
Default implementation returns true which means the content can be picked from the content browser by the user. Override this method and return false if you don’t want to allow a certain content contentType to be picked from the content browser while your render engine is current.
Protected Method
AskUserForLicense
(Inherited from PlugIn.)
Public Method
CommandSettings
(Inherited from PlugIn.)
Protected Method
CreateCommands
Called right after plug-in is created and is responsible for creating all of the commands in a given plug-in. The base class implementation Constructs an instance of every publicly exported command class in your plug-in’s assembly.
(Inherited from PlugIn.)
Protected Method
CreatePreview
Creates the preview bitmap that will appear in the content editor’s thumbnail display when previewing materials and environments. If this function is not overridden or the PreviewImage is not set on the arguments, then the internal OpenGL renderer will generate a simulation of the content. This function is called with four different preview quality settings. The first quality level of RealtimeQuick is called on the main thread and needs to be drawn as fast as possible. This function is called with the other three quality settings on a separate thread and are meant for generating progressively refined preview.
Protected Method
CreateTexture2dPreview
Creates the preview bitmap that will appear in the content editor’s thumbnail display when previewing textures in 2d (UV) mode. If this function is not overridden or the PreviewImage is not set on the arguments, then the internal OpenGL renderer will generate a simulation.
Public Method
Static Member
CurrentRendererSupportsFeature
Protected Method
CustomChannelName
Return the localized name of your custom channel.
Public Method
DisplayHelp
Called by Rhino if AddToHelpMenu is true and menu item associated with this plug-in is selected.
(Inherited from PlugIn.)
Protected Method
DocumentPropertiesDialogPages
Override this function if you want to extend the document properties sections of the options dialog. This function is called whenever the user brings up the Options dialog.
(Inherited from PlugIn.)
Public Method
EnableAssignMaterialButton
Called to enable/disable the “Material” button located on the “Material” tab in the Properties and Layer dialog boxes. The default return value is false which will disable the button. If the button is disabled then the OnAssignMaterial function is never called.
Public Method
EnableCreateMaterialButton
Called to enable/disable the “New” button located on the “Material” in the Properties and Layer dialog boxes. The default return value is false which will disable the button. If the button is disabled then the OnEditMaterial function is never called.
Public Method
EnableEditMaterialButton
Called to enable/disable the “Edit” button located on the “Material” in the Properties and Layer dialog boxes. The default return value is false which will disable the button. If the button is disabled then the OnEditMaterial function is never called.
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected Method
Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public Method
GetCommands
All of the commands associated with this plug-in.
(Inherited from PlugIn.)
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected Method
GetLicense(LicenseBuildType, ValidateProductKeyDelegate, OnLeaseChangedDelegate)
Verifies that there is a valid product license for your plug-in, using the Rhino licensing system. If the plug-in is installed as a standalone node, the locally installed license will be validated. If the plug-in is installed as a network node, a loaner license will be requested by the system’s assigned Zoo server. If the Zoo server finds and returns a license, then this license will be validated. If no license is found, then the user will be prompted to provide a license key, which will be validated.
(Inherited from PlugIn.)
Protected Method
GetLicense(LicenseCapabilities, String, ValidateProductKeyDelegate, OnLeaseChangedDelegate)
Verifies that there is a valid product license for your plug-in, using the Rhino licensing system. If the plug-in is installed as a standalone node, the locally installed license will be validated. If the plug-in is installed as a network node, a loaner license will be requested by the system’s assigned Zoo server. If the Zoo server finds and returns a license, then this license will be validated. If no license is found, then the user will be prompted to provide a license key, which will be validated.
(Inherited from PlugIn.)
Protected Method
GetLicenseOwner
Get the customer name and organization used when entering the product license.
(Inherited from PlugIn.)
Public Method
GetPlugInObject
(Inherited from PlugIn.)
Public Method
GetRenderSettingsSections
This function returns a list of Guids for the render settings pages that should be displayed.
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
Icon
Returns the plug-in’s icon in bitmap form.
(Inherited from PlugIn.)
Protected Method
InitializeDecalProperties
Initialize your custom decal properties here. The input list will be empty - add your default named property values and return.
Public Method
IsTextureSupported
Returns true if this renderer can render the texture natively without needing it to be baked into a bitmap, false otherwise. By default, returns false for all textures.
(Inherited from PlugIn.)
Protected Method
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected Method
ObjectPropertiesPages(List.ObjectPropertiesPage.)
Obsolete.
Override this function is you want to extend the object properties dialog
(Inherited from PlugIn.)
Protected Method
ObjectPropertiesPages(ObjectPropertiesPageCollection)
Override this function is you want to extend the object properties dialog. This method will be called each time a new document is created for each instance of a object properties panel. On Windows there will be a single panel per document but on Mac there may be many properties panel per document.
(Inherited from PlugIn.)
Public Method
OnAssignMaterial
This function is called by the Object Properties and Layer Control dialogs when the “Material” button is pressed in the “Render” tab. This is only called if EnableAssignMaterialButton returns true.
Public Method
OnCreateMaterial
This function is called by the Object Properties and Layer Control dialogs when the “New” button is pressed in the “Material” tab. This is only called if EnableCreateMaterialButton returns true.
Public Method
OnEditMaterial
This function is called by the Object Properties and Layer Control dialogs when the “Edit” button is pressed in the “Material” tab. This is only called if EnableEditMaterialButton returns true. A return value of true means the material has been updated.
Protected Method
OnLoad
Is called when the plug-in is being loaded.
(Inherited from PlugIn.)
Protected Method
OnSetCurrent
This plug-in (has become)/(is no longer) the current render plug-in
Protected Method
OnShutdown
(Inherited from PlugIn.)
Protected Method
OptionsDialogPages
Override this function if you want to extend the options dialog. This function is called whenever the user brings up the Options dialog.
(Inherited from PlugIn.)
Protected Method
PreviewRenderType
Tell what kind of preview rendering your renderer supports.
Protected Method
ReadDocument
Called whenever a Rhino document is being loaded and plug-in user data was encountered written by a plug-in with this plug-in’s GUID.
(Inherited from PlugIn.)
Protected Method
RegisterCommand
(Inherited from PlugIn.)
Protected Method
RegisterCustomRenderSaveFileTypes
Override this method to add custom file types to the render window save file dialog.
Protected Method
RegisterRenderPanels
Override this method and call
RegisterPanel(PlugIn, RenderPanelType, Type, String, Boolean, Boolean)
to add custom render UI to the render output window.Protected Method
RegisterRenderTabs
Override this method and call
RegisterTab(PlugIn, Type, Guid, String, Icon)
to add custom tabs to the render output windowProtected Method
Render
Called by Render and RenderPreview commands if this plug-in is set as the default render engine.
Protected Method
RenderContentSerializers
Called by Rhino when it is time to register RenderContentSerializer derived classes. Override this method and return an array of an instance of each serialize custom content object you wish to add.
Protected Method
RenderOptionsDialogPage
Override this method to replace the render properties page in the Rhino document properties dialog. The default implementation returns null which means just use the default Rhino page.
Public Method
RenderSettingsCustomSections
Override this function to provide custom sections for the render settings panel that are displayed when your plug-in is the current render plug-in.
Protected Method
RenderSettingsSections
Override this method to provide the UUIDs of all sections that should be displayed in the Render Settings tab when this is the current renderer.The default implementation adds all the RDK’s built-in Render Settings sections. These UUIDs start with the prefix uuidRenderSettingsSection’. They can be found in RhRdkUuids.h
Protected Method
RenderWindow(RhinoDoc, RunMode, Boolean, RhinoView, Rectangle, Boolean)
This function is obsolete and only exists for legacy purposes. Do not override this function - prefer overriding the version with the blowup parameter.
Protected Method
RenderWindow(RhinoDoc, RunMode, Boolean, RhinoView, Rectangle, Boolean, Boolean)
Protected Method
ResetMessageBoxes
(Inherited from PlugIn.)
Protected Method
ReturnLicense
Returns, or releases, a product license that was obtained from the Rhino licensing system. Note, most plug-ins do not need to call this as the Rhino licensing system will return all licenses when Rhino shuts down.
(Inherited from PlugIn.)
Public Method
SaveSettings
Write settings to disk which will raise a
SettingsSaved
event.(Inherited from PlugIn.)
Protected Method
SetLicenseCapabilities
(Inherited from PlugIn.)
Protected Method
ShouldCallWriteDocument
Called whenever a Rhino is about to save a .3dm file. If you want to save plug-in document data when a model is saved in a version 5 .3dm file, then you must override this function to return true and you must override WriteDocument().
(Inherited from PlugIn.)
Protected Method
ShowDecalProperties
Override this function to handle showing a modal dialog with your plug-in’s custom decal properties. You will be passed the current properties for the object being edited. The defaults will be set in InitializeDecalProperties.
Public Method
SunCustomSections
Override this function to provide custom sections for the sun panel that are displayed when your plug-in is the current render plug-in.
Protected Method
SupportedOutputTypes
Returns a list of output types which your renderer can write.
The default implementation returns BMP, JPG, PNG, TIF, TGA, HDR, EXR and RIMAGE.
Protected Method
SupportsFeature
Determines if your renderer supports a specific feature.
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected Method
UiContentTypes
Override this method to provide the UUIDs of all content types that should be presented to the user in the types combo box or the[+] button types menu.The default implementation adds only RDK’s built-in types. Rhino automatically adds types in the most efficient way to minimize the list length. If you override this method, you may call the base class first to add the built-in types, a separator will be inserted at the end of the standard list followed by your own types. You may omit the base class call and only chosen types yourself, followed by a separator and your own types. A ‘More Types…’ item is automatically added when needed by Rhino. Specify a separator by adding uuidUiContentType_Separator.
Protected Method
WriteDocument
Called when Rhino is saving a .3dm file to allow the plug-in to save document user data.
(Inherited from PlugIn.)
Events
Name
Description
Public Event
SettingsSaved
This event is raised when an instance of Rhino has modified the external settings file associated with this plug-in’s
Settings
property.(Inherited from PlugIn.)