Gorgon
Show / Hide Table of Contents

Class GorgonStreamOutCall

A call used to stream data generated on the GPU via shaders.

Inheritance
object
GorgonStreamOutCall
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: Gorgon.Graphics.Core
Assembly: Gorgon.Graphics.Core.dll
Syntax
public class GorgonStreamOutCall
Remarks

A draw call is an immutable object that contains all of the state required to render mesh information. For each mesh an application needs to render, an single draw call should be issued via the SubmitStreamOut(GorgonStreamOutCall, in GorgonColor?, int, int) method.

State management is handled internally by Gorgon so that duplicate states are not set and thus, performance is not impacted by redundant states.

Because a draw call is immutable, it is not possible to modify a draw call after it's been created. However, a copy of a draw call can be created using the ResetTo(TDc) method on the GorgonStreamOutCallBuilder object. Or, the builder can be modified after the creation of your draw call that needs to be updated and a new call may be built then.

This draw call type sends a series of state changes and resource bindings to the GPU. However, unlike the various GorgonDrawCallCommon objects, this object uses pre-processed data from the vertex and stream out stages. This means that the GorgonVertexBuffer attached to the a previous draw call must have been assigned to the StreamOutBufferBindings and had data deposited into it from the stream out stage. After that, it should be removed from the StreamOutBufferBindings and assigned to the VertexBufferBinding .

warning

The GorgonVertexBuffer being rendered must have been created with the StreamOut flag set.

Properties

| Edit this page View Source

InputLayout

Property to return the input layout for the draw call.

Declaration
public GorgonInputLayout InputLayout { get; }
Property Value
Type Description
GorgonInputLayout
See Also
VertexBufferBinding
GorgonGraphics
GorgonDrawIndexCallBuilder
| Edit this page View Source

PipelineState

Property to return the pipeline state.

Declaration
public GorgonStreamOutPipelineState PipelineState { get; }
Property Value
Type Description
GorgonStreamOutPipelineState
See Also
VertexBufferBinding
GorgonGraphics
GorgonDrawIndexCallBuilder
| Edit this page View Source

PixelShader

Property to return the resources for the pixel shader.

Declaration
public GorgonShaderResources PixelShader { get; }
Property Value
Type Description
GorgonShaderResources
See Also
VertexBufferBinding
GorgonGraphics
GorgonDrawIndexCallBuilder
| Edit this page View Source

ReadWriteViews

Property to return the list of unordered access views for the shader.

Declaration
public IGorgonReadOnlyArray<GorgonReadWriteViewBinding> ReadWriteViews { get; }
Property Value
Type Description
IGorgonReadOnlyArray<GorgonReadWriteViewBinding>
See Also
VertexBufferBinding
GorgonGraphics
GorgonDrawIndexCallBuilder
| Edit this page View Source

VertexBufferBinding

Property to return the vertex buffer binding for the stream out call.

Declaration
public GorgonVertexBufferBinding VertexBufferBinding { get; }
Property Value
Type Description
GorgonVertexBufferBinding
See Also
VertexBufferBinding
GorgonGraphics
GorgonDrawIndexCallBuilder

Extension Methods

GorgonDebugExtensions.ValidateObject<T>(T, string)
GorgonNullExtensions.AsNullable<T>(object)
GorgonNullExtensions.IfNull<T>(object, T)
GorgonNullExtensions.IsNull(object)

See Also

VertexBufferBinding
GorgonGraphics
GorgonDrawIndexCallBuilder
  • Edit this page
  • View Source
In this article
Back to top Copyright 2023 - Licensed under the MIT license by Michael Winsor (Tape_Worm).
Send comments on this topic to the author