Visual3D Game EngineAPI Documentation for XNA, C#, VB, and .NET
Assembly: Visual3D.Engine (in Visual3D.Engine.dll) Version: 1.0.0.0 (1.0.0.0)
Manages rendering of every single frame on associated graphics device.
Implementation of rendering, from top-level RenderFrame
to lowest-level RenderGeometry methods.
Contains methods and properties for interaction and
event handling from the Windows Form associated with graphics device.
Implementation of rendering, from top-level RenderFrame
to lowest-level RenderGeometry methods.
Contains methods and properties for general pipeline management,
such as current state, device creation and event handling.
Namespace: Visual3D.Graphics3DAssembly: Visual3D.Engine (in Visual3D.Engine.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
| C# | Visual Basic |
[SerializableAttribute] public class RenderPipeline : IDisposable
<SerializableAttribute> _ Public Class RenderPipeline _ Implements IDisposable
Members
| All Members | Constructors | Fields | Properties | Methods | Events |
| Member | Description | |
|---|---|---|
| RenderPipeline(String, Control) | Create RenderPipeline object to render on provided WinForms control.
If you want to specify more parameters, use other constructor (with DeviceSettingsNew argument). | |
| RenderPipeline(String, DeviceSettings) | Create a new render pipeline from given device settings. | |
| ActivePipeline | ||
| AddComponent(RenderPipelineComponent) | Adds a component to Components collection. Doesn't add it if already in collection. | |
| BindInputToRenderControl()()()() | Binds input, mouse cursor etc to the current renderable Control. This
method is called after Form/Control and GraphicsDevice have been created
and are ready for use, and after each change/reset of current device or Control. | |
| Capabilities | Capabilities of current graphics hardware. More capabilities are available
via GraphicsDevice.GraphicsDeviceCapabilities, but Capabilities property has caching behavior,
reducing number of low-level calls to device for often used capabilities. | |
| CheckIfGpuStillProcessingLastFlowQuery()()()() | Queries your graphics card GPU to see if it's currently busy, and should not be bothered with more requests. | |
| ClearFrameBuffer(RenderPipelineComponent) | Clears frame buffer according to the settings of given pipeline component. | |
| Components | The list of render pipeline components which describe way
the RenderPipeline renders each frame. | |
| ContinueCustomBackBuffer(PixelSize) | Already started; setting new BackBuffer size for next frame.
| |
| CpuUtilization | Percentage of CPU that is being used right now (estimated). | |
| CreateOrResetDevice()()()() | Create new graphics device using current settings,
or just resets current device if it already has been created. | |
| CreateOrResetDevice(DeviceSettings) | ||
| CurrentFPS | Current Frames-per-Second that are being executed (aka FPS). | |
| CurrentFrameCount | Gets the number of frames drawn since startup. | |
| CurrentFrameRealTimeDelta | Current Non-scaled Real Time that has passed since the last render frame - Not Scaled. | |
| CurrentFrameTimeDelta | Current Scaled Time that has passed since the last render frame - Scaled by Scene Time Scalar. | |
| CustomizeGraphicsSettings | Optional method will be called upon creation of the graphics device. | |
| DepthBuffer | Reference to depth buffer assigned to device. | |
| DeviceSettings | Gets/sets settings used for creation of render window and graphics device.
Setting this property to new value will recreate existing graphics device. | |
| Dispose()()()() | Disposes the render pipeline - destroys graphics device, closes the form
if it's still open. | |
| Disposed | Fires after RenderPipeline instance has been disposed (form was closed
or user has called Dispose method of RenderPipeline). | |
| DrawCallDumpBegin(Action<(Of <<'(String>)>>)) | ||
| DumpAllocatedResourcesInfo()()()() | Outputs complete info about allocated resources into the log, including
their size in bytes. | |
| DumpAllocatedResourcesInfo(StringBuilder, Int32) | Outputs complete info about allocated resources into given StringBuilder, including
their size in bytes. | |
| DumpLockedTextureNames()()()() | ||
| EndCustomBackBuffer()()()() | Restore window-size rendering.
| |
| EnsureDeviceReady()()()() | Ensure that graphics device has been created. If not, attempts
to create new one. Returns false in case of failure during last attempt
to create device. | |
| ExecuteAfterNextRenderFrame(SimpleMethod) | Execute Standard Method at the start of the next Scheduler Frame. | |
| ExecuteBeforeNextRenderFrame(SimpleMethod) | Execute Standard Method at the start of the next Scheduler Frame. | |
| FPS | ||
| FrameEnded | Fired after a frame has completed rendering. | |
| FrameStarted | Fired as a frame is about to be rendered. | |
| GetComponent<(Of <<'(T>)>>)()()()() | Looks up a component of render pipeline by it's type. | |
| GetFormClientSize(Size%) | ||
| GetPipeline(String) | ||
| GetRenderClientSize(Size%) | ||
| GetViewport(ScreenPoint) | Returns the viewport which covers the specified screen point. | |
| GetViewport(ScreenPoint, Viewport%, Camera%, RenderTarget%) | Performs lookup for the component of pipeline whose viewport bounds
contains given point in screen space, relative to physical bounds of render window.
Will return true if one is found, or false if not. Fills output refs to found viewport, camera
and render target | |
| GraphicsDevice | Returns graphics device associated with this rendering pipeline. | |
| Indices | Gets/Sets current IndexBuffer on graphics device, with caching behavior. | |
| Initialize()()()() | ||
| InputManager | Gets/sets a primary InputManager. Used as default InputManager for this pipeline. | |
| Instances | ||
| IsForcedLowQualityMode | Gets/sets low-quality render mode: no textures, simple Phong materials
with 1 light applied to all scene objects. | |
| IsFullScreen | Gets/sets full-screen render mode. | |
| IsRenderingPaused | Gets/sets paused mode flag. Synonim for State.IsRenderingPaused property. | |
| IsWindowed | Gets/sets windowed render mode. | |
| IsWindowedChanged | Fires when RenderPipeline has switched between windowed and full-screen mode.
Check IsWindowed or IsFullScreen properties for current mode. | |
| IsWindowedChanging | Fires when RenderPipeline is about to switch between windowed and full-screen mode.
Set Cancel property of event args to true to prevent such a change.
Check IsWindowed or IsFullScreen properties for current mode. | |
| LastFrameEndedEvent | ||
| LastFrameStartedEvent | ||
| MainCamera | Gets/sets a primary camera. Used as default camera for this pipeline. | |
| MainPipelineName | ||
| MainRenderTarget | Gets a primary render target of pipeline. This can be only a back buffer
since the final target of rendering pipeline is back buffer associated with render window.
Therefore this property is read only. | |
| MainScenePipeline | ||
| MainViewport | Gets/sets a primary viewport. Used as default viewport for this pipeline. | |
| MaximizeWindow()()()() | Maximize render window to full area of desktop. Apply to windowed mode only. | |
| MaximumNumberOfWarningsPerType | ||
| MaxMsecPerFrame | ||
| MinimizeWindow()()()() | Minimize render window system tray. Apply to windowed mode only. | |
| Name | Gets/sets optional name of Render Pipeline. | |
| NotifyBeginTextureLock(Object, String) | ||
| NotifyEndTextureLock(Object) | ||
| OnFrameEnded()()()() | ||
| OutputRenderWindow | Gets WinForms Control which receive render output. In the
windowed mode this is a child of WinForm. In full-screen mode this
property returns reference to WinForm as rendering performs there. | |
| OutputRenderWindowForm | ||
| OutputRenderWindowFormChangedLocation | ||
| OutputRenderWindowScreenRectangle | ||
| Pause()()()() | Pauses rendering (equal to setting State.IsRenderingPaused to true).
In paused mode RenderFrame method calls will be ignored. | |
| PixelShader | Gets/Sets current PixelShader on graphics device, with caching behavior. | |
| RegisterGraphicsResource(IGraphicsResource) | Registers given graphics resource to handle such events as resetting
graphics device. When device reset will occur, IGraphicsResource.DisposeGraphicsResources method
will be called. After device reset is done, IGraphicsResource.CreateGraphicsResources will be invoked. | |
| RemoveComponent(RenderPipelineComponent) | Remove component from Components collection. | |
| RenderComponent(RenderPipelineComponent, RenderTarget) | ||
| RenderContext | Returns RenderContext used during RenderFrame. Normally,
current RenderContext is passed to each method related to rendering, but
it also is available as property of pipeline for cases like PrepareForUse etc, when
RenderContext parameter is not available. | |
| RenderFrame()()()() | Renders a complete single frame on associated device,
as defined by pipeline components. Creates or resets device if it's not ready.
Returns false in case of any failure. | |
| RenderFrame(Boolean) | Renders a complete single frame on associated device,
as defined by pipeline components. Creates or resets device if it's not ready.
Returns false in case of any failure. | |
| RenderFrameCount | Tracks the number of graphical frames rendered since last reset. | |
| RenderFrameInterval | Minimum time (in milliseconds) between successive graphics rendering frames. | |
| RenderGeometry<(Of <<'(TVertex>)>>)(PrimitiveType, array<TVertex>[]()[][]) | Renders specified geometry on graphics device. Particularly slower than
RenderGeometry method if used with large number of vertices; therefore, it's better
to use RenderGeometry for mid/small numbers of often changing vertex data. | |
| RenderGeometry(PrimitiveType, VertexData) | Renders specified geometry on graphics device. | |
| RenderGeometry<(Of <<'(TVertex>)>>)(PrimitiveType, array<TVertex>[]()[][], array<Int32>[]()[][]) | Renders specified geometry on graphics device. Particularly slower than
RenderGeometry method if used with large number of vertices; therefore, it's better
to use RenderGeometry for mid/small numbers of often changing vertex data. | |
| RenderGeometry(PrimitiveType, VertexData, IndexData) | Renders specified geometry on graphics device. | |
| RenderGeometry<(Of <<'(TVertex>)>>)(PrimitiveType, array<TVertex>[]()[][], Int32, Int32) | Renders specified geometry on graphics device. Particularly slower than
RenderGeometry method if used with large number of vertices; therefore, it's better
to use RenderGeometry for mid/small numbers of often changing vertex data. | |
| RenderGeometry<(Of <<'(TVertex, TIndex>)>>)(PrimitiveType, array<TVertex>[]()[][], Int32, Int32, array<Int32>[]()[][]) | Renders specified geometry on graphics device. Particularly slower than
RenderGeometry method if used with large number of vertices; therefore, it's better
to use RenderGeometry for mid/small numbers of often changing vertex data. | |
| RenderGeometry<(Of <<'(TVertex>)>>)(PrimitiveType, array<TVertex>[]()[][], array<Int32>[]()[][], Int32, Int32) | Renders specified geometry on graphics device. Particularly slower than
RenderGeometry method if used with large number of vertices; therefore, it's better
to use RenderGeometry for mid/small numbers of often changing vertex data. | |
| RenderGeometry<(Of <<'(TVertex>)>>)(PrimitiveType, array<TVertex>[]()[][], Int32, Int32, array<Int32>[]()[][], Int32, Int32) | Renders specified geometry on graphics device. Particularly slower than
non-generic RenderGeometry method for big number of vertices; therefore, it's better
to use generic RenderGeometry for mid/small number of vertices if they change often. | |
| RenderingLock | Lock this before trying to render to the GPU, to avoid conflicts and hiccups amongst competing threads | |
| RenderNextFrame()()()() | Render the next graphics frame (FPS-limiting logic is built-in). | |
| RenderState | Render state with cacheable behavior. Used to set up scene blending,
fill mode, fog mode, depth test/write and other flags during rendering a frame. | |
| ResizeWindow(Rectangle) | Resize render window to given rectangle, in pixel units. Apply to windowed mode only. | |
| RestoreWindow()()()() | Restore render window from minimized or maximized modes. Apply to windowed mode only. | |
| Resume()()()() | Resume paused rendering (equal to setting State.IsRenderingPaused to false). | |
| ResyncCachedStateWithDevice()()()() | Re-synchronizes cached state of the RenderPipeline with graphics device.
This applies to caching vertex streams, caching render state, index buffer and shader
references. | |
| SamplerStates | Sampler states with cacheable behavior. Used to set up texture filtering
method, degree of anisotropy, UVW address mode, etc. | |
| ScheduleResetDeviceOnNextFrame()()()() | Graphics device will be reset at the beginning of the next frame. | |
| SetFormClientSize(Size) | Resize window, such that ClientRectangle becomes given rectangle, in pixel units. Apply to windowed mode only. | |
| SetNoTexture(Int32, Boolean) | Remove texture binding from given sampler on graphics device. | |
| SetRenderControlParent(Control) | Move currently active WinFormTargetControl to new parent Control.
Does nothing if currently in full-screen mode. | |
| SetTexture(Int32, Texture) | Assign XNA texture to the given sampler unit on graphics device. | |
| SetTexture(Int32, Texture) | Assign a texture to the given sampler unit on graphics device. | |
| SetTexture(Int32, Texture, Boolean) | Assign XNA texture to the given sampler unit on graphics device. | |
| SetTexture(Int32, Texture, Boolean) | Assign a texture to the given sampler unit on graphics device. | |
| StartCustomBackBuffer(PixelSize) | Larger-than-window rendering.
| |
| State | Monitors and controls current state of RenderPipeline. Not same as RenderState,
as it controls only low-level flags during render a block of geomtry. | |
| TerrainEditorName | ||
| TerrainEditorPipeline | ||
| TimeOfNextRenderFrame | Application Timer Time when next RenderFrame should be rendered. | |
| TimeoutToWaitForGpuFlush | ||
| ToggleFullScreen()()()() | Switches between windowed and full-screen mode. Equal to using
IsWindowed and IsFullScreen properties of RenderPipeline.State | |
| ToggleFullScreen(Boolean) | ||
| ToString()()()() | (Overrides Object..::..ToString()()()().) | |
| UnregisterGraphicsResource(IGraphicsResource) | Unregisters graphics resource previously registered with RegisterGraphicsResource method. | |
| UnregisterGraphicsResource(IGraphicsResource, Boolean) | Unregisters graphics resource previously registered with RegisterGraphicsResource method
and optionally calls it's IGraphicsResource.DisposeGraphicsResource method implementation. | |
| UpdateDebugStats()()()() | Update performance statistics on the debug overlay. | |
| UpdatedFPS | Event fires whenever the FPS statistics are updated. | |
| VertexDeclaration | Gets/Sets current VertexDeclaration on device, with caching behavior.
Vertex declaration defines format of data in vertex buffer. | |
| VertexSamplerStates | Vertex texture sampler states with cacheable behavior. Used to set up texture filtering
method, degree of anisotropy, UVW address mode, etc to use a texture in vertex shader.
Consider use SamplerStates property for usual textures. | |
| VertexShader | Gets/Sets current VertexShader on graphics device, with caching behavior. | |
| Vertices | Vertex streams with cacheable behavior. Used to bind VertexBuffers to graphics device. | |
| WaitUntilGpuIsReady(String) | Waits/blocks until "IsGpuBusy()" returns false, or 'maxTimeout(msec)' expires. Returns 'false' if timeout expired. |
Inheritance Hierarchy
System..::..Object
Visual3D.Graphics3D..::..RenderPipeline
Visual3D.Graphics3D.StandardPipeline..::..StandardRenderPipeline
Visual3D.Graphics3D..::..RenderPipeline
Visual3D.Graphics3D.StandardPipeline..::..StandardRenderPipeline