Add a clipping plane to be used during the drawing of this frame
Returns: index for the added clipping plane
If Rhino is using OpenGL for display, this function will return major.minor version of OpenGL available for this instance of Rhino
Returns: major version * 10 + minor version For example, OpenGL 4.5 returns 45
Fill the frame buffer with a single color. This function also clears the depth buffer for engines that support depth buffered drawing.
Clones the pipeline. Creates an identical copy of "this" pipeline. Copies all conduits from "this" pipeline to the new pipeline.
Returns: The newly cloned pipeline if successful, null otherwise. or failed to close.
Closes the pipeline.
Returns: True if the pipeline was closed, false if it was already closed or failed to close.
Returns a value indicating if only points on the side of the surface that face the camera are displayed.
Returns: true if back faces of surface and mesh control polygons are culled. This value is determined by the _CullControlPolygon command.
Draws a line whose coordinates are viewport pixels rather than world units. The origin is the top left of the frame, with y increasing downwards - the same space Draw2dText and DrawBitmap work in.
Draws a line whose coordinates are viewport pixels rather than world units. The origin is the top left of the frame, with y increasing downwards - the same space Draw2dText and DrawBitmap work in.
Draws a polyline whose coordinates are viewport pixels rather than world units. The origin is the top left of the frame, with y increasing downwards - the same space Draw2dText and DrawBitmap work in.
Draws a polyline whose coordinates are viewport pixels rather than world units. The origin is the top left of the frame, with y increasing downwards - the same space Draw2dText and DrawBitmap work in.
Draws 2D text on the viewport.
Draws 2D text on the viewport.
Draws 2D text on the viewport.
Draws 2D text on the viewport.
Draws 2D text on the viewport.
Draws 2D text on the viewport.
Draws 2D text on the viewport.
Draws 2D text on the viewport.
Draws 3d text with a different plane than what is defined in the Text3d class.
Draws 3d text using the Text3d plane with an adjusted origin.
Draws a point in style used during "GetPoint" operations
Draws an annotation geometry while evaluating any embedded text fields (e.g. %<Date>%, %<DocumentText("...")>%) against the supplied parent
RhinoObject. Intended for preview conduits that draw a modified copy of an annotation's geometry while the user is editing it — the regular geometry-only overload skips field evaluation because it has no display cache to anchor to.
Draw a single arc object.
Draw a single arc object.
Draws a single arrow object. An arrow consists of a Shaft and an Arrow head at the end of the shaft.
Draws a single arrow object. An arrow consists of a Shaft and an Arrow head at the end of the shaft.
Draw a Grasshopper 2 style vector arrow. This method is relatively slow as it requires the construction of a DisplayPen and a PolylineCurve. However it is more accurate than other arrow drawing methods in that the tip of the drawn arrow is very close to the actual end of the line, the tip is always sharp, and the arrow head is resized to never be too small or large. Also note this method already takes into account logical pixel scaling.
Draws a single arrow head.
Draws a collection of arrow objects. An arrow consists of a Shaft and an Arrow head at the end of the shaft.
Draws a collection of arrow objects. An arrow consists of a Shaft and an Arrow head at the end of the shaft.
Draws a bitmap in screen coordinates, scaled to fit the given size.
Draws a bitmap in screen coordinates
Draws the edges of a BoundingBox.
Draws the edges of a BoundingBox.
Draws the edges of a Box object.
Draws the edges of a Box object.
Draws corner widgets of a world aligned bounding box.
Draws corner widgets of a world aligned bounding box.
Draws corner widgets of a world aligned bounding box. Widget size will be 5% of the Box diagonal.
Draws a shaded mesh representation of a brep.
Draws all the wireframe curves of a brep object.
Draws all the wireframe curves of a brep object in the color provided.
Draws all the wireframe curves of a brep object with the color(s) defined by the display mode.
Draw a single circle object.
Draw a single circle object.
Draws a construction plane.
Draw a typical Rhino Curvature Graph.
Draw a typical Rhino Curvature Graph.
Draw a typical Rhino Curvature Graph.
Draws a Brep in Curvature Analysis preview.
Draws a Mesh in Curvature Analysis preview.
Draw a single Curve object.
Draw a single Curve object.
Draw a wireframe cylinder.
Draw a wireframe cylinder.
Draws a text dot in screen coordinates.
Draws a text dot in screen coordinates.
Draw a text dot in world coordinates.
Draws a text dot in world coordinates.
Draw a text dot as defined by the text dot class
Draws a single dotted line.
Draws a single dotted line.
Draws a set of connected lines (polyline) in a dotted pattern (0x00001111).
Draws a Brep in Draft Angle preview.
Draws a Mesh in Draft Angle preview.
Draw inference point used in gesture based snapping
Draws a Brep in Environment Map preview with a texture of your own, instead of the one in
EmapAnalysisSettings.
Draws a Brep in Environment Map preview.
Draws a Mesh in Environment Map preview with a texture of your own, instead of the one in
EmapAnalysisSettings.
Draws a Mesh in Environment Map preview.
Draws all the wireframe curves of an extrusion object.
Draws all the wireframe curves of an extrusion object.
Draw a two point gradient filled hatch
Draw an inference line used in gesture based snapping
Draws a single line object.
Draws a single line object.
Draws a single line object.
Draws a single line object.
Draws an arrow made up of three line segments.
Draws a single line object .This version of line drawing will draw the segments of the line that extend beyond the near and far planes of the view frustum with depths on those planes
Draws a set of lines with a given color and thickness. If you want the fastest possible set of lines to be drawn, pass a Line[] for lines.
Draws a set of lines with a given color and thickness. If you want the fastest possible set of lines to be drawn, pass a Line[] for lines.
Draws a multiple lines. This version of line drawing will draw the segments of the line that extend beyond the near and far planes of the view frustum with depths on those planes
Draws an arrow marker as a view-aligned widget.
Draws an arrow marker as a view-aligned widget.
Draws an arrow marker as a view-aligned widget.
Draws an arrow marker as a view-aligned widget.
Draws a batch of meshes with the Grasshopper 2 ("G2") shaded display: a gradient-shaded look driven by a
GrasshopperDisplayMaterial — a diffuse colour plus optional striping, stippling and dark-area desaturation — rather than a full
DisplayMaterial. The whole batch is uploaded as one combined GPU buffer and shares one material; for per-mesh settings, call once per mesh instead.
Draws the mesh faces as false color patches. The mesh must have Vertex Colors defined for this to work.
Draws shaded mesh with isodraw settings applied (zebra)
Draws the shaded faces of a given mesh.
Draws the shaded faces of a given mesh.
Draws the shaded faces of a given mesh.
Draws all the vertices in a given mesh.
Draws all the wires in a given mesh.
Draws all the wires in a given mesh.
Draws a single line with specified pattern.
Draws a single line with specified pattern.
Draws a set of connected lines (polyline) with specified pattern.
Draws a point with a given radius, style and color.
Draws a point with a given radius, style and color.
Draws a point with a given radius, style and color.
Draws a point using the current display attribute size, style and color
Draw a set of points with a given radius, style and color.
Draw a set of points with a given radius, style and color.
Draws a filled, convex polygon from a collection of points.
Draws a single Polyline object.
Draws a single Polyline object.
Draw screen oriented image centered at 2d screen location
Draws the viewport as seen from the left and the right eye viewports and returns the result as OpenGL texture handles.
Returns: true if drawing succeeded, false otherwise.
Draw a shaded mesh representation of a SubD
Draws all the wireframe curves of a SubD object
Draws all the wireframe curves os a SubD object using different pens
Draw wireframe display for a single surface.
Draw a given viewport to an off-screen bitmap.
Returns: A bitmap containing the given view, or null on error.
Draws a shaded Brep with Zebra stripe preview.
Draws a shaded Mesh with Zebra stripe preview.
Enable or disable the Clipping Plane logic of the engine.
Enable or disable the ColorWriting behavior of the engine.
Enable or disable the DepthTesting behavior of the engine. When DepthTesting is disabled, objects in front will no longer occlude objects behind them.
Enable or disable the DepthWriting behavior of the engine. When DepthWriting is disabled, drawn geometry does not affect the Z-Buffer.
Enable or disable the Lighting logic of the engine.
Force the pipeline to immediately flush any cached geometry to the display
If the pipeline is running on top of Direct3D 11, this function will return a pointer to the ID3D11Device being used. IntPtr.Zero is returned if the pipeline is running on some other GPU technology. NOTE: AddRef is NOT called on this IUnknown instance.
public nint GetDirect3d11Device()
Returns: Pointer to an ID3D11Device, or IntPtr.Zero.
If the pipeline is running on top of Direct3D 11, this function will return a pointer to the ID3D11DeviceContext1 actively being used. IntPtr.Zero is returned if the pipeline is running on some other GPU technology. NOTE: AddRef is NOT called on this IUnknown instance.
public nint GetDirect3d11DeviceContext()
Returns: Pointer to an ID3D11DeviceContext1, or IntPtr.Zero.
Gets the current model and page view draw list serial numbers, which can be used to determine if a model or page view needs to be redrawn.
Get lights that this pipeline is current using
public Light[] GetLights()
Get an array of 16 floats that represents the "camera" to "clip" coordinate transformation in OpenGL's right handed coordinate system
Get an array of 16 floats that represents the "world" to "camera" coordinate transformation in OpenGL's right handed coordinate system
Get an array of 16 floats that represents the "world" to "clip" coordinate transformation in OpenGL's right handed coordinate system
Tests to see if the pipeline should stop drawing more geometry and just show what it has so far. If a drawing operation is taking a long time, this function will return true and tell Rhino it should just finish up and show the frame buffer. This is used in dynamic drawing operations.
Returns: true if the pipeline should stop attempting to draw more geometry and just show the frame buffer.
Determines if an object can be visible in this viewport based on it's object type and display attributes. This test does not check for visibility based on location of the object. NOTE: Use CRhinoDisplayPipeline::IsVisible() to perform "visibility" tests based on location (is some part of the object in the view frustum). Use CRhinoDisplayPipeline::IsActive() to perform "visibility" tests based on object type.
Returns: true if this object can be drawn in the pipeline's viewport based on it's object type and display attributes.
Returns true if the currently drawn frame is part of a tiled capture. Tiled captures are performed when creating large raster outputs.
Returns: true if a tiled capture is being performed. If false, the fullSize parameter will have the same size as currentTile
Test a given box for visibility inside the view frustum under the current viewport and model transformation settings.
Returns: true if at least some portion of the box is visible, false if not.
Test a given 3d world coordinate point for visibility inside the view frustum under the current viewport and model transformation settings.
Returns: true if the point is visible, false if it is not.
Test a given object for visibility inside the view frustum under the current viewport and model transformation settings. This function calls a virtual IsVisibleFinal function that sub-classed pipelines can add extra tests to. In the base class, this test only tests visibility based on the objects world coordinates location and does not pay attention to the object's attributes. NOTE: Use CRhinoDisplayPipeline::IsVisible() to perform "visibility" tests based on location (is some part of the object in the view frustum). Use CRhinoDisplayPipeline::IsActive() to perform "visibility" tests based on object type.
Returns: true if the object is visible, false if not.
Make a "default" OpenGL context current
Determines screen rectangle that would be drawn to using the Draw2dText(..) function with the same parameters.
Returns: rectangle in the viewport's screen coordinates on success.
Opens the pipeline.
Returns: True if the pipeline was opened, false if it was already open or failed to open.
Pop a ClipTesting flag off the engine's stack.
public void PopClipTesting()
obsoleteUse PopDepthTesting
Pop a FaceCull flag off the engine's stack.
public void PopCullFaceMode()
Pop a DepthTesting flag off the engine's stack.
public void PopDepthTesting()
Pop a DepthWriting flag off the engine's stack.
public void PopDepthWriting()
Pop a view projection off this pipelines projection stack
public void PopProjection()
Push the current view projection and set the viewport up to be a simple 2D top projection where the camera frustum matches the same size as the screen port. This allows geometry draw functions to act like they are working with typical 2d graphics APIs on a window
public void Push2dProjection()
Push a ClipTesting flag on the engine's stack.
obsoleteUse PushDepthTesting
Push a FaceCull flag on the engine's stack.
Push a DepthTesting flag on the engine's stack.
Push a DepthWriting flag on the engine's stack.
Remove a clipping plane from the pipeline for this frame
Sets up a display material.
Returns: A display material if successful, null otherwise.
Sets up a display material.
Returns: A display material if successful, null otherwise.
Multisample modes available