• Fusee.Engine.Common
  • IRenderContextImp
Show / Hide Table of Contents
  • Fusee.Base.Common
    • AssetChecker
    • AssetDecoder
    • AssetDecoderAsync
    • AssetHandler
    • ColorFormat
    • ColorUint
    • FileMode
    • GetCallback
    • GetCallbackState
    • GlyphInfo
    • IAssetProvider
    • IImageData
    • IIOImp
    • ImagePixelChannel
    • ImagePixelFormat
    • InjectMeAttribute
    • LightType
    • PixelEncoding
    • ScanLine
    • SplitToCurveSegmentHelper
    • StreamAssetProvider
  • Fusee.Base.Core
    • AssetStorage
    • AsyncAssetDecoder
    • AsyncAssetHandler
    • AsyncAssetState
    • AsyncHttpAsset
    • Diagnostics
    • Diagnostics.Formater
    • Diagnostics.SeverityLevel
    • Font
    • FontImpBase
    • ImageData
    • IO
    • MemoryCache<TKey, TItem>
  • Fusee.Base.Imp.Android
    • ApkAssetProvider
    • FileDecoder
    • FontImp
    • IOImp
  • Fusee.Base.Imp.Blazor
    • AssetProvider
    • BlazorAssetProvider
    • BlazorBase
    • BlazorExtensions
    • BlazorProgramm
    • EmbeddedResourceHelper
    • FileDecoder
    • FontImp
    • HtmlHelper
    • IO
  • Fusee.Base.Imp.Desktop
    • EmbeddedResourcesDllHandler
    • FileAssetProvider
    • FileDecoder
    • FontImp
    • IOImp
  • Fusee.Engine.Common
    • AttributeLocations
    • AxisBoundedType
    • AxisDescription
    • AxisDirection
    • AxisImpDescription
    • AxisNature
    • AxisValueChangedArgs
    • Blend
    • BlendOperation
    • ButtonDescription
    • ButtonImpDescription
    • ButtonValueChangedArgs
    • CharInfoStruct
    • ClearFlags
    • Compare
    • ControllerButton
    • Cull
    • CursorType
    • DeviceCategory
    • DeviceImpDisconnectedArgs
    • FillMode
    • FuseeApplicationAttribute
    • FuseePlatformId
    • Gamepad
    • GetUniformValue
    • HardwareCapability
    • HorizontalTextAlignment
    • IActiveUniform
    • IAttribImp
    • IBufferHandle
    • IExposedTexture
    • IFont
    • IInputDeviceImp
    • IInputDeviceImpOld
    • IInputDriverImp
    • IInstanceDataImp
    • IManagedInstanceData
    • IManagedMesh
    • IMeshImp
    • InitEventArgs
    • INotifyValueChange<T>
    • InstanceDataChangedEnum
    • InstanceDataChangedEventArgs
    • IRenderCanvasImp
    • IRenderContextImp
    • IRenderTarget
    • IShaderHandle
    • IStorageBuffer
    • ITexture
    • ITextureBase
    • ITextureHandle
    • ITexturePixelInfo
    • IUniformHandle
    • IVideoManagerImp
    • IVideoStreamImp
    • IVisitorModule
    • IWindowHandle
    • IWritableArrayTexture
    • IWritableCubeMap
    • IWritableTexture
    • KeyCodes
    • KeyEventArgs
    • MeshChangedEnum
    • MeshChangedEventArgs
    • MouseAxes
    • MouseButtons
    • MouseEventArgs
    • NewDeviceImpConnectedArgs
    • Point
    • PrimitiveType
    • Rectangle
    • RenderEventArgs
    • RenderFlags
    • RenderState
    • RenderTargetTextureTypes
    • ResizeEventArgs
    • SixDOFAxis
    • Suid
    • TexRes
    • TextureChangedEnum
    • TextureCompareMode
    • TextureEventArgs
    • TextureFilterMode
    • TextureType
    • TextureWrapMode
    • TouchAxes
    • TouchPoints
    • VerticalTextAlignment
  • Fusee.Engine.Core
    • AABBCalculator
    • AABBCalculator.AABBState
    • CreateGpuMesh
    • CreatorFunc
    • DeviceConnectionArgs
    • ExposedTexture
    • Face
    • FontMap
    • FuseeSsaoHelper
    • FusSceneConverter
    • GamePadDevice
    • Geometry
    • GlyphOnMap
    • GpuMesh
    • Input
    • InputDevice
    • InputDevice.AxisValueCalculator
    • IRendererModule
    • JometriMesh
    • KeyboardDevice
    • LightResult
    • MakeEffect
    • MatchFunc
    • MeshReader
    • ModuleExtensionPoint
    • MouseDevice
    • OBBCalculator
    • OBBCalculator.OBBState
    • ParticleEmitter
    • PickResult
    • RayCastResult
    • RenderCanvas
    • RenderContext
    • RenderContextDefaultState
    • RendererState
    • RenderPasses
    • RenderStateSet
    • ScenePicker
    • ScenePicker.PickerState
    • SceneRayCaster
    • SceneRayCaster.RayCasterState
    • SceneRendererDeferred
    • SceneRendererForward
    • SixDOFDevice
    • TangentSpaceCalulator
    • Texture
    • Texture1D
    • Time
    • TouchDevice
    • TwoPointAction
    • VideoManager
    • VideoStream
    • WritableArrayTexture
    • WritableCubeMap
    • WritableMultisampleTexture
    • WritableTexture
  • Fusee.Engine.Core.Effects
    • BRDFInput
    • ComputeEffect
    • DiffuseInput
    • EdlInput
    • Effect
    • EffectManagerEventArgs
    • FxParamDeclaration<T>
    • FxShaderAttribute
    • FxShardAttribute
    • GlossyInput
    • IFxParamDeclaration
    • ShaderCategory
    • ShaderEffect
    • ShardCategory
    • SpecularInput
    • StorageBuffer<T>
    • SurfaceEffect
    • SurfaceEffectBase
    • SurfaceEffectEventArgs
    • SurfaceEffectInput
    • SurfaceEffectNameDeclarations
    • SurfaceEffectPointCloud
    • UniformChangedEnum
    • UniformNameDeclarations
    • UnlitInput
    • VaryingNameDeclarations
  • Fusee.Engine.Core.Primitives
    • Circle
    • Cube
    • Icosahedron
    • Icosphere
    • Line
    • NineSlicePlane
    • Plane
    • Rocket
    • Sphere
    • WireframeCube
  • Fusee.Engine.Core.Scene
    • AddChildEventArgs
    • Animation
    • AnimationKeyBase
    • AnimationKeyDouble
    • AnimationKeyFloat
    • AnimationKeyFloat2
    • AnimationKeyFloat3
    • AnimationKeyFloat4
    • AnimationKeyInt
    • AnimationTrack
    • Bone
    • Camera
    • CanvasRenderMode
    • CanvasTransform
    • ChildList
    • CodeComponent
    • CodeComponent.InteractionHandler
    • CustomCameraUpdate
    • DirtyIndexList
    • InstanceData
    • LerpType
    • Light
    • Mesh
    • MeshAttributes<T>
    • ProjectionMethod
    • RectTransform
    • RenderLayer
    • RenderLayers
    • SceneComponent
    • SceneContainer
    • SceneExtensions
    • SceneExtensions.Space
    • SceneHeader
    • SceneNode
    • Transform
    • TypeId
    • VertexWeight
    • VertexWeightList
    • Weight
    • XForm
    • XFormText
  • Fusee.Engine.Core.ShaderShards
    • ColorMode
    • GLSL
    • GLSL.Type
    • Header
    • Include
    • ShadingModel
    • ShadingModelShards
    • SurfaceOut
    • TextureSetup
  • Fusee.Engine.Core.ShaderShards.Fragment
    • FragMain
    • FragProperties
    • FragShards
    • Lighting
  • Fusee.Engine.Core.ShaderShards.Vertex
    • VertMain
    • VertProperties
    • VertShards
  • Fusee.Engine.Gui
    • AnchorPos
    • CanvasNode
    • FuseeGuiHelper
    • GuiButton
    • GuiElementPosition
    • GuiText
    • SceneInteractionHandler
    • TextNode
    • TextureNode
  • Fusee.Engine.Imp.Blazor
    • AttributeImp
    • MeshImp
  • Fusee.Engine.Imp.Graphics.Android
    • KeyboardDeviceImp
    • MouseDeviceImp
    • RenderBufferHandle
    • RenderCanvasImp
    • RenderCanvasInputDriverImp
    • RenderContextImp
    • ShaderHandle
    • TextureHandle
    • TouchDeviceImp
    • UniformHandle
    • VertexArrayObject
    • VertexBufferObject
    • WindowHandle
  • Fusee.Engine.Imp.Graphics.Blazor
    • ArrayExtensions
    • EventHandler
    • FrameBufferHandle
    • GamePadDeviceImp
    • JSHandler
    • KeyboardDeviceImp
    • MouseDeviceImp
    • RenderBufferHandle
    • RenderCanvasImp
    • RenderCanvasInputDriverImp
    • RenderContextImp
    • RenderTargetBlazor
    • ShaderHandle
    • TouchDeviceImp
    • UniformHandle
    • VertexArrayObject
    • VertexBufferObject
    • WebGL2RenderingContext
    • WebGL2RenderingContextBase
    • WebGLActiveInfo
    • WebGLBuffer
    • WebGLContextAttributes
    • WebGLFramebuffer
    • WebGLObject
    • WebGLProgram
    • WebGLQuery
    • WebGLRenderbuffer
    • WebGLRenderingContext
    • WebGLRenderingContextBase
    • WebGLSampler
    • WebGLShader
    • WebGLShaderPrecisionFormat
    • WebGLSync
    • WebGLTexture
    • WebGLTransformFeedback
    • WebGLUniformLocation
    • WebGLVertexArrayObject
  • Fusee.Engine.Imp.Graphics.Desktop
    • GamePadDeviceImp
    • KeyboardDeviceImp
    • MouseDeviceImp
    • RenderBufferHandle
    • RenderCanvasImp
    • RenderCanvasInputDriverImp
    • RenderContextImp
    • ShaderHandle
    • TextureHandle
    • UniformHandle
    • VertexArrayObject
    • VertexBufferObject
    • WindowHandle
    • WindowsSpaceMouseDriverImp
    • WindowsSpaceMouseInputDeviceImp
    • WindowsTouchInputDeviceImp
    • WindowsTouchInputDeviceImp.POINT
    • WindowsTouchInputDriverImp
  • Fusee.Engine.Imp.SharedAll
    • ActiveUniform
    • RenderTarget
  • Fusee.ImGuiImp.Desktop
    • FuseeMath2VectorExtensions
    • ImGuiController
    • ImGuiInputImp
    • ImGuiRenderCanvasImp
    • WindowHandle
  • Fusee.ImGuiImp.Desktop.Templates
    • FuseeSceneToTexture
    • ImGuiFilePicker
  • Fusee.Jometri
    • BinarySearchTree<TK, TV>
    • CreatePrimitiveGeometry
    • Extrude
    • Face
    • FaceData
    • GeomEditing
    • GeometricOperations
    • Geometry
    • GeomInitializeHelper
    • HalfEdge
    • HalfEdgeData
    • Node<TK, TV>
    • PolyBoundary
    • SubdivisionSurface
    • Triangulation
    • Vertex
    • VertexData
    • VertexType
  • Fusee.Math.Core
    • AABBd
    • AABBf
    • BezierConicSegment
    • BezierCubicSegment
    • Converter<TInput, TOutput>
    • Curve
    • CurvePart
    • CurveSegment
    • double2
    • double3
    • double3x3
    • double4
    • double4x4
    • Eigen
    • float2
    • float3
    • float3x3
    • float4
    • float4x4
    • FrustumD
    • FrustumF
    • int2
    • int3
    • int4
    • LinearSegment
    • M
    • MinMaxRect
    • OBBd
    • OBBf
    • PlaneD
    • PlaneF
    • QuaternionD
    • QuaternionF
    • RayD
    • RayF
  • Fusee.PointCloud.Common
    • IPointCloud
    • IPointCloudImp<TGpuData>
    • IPointCloudImpBase
    • IPointCloudOctant
    • IPointCloudOctree
    • IPointReader
    • MakePointCloudEffect
    • OctantId
    • OctantOrientation
    • PointCloudDataHandlerBase<TGpuData>
    • PointCloudLighting
    • PointShape
    • PointSizeMode
    • RenderMode
  • Fusee.PointCloud.Common.Accessors
    • IPointAccessor
    • PointColorType
    • PointCurvatureType
    • PointGpsTimeType
    • PointHitCountType
    • PointIntensityType
    • PointLabelType
    • PointNormalType
    • PointPositionType
    • PointType
    • PosD3
    • PosD3ColF3
    • PosD3ColF3InUs
    • PosD3ColF3InUsLblB
    • PosD3ColF3LblB
    • PosD3InUs
    • PosD3LblB
    • PosD3NorF3ColF3
    • PosD3NorF3ColF3InUs
    • PosD3NorF3InUs
  • Fusee.PointCloud.Core
    • CreateGpuData<TGpuData, TPoint>
    • GetDynamicMeshes
    • GetInstanceData
    • GetMeshes
    • LoadPointsHandler<TPoint>
    • MeshMaker
    • OctantPicker
    • PointCloudDataHandler<TGpuData, TPoint>
    • PointCloudOctant
    • PointCloudOctree
    • TriggerPointLoading
    • VisibilityTester
  • Fusee.PointCloud.Core.Accessors
    • PointAccessor<TPoint>
    • PosD3Accessor
    • PosD3ColF3Accessor
    • PosD3ColF3InUsAccessor
    • PosD3ColF3InUsLblBAccessor
    • PosD3ColF3LblBAccessor
    • PosD3InUsAccessor
    • PosD3LblBAccessor
    • PosD3NorF3ColF3Accessor
    • PosD3NorF3ColF3InUsAccessor
    • PosD3NorF3InUsAccessor
  • Fusee.PointCloud.Core.Scene
    • PointCloudComponent
    • PointCloudRenderModule
  • Fusee.PointCloud.Las.Desktop
    • LasMetaInfo
    • LasPointReader
  • Fusee.PointCloud.Potree
    • Potree2Cloud
    • Potree2CloudDynamic
    • Potree2CloudInstanced
  • Fusee.PointCloud.Potree.V2
    • LoadChecker
    • Potree2Reader
    • Potree2RwBase
    • Potree2Writer
    • PotreeData
  • Fusee.PointCloud.Potree.V2.Data
    • NodeType
    • PotreeHierarchy
    • PotreeMetadata
    • PotreeNode
    • PotreePoint
    • PotreeSettingsAttribute
    • PotreeSettingsBoundingBox
    • PotreeSettingsHierarchy
  • Fusee.Serialization
    • FusContents
    • FusFile
    • FusHeader
  • Fusee.Serialization.V1
    • AlbedoChannel
    • BRDFChannel
    • CanvasRenderMode
    • Distribution
    • FusAnimation
    • FusAnimationKeyBase
    • FusAnimationKeyDouble
    • FusAnimationKeyFloat
    • FusAnimationKeyFloat2
    • FusAnimationKeyFloat3
    • FusAnimationKeyFloat4
    • FusAnimationKeyInt
    • FusAnimationTrack
    • FusBone
    • FusCamera
    • FusCanvasTransform
    • FusComponent
    • FusHorizontalTextAlignment
    • FusLight
    • FusMaterialBase
    • FusMaterialBRDF
    • FusMaterialDiffuseBRDF
    • FusMaterialGlossyBRDF
    • FusMaterialStandard
    • FusMesh
    • FusNode
    • FusRectTransform
    • FusScene
    • FusTransform
    • FusVerticalTextAlignment
    • FusWeight
    • FusXForm
    • FusXFormText
    • JointWeightColumn
    • LerpType
    • NormapMapChannel
    • ProjectionMethod
    • SpecularChannel
    • TypeId
    • VertexWeight
    • VertexWeightList
  • Fusee.Structures
    • GridCellD<O>
    • GridCellF<O>
    • GridD<P>
    • GridF<P>
    • IBucket<T, K>
    • IEmptyOctant<T, K>
    • IOctant<T, K, P>
    • OctantD<P>
    • OctantF<P>
    • OctreeD<P>
    • OctreeF<P>
  • Fusee.Xene
    • CollapsingStateStack<T>
    • EmptyState
    • IComponent
    • INode
    • IStateStack
    • SceneComponentFinder<TComponentToFind, TNode, TComponent>
    • SceneFinderBase<TSceneElementType, TNode, TComponent>
    • SceneFinderExtensions
    • SceneNodeFinder<TNodeToFind, TNode, TComponent>
    • SceneNodeWhereComponentFinder<TComponentToFind, TNode, TComponent>
    • StandardState
    • StateStack<T>
    • Viserator<TItem, TState, TNode, TComponent>
    • ViseratorBase<TItem, TNode, TComponent>
    • ViseratorExtensions
    • VisitComponentMethod<TNode, TComponent>
    • VisitComponentMethodOfModule<TNode, TComponent>
    • VisitMethodAttribute
    • VisitNodeMethod<TNode, TComponent>
    • VisitNodeMethodOfModule<TNode, TComponent>
    • Visitor<TNode, TComponent>
    • VisitorHelpers
    • VisitorState
  • Fusee.Xirkit
    • Animation
    • ChainedMemberAccessor<TPin, TObj>
    • Channel<TValue>
    • Channel<TValue>.LerpFunc
    • Channel<TValue>.SetChanelValue
    • ChannelBase
    • Circuit
    • ConvertingFieldAccessor<TPin, TObj>
    • ConvertingPropertyAccessor<TPin, TObj>
    • FieldAccesssor<T>
    • ICalculationPerformer
    • IInPin
    • IMemberAccessor<T>
    • InPin<T>
    • IOutPin
    • Keyframe<TValue>
    • Lerp
    • ListSort<TValue>
    • Node
    • OutPin<T>
    • Pin
    • PropertyAccessor<T>
    • ReceivedValueHandler

Interface IRenderContextImp

The render context interface contains all functions necessary to manipulate the underlying rendering hardware. Use this class' elements to render geometry to the RenderCanvas associated with this context. If you are worked with OpenGL or DirectX before you will find many similarities in this class' methods and properties.

Namespace: Fusee.Engine.Common
Assembly: Fusee.Engine.Common.dll
Syntax
public interface IRenderContextImp

Properties

ClearColor

The color to use when clearing the color buffer.

Declaration
float4 ClearColor { get; set; }
Property Value
Type Description
float4

The color value is interpreted as a (Red, Green, Blue, Alpha) quadruple with component values ranging from 0.0f to 1.0f.

Remarks

This is the color that will be copied to all pixels in the output color buffer when Clear is called on the render context.

See Also
Clear(ClearFlags)

ClearDepth

The depth value to use when clearing the color buffer.

Declaration
float ClearDepth { get; set; }
Property Value
Type Description
System.Single

Typically set to the highest possible depth value. Typically ranges between 0 and 1.

Remarks

This is the depth (z-) value that will be copied to all pixels in the depth (z-) buffer when Clear is called on the render context.

FuseePlatformId

Constant id that describes the renderer. This can be used in shaders to do platform dependent things.

Declaration
FuseePlatformId FuseePlatformId { get; }
Property Value
Type Description
FuseePlatformId

Methods

AttacheTextureToFbo(IRenderTarget, Boolean, ITextureHandle, Int32)

Attaches a texture to the frame buffer object, associated with the given render target.

Declaration
void AttacheTextureToFbo(IRenderTarget renderTarget, bool isDepthTex, ITextureHandle texHandle, int attachment = 0)
Parameters
Type Name Description
IRenderTarget renderTarget

The render target.

System.Boolean isDepthTex

Determines if the texture is a depth texture. In this case the texture is attached to the DepthAttachment.

ITextureHandle texHandle

The gpu handle of the texture.

System.Int32 attachment

Number of the fbo attachment. For example: attachment = 1 will attach the texture to the ColorAttachment1.

BlitMultisample2DTextureToTexture(IWritableTexture, IWritableTexture)

Takes a WritableMultisampleTexture and blits the result of all samples into an existing WritableTexture for further use (e. g. bind and use as Albedo texture)

Declaration
void BlitMultisample2DTextureToTexture(IWritableTexture input, IWritableTexture output)
Parameters
Type Name Description
IWritableTexture input

WritableMultisampleTexture

IWritableTexture output

WritableTexture

Clear(ClearFlags)

Erases the contents of the specified rendering buffers.

Declaration
void Clear(ClearFlags flags)
Parameters
Type Name Description
ClearFlags flags

A combination of flags specifying the rendering buffers to clear.

Remarks

Calling this method erases all contents of the rendering buffers. A typical use case for this method is to erase the contents of the color buffer and the depth buffer (z-buffer) before rendering starts at the beginning of a rendering loop. Thus, rendering the current frame starts with an empty color and z-buffer. ClearFlags for a list of possible buffers to clear. Make sure to use the bitwise or-operator (|) to combine several buffers to clear.

ColorMask(Boolean, Boolean, Boolean, Boolean)

Enable or disable Color channels to be written to the frame buffer (final image). Use this function as a color channel filter for the final image.

Declaration
void ColorMask(bool red, bool green, bool blue, bool alpha)
Parameters
Type Name Description
System.Boolean red

if set to true [red].

System.Boolean green

if set to true [green].

System.Boolean blue

if set to true [blue].

System.Boolean alpha

if set to true [alpha].

ConnectBufferToShaderStorage(IShaderHandle, IStorageBuffer, String)

Connects the given SSBO to the currently active shader program.

Declaration
void ConnectBufferToShaderStorage(IShaderHandle currentProgram, IStorageBuffer buffer, string ssboName)
Parameters
Type Name Description
IShaderHandle currentProgram

The handle of the current shader program.

IStorageBuffer buffer

The Storage Buffer object on the CPU.

System.String ssboName

The SSBO's name.

CreateGBufferTarget(TexRes)

Creates a IRenderTarget with the purpose of being used as CPU GBuffer representation.

Declaration
IRenderTarget CreateGBufferTarget(TexRes res)
Parameters
Type Name Description
TexRes res

The texture resolution.

Returns
Type Description
IRenderTarget

CreateInstanceDataImp(IMeshImp)

Creates the instance data implementation.

Declaration
IInstanceDataImp CreateInstanceDataImp(IMeshImp meshImp)
Parameters
Type Name Description
IMeshImp meshImp
Returns
Type Description
IInstanceDataImp

The IInstanceDataImp instance.

CreateMeshImp()

Creates the mesh implementation.

Declaration
IMeshImp CreateMeshImp()
Returns
Type Description
IMeshImp

The IMeshImp instance.

CreateShaderProgram(String, String, String)

Creates a shader object from vertex shader source code and pixel shader source code.

Declaration
IShaderHandle CreateShaderProgram(string vs, string ps, string gs = null)
Parameters
Type Name Description
System.String vs

A string containing the vertex shader source.

System.String ps

A string containing the pixel (fragment) shader source code.

System.String gs

A string containing the geometry shader source.

Returns
Type Description
IShaderHandle

A shader program object identifying the combination of the given vertex and pixel shader.

Remarks

Currently only shaders in GLSL (or rather GLSL/ES) source language(s) are supported. The result is already compiled to code executable on the GPU. SetShader(IShaderHandle) to activate the result as the current shader used for rendering geometry passed to the RenderContext.

CreateShaderProgramCompute(String)

Creates a shader object from compute shader source code.

Declaration
IShaderHandle CreateShaderProgramCompute(string cs = null)
Parameters
Type Name Description
System.String cs

A string containing the compute shader source.

Returns
Type Description
IShaderHandle

CreateTexture(ITexture)

Creates a new texture and binds it to the shader.

Declaration
ITextureHandle CreateTexture(ITexture img)
Parameters
Type Name Description
ITexture img

An ITexture, containing necessary information for the upload to the graphics card.

Returns
Type Description
ITextureHandle
Remarks

Method should be called after LoadImage method to process the BitmapData an make them available for the shader.

CreateTexture(IWritableArrayTexture)

Creates a new cube map and binds it to the shader.

Declaration
ITextureHandle CreateTexture(IWritableArrayTexture img)
Parameters
Type Name Description
IWritableArrayTexture img

An IWritableArrayTexture, containing necessary information for the upload to the graphics card.

Returns
Type Description
ITextureHandle

CreateTexture(IWritableCubeMap)

Creates a new cube map and binds it to the shader.

Declaration
ITextureHandle CreateTexture(IWritableCubeMap img)
Parameters
Type Name Description
IWritableCubeMap img

An IWritableCubeMap, containing necessary information for the upload to the graphics card.

Returns
Type Description
ITextureHandle

CreateTexture(IWritableTexture)

Creates a new texture and binds it to the shader.

Declaration
ITextureHandle CreateTexture(IWritableTexture img)
Parameters
Type Name Description
IWritableTexture img

An IWritableTexture, containing necessary information for the upload to the graphics card.

Returns
Type Description
ITextureHandle

DebugLine(float3, float3, float4)

Draws a Debug Line in 3D Space by using a start and end point (float3).

Declaration
void DebugLine(float3 start, float3 end, float4 color)
Parameters
Type Name Description
float3 start

The start point of the DebugLine.

float3 end

The endpoint of the DebugLine.

float4 color

The color of the DebugLine.

DeleteFrameBuffer(IBufferHandle)

Free all allocated gpu memory that belong to a frame buffer object.

Declaration
void DeleteFrameBuffer(IBufferHandle bh)
Parameters
Type Name Description
IBufferHandle bh

The platform dependent abstraction of the gpu buffer handle.

DeleteRenderBuffer(IBufferHandle)

Free all allocated gpu memory belonging to a render buffer object.

Declaration
void DeleteRenderBuffer(IBufferHandle bh)
Parameters
Type Name Description
IBufferHandle bh

The platform dependent abstraction of the gpu buffer handle.

DeleteStorageBuffer(IBufferHandle)

Deletes the shader storage buffer on the GPU.

Declaration
void DeleteStorageBuffer(IBufferHandle storageBufferHandle)
Parameters
Type Name Description
IBufferHandle storageBufferHandle

The buffer object.

DetachTextureFromFbo(IRenderTarget, Boolean, Int32)

Detaches a texture from the frame buffer object, associated with the given render target.

Declaration
void DetachTextureFromFbo(IRenderTarget renderTarget, bool isDepthTex, int attachment = 0)
Parameters
Type Name Description
IRenderTarget renderTarget

The render target.

System.Boolean isDepthTex

Determines if the texture is a depth texture. In this case the texture currently associated with the DepthAttachment will be detached.

System.Int32 attachment

Number of the fbo attachment. For example: attachment = 1 will detach the texture currently associated with the ColorAttachment1.

DisableDepthClamp()

Disables depths clamping. EnableDepthClamp()

Declaration
void DisableDepthClamp()

DispatchCompute(Int32, Int32, Int32, Int32)

Launch the bound Compute Shader Program.

Declaration
void DispatchCompute(int kernelIndex, int threadGroupsX, int threadGroupsY, int threadGroupsZ)
Parameters
Type Name Description
System.Int32 kernelIndex
System.Int32 threadGroupsX

The number of work groups to be launched in the X dimension.

System.Int32 threadGroupsY

The number of work groups to be launched in the Y dimension.

System.Int32 threadGroupsZ

he number of work groups to be launched in the Z dimension.

EnableDepthClamp()

The clipping behavior against the Z position of a vertex can be turned off by activating depth clamping. This is done with glEnable(GL_DEPTH_CLAMP). This will cause the clip-space Z to remain unclipped by the front and rear viewing volume. See: https://www.khronos.org/opengl/wiki/Vertex_Post-Processing#Depth_clamping

Declaration
void EnableDepthClamp()

GetActiveUniformsList(IShaderHandle)

Get a list of (uniform) shader parameters accessed by the given shader.

Declaration
IList<IActiveUniform> GetActiveUniformsList(IShaderHandle shaderProgram)
Parameters
Type Name Description
IShaderHandle shaderProgram

The shader program to query for parameters.

Returns
Type Description
System.Collections.Generic.IList<IActiveUniform>

A list of shader parameters accessed by the shader code of the given shader program. The parameters listed here are the so-called uniform parameters of the shader (in contrast to the varying parameters). The list contains all uniform parameters that are accessed by either the vertex shader, the pixel shader, or both shaders compiled into the given shader.

GetBufferContent(Rectangle, ITextureHandle)

Gets the content of the buffer.

Declaration
void GetBufferContent(Rectangle quad, ITextureHandle texId)
Parameters
Type Name Description
Rectangle quad

The quad.

ITextureHandle texId

The texture identifier.

GetHardwareCapabilities(HardwareCapability)

Returns the capabilities of the underlying graphics hardware

Declaration
uint GetHardwareCapabilities(HardwareCapability capability)
Parameters
Type Name Description
HardwareCapability capability

The capability to check against

Returns
Type Description
System.UInt32

uint

GetHardwareDescription()

Returns a human readable description of the underlying graphics hardware

Declaration
string GetHardwareDescription()
Returns
Type Description
System.String

Description

GetPixelColor(Int32, Int32, Int32, Int32)

Retrieves a sub-image of the given region.

Declaration
IImageData GetPixelColor(int x, int y, int w, int h)
Parameters
Type Name Description
System.Int32 x

The x value of the start of the region.

System.Int32 y

The y value of the start of the region.

System.Int32 w

The width to copy.

System.Int32 h

The height to copy.

Returns
Type Description
IImageData

The specified sub-image

GetPixelDepth(Int32, Int32)

Retrieves the Z-value at the given pixel position.

Declaration
float GetPixelDepth(int x, int y)
Parameters
Type Name Description
System.Int32 x

The x value.

System.Int32 y

The y value.

Returns
Type Description
System.Single

The Z value at (x, y).

GetRenderState(RenderState)

Retrieves the value of the given render state.

Declaration
uint GetRenderState(RenderState renderState)
Parameters
Type Name Description
RenderState renderState

The render state to retrieve.

Returns
Type Description
System.UInt32

the current value of the render state.

GetShaderStorageBufferList(IShaderHandle)

Get a list of shader storage buffer variables accessed by the given shader.

Declaration
IList<IActiveUniform> GetShaderStorageBufferList(IShaderHandle shaderProgram)
Parameters
Type Name Description
IShaderHandle shaderProgram

The shader program to query for parameters.

Returns
Type Description
System.Collections.Generic.IList<IActiveUniform>

GetShaderUniformParam(IShaderHandle, String)

Returns an identifier for the named (uniform) parameter used in the specified shader program.

Declaration
IUniformHandle GetShaderUniformParam(IShaderHandle shaderProgram, string paramName)
Parameters
Type Name Description
IShaderHandle shaderProgram

The shader program using the parameter.

System.String paramName

Name of the shader parameter.

Returns
Type Description
IUniformHandle

A handle object to identify the given parameter in subsequent calls to SetShaderParam.

Remarks

The returned handle can be used to assign values to a (uniform) shader parameter.

MemoryBarrier()

Defines a barrier ordering memory transactions. At the moment it will insert all supported barriers. TODO: Define GLbitfield enum

Declaration
void MemoryBarrier()

RemoveBiTangents(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveBiTangents(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveBoneIndices(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveBoneIndices(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveBoneWeights(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveBoneWeights(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveColors(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveColors(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveColors1(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveColors1(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveColors2(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveColors2(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveFlags(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveFlags(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveInstanceData(IInstanceDataImp)

Deletes the buffers associated with the instance data implementation.

Declaration
void RemoveInstanceData(IInstanceDataImp instanceDataImp)
Parameters
Type Name Description
IInstanceDataImp instanceDataImp

The instance data for which to delete the GPU buffers.

RemoveNormals(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveNormals(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveShader(IShaderHandle)

Removes given shader program from GPU

Declaration
void RemoveShader(IShaderHandle sp)
Parameters
Type Name Description
IShaderHandle sp

RemoveTangents(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveTangents(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveTextureHandle(ITextureHandle)

Removes the TextureHandle's buffers and textures from the graphics card's memory

Declaration
void RemoveTextureHandle(ITextureHandle textureHandle)
Parameters
Type Name Description
ITextureHandle textureHandle

An TextureHandle object, containing necessary information for the upload to the graphics card.

Remarks

Method should be called after an TextureHandle is no longer required by the application.

RemoveTriangles(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveTriangles(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveUVs(IMeshImp)

Deletes the buffer associated with the mesh implementation.

Declaration
void RemoveUVs(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh which buffer respectively GPU memory should be deleted.

RemoveVertices(IMeshImp)

Deletes the buffers associated with the mesh implementation.

Declaration
void RemoveVertices(IMeshImp mesh)
Parameters
Type Name Description
IMeshImp mesh

The mesh for which to delete the GPU buffers.

Render(IMeshImp, IInstanceDataImp)

Renders the specified mesh.

Declaration
void Render(IMeshImp mr, IInstanceDataImp instanceData = null)
Parameters
Type Name Description
IMeshImp mr

The mesh that should be rendered.

IInstanceDataImp instanceData

Contains the buffers that need to be bound when using instanced rendering.

Remarks

Passes geometry to be pushed through the rendering pipeline. IMeshImp for a description how geometry is made up. The geometry is transformed and rendered by the currently active shader program.

Scissor(Int32, Int32, Int32, Int32)

Only pixels that lie within the scissor box can be modified by drawing commands. Note that the Scissor test must be enabled for this to work.

Declaration
void Scissor(int x, int y, int width, int height)
Parameters
Type Name Description
System.Int32 x

X Coordinate of the lower left point of the scissor box.

System.Int32 y

Y Coordinate of the lower left point of the scissor box.

System.Int32 width

Width of the scissor box.

System.Int32 height

Height of the scissor box.

SetActiveAndBindTexture(IUniformHandle, ITextureHandle, TextureType)

Sets a texture active and binds it.

Declaration
void SetActiveAndBindTexture(IUniformHandle param, ITextureHandle texId, TextureType texTarget)
Parameters
Type Name Description
IUniformHandle param

The shader parameter, associated with this texture.

ITextureHandle texId

The texture handle.

TextureType texTarget

The texture type, describing to which texture target the texture gets bound to.

SetActiveAndBindTexture(IUniformHandle, ITextureHandle, TextureType, out Int32)

Sets a texture active and binds it.

Declaration
void SetActiveAndBindTexture(IUniformHandle param, ITextureHandle texId, TextureType texTarget, out int texUnit)
Parameters
Type Name Description
IUniformHandle param

The shader parameter, associated with this texture.

ITextureHandle texId

The texture handle.

TextureType texTarget

The texture type, describing to which texture target the texture gets bound to.

System.Int32 texUnit

The texture unit.

SetActiveAndBindTextureArray(IUniformHandle, ITextureHandle[], TextureType)

Sets a texture active and binds it.

Declaration
void SetActiveAndBindTextureArray(IUniformHandle param, ITextureHandle[] texIds, TextureType texTarget)
Parameters
Type Name Description
IUniformHandle param

The shader parameter, associated with this texture.

ITextureHandle[] texIds

The texture handle.

TextureType texTarget

The texture type, describing to which texture target the texture gets bound to.

SetActiveAndBindTextureArray(IUniformHandle, ITextureHandle[], TextureType, out Int32[])

Sets a texture active and binds it.

Declaration
void SetActiveAndBindTextureArray(IUniformHandle param, ITextureHandle[] texIds, TextureType texTarget, out int[] texUnitArray)
Parameters
Type Name Description
IUniformHandle param

The shader parameter, associated with this texture.

ITextureHandle[] texIds

An array of ITextureHandles returned from CreateTexture method or the ShaderEffectManager.

TextureType texTarget

The texture type, describing to which texture target the texture gets bound to.

System.Int32[] texUnitArray

The texture units.

SetBiTangents(IMeshImp, ReadOnlySpan<float3>)

Binds the bitangents onto the GL render context and assigns an BiTangentBuffer index to the passed IMeshImp instance.

Declaration
void SetBiTangents(IMeshImp mr, ReadOnlySpan<float3> bitangents)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<float3> bitangents

The bitangents.

Exceptions
Type Condition
System.ArgumentException

BiTangents must not be null or empty

System.ApplicationException

SetBoneIndices(IMeshImp, ReadOnlySpan<float4>)

Binds the bone indices onto the GL render context and assigns an ElementBuffer index to the passed IMeshImp instance.

Declaration
void SetBoneIndices(IMeshImp mr, ReadOnlySpan<float4> boneIndices)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<float4> boneIndices

The bone indices.

Exceptions
Type Condition
System.ArgumentException

boneIndices must not be null or empty

SetBoneWeights(IMeshImp, ReadOnlySpan<float4>)

Binds the bone weights onto the GL render context and assigns an ElementBuffer index to the passed IMeshImp instance.

Declaration
void SetBoneWeights(IMeshImp mr, ReadOnlySpan<float4> boneWeights)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<float4> boneWeights

The bone weights.

Exceptions
Type Condition
System.ArgumentException

boneWeights must not be null or empty

SetColors(IMeshImp, ReadOnlySpan<UInt32>)

Binds the colors onto the GL render context and assigns an ColorBuffer index to the passed IMeshImp instance.

Declaration
void SetColors(IMeshImp mr, ReadOnlySpan<uint> colors)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<System.UInt32> colors

The colors.

Exceptions
Type Condition
System.ArgumentException

colors must not be null or empty

SetColors1(IMeshImp, ReadOnlySpan<UInt32>)

Binds the colors onto the GL render context and assigns an ColorBuffer index to the passed IMeshImp instance.

Declaration
void SetColors1(IMeshImp mr, ReadOnlySpan<uint> colors)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<System.UInt32> colors

The colors.

Exceptions
Type Condition
System.ArgumentException

colors must not be null or empty

SetColors2(IMeshImp, ReadOnlySpan<UInt32>)

Binds the colors onto the GL render context and assigns an ColorBuffer index to the passed IMeshImp instance.

Declaration
void SetColors2(IMeshImp mr, ReadOnlySpan<uint> colors)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<System.UInt32> colors

The colors.

Exceptions
Type Condition
System.ArgumentException

colors must not be null or empty

SetFlags(IMeshImp, ReadOnlySpan<UInt32>)

Binds the flags onto the GL render context and assigns an ElementBuffer index to the passed IMeshImp instance.

Declaration
void SetFlags(IMeshImp mr, ReadOnlySpan<uint> flags)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<System.UInt32> flags

The flags.

Exceptions
Type Condition
System.ArgumentException

boneWeights must not be null or empty

SetInstanceColor(IInstanceDataImp, float4[])

Binds the instance colors onto the GL render context and assigns an buffer object index to the passed IInstanceDataImp instance.

Declaration
void SetInstanceColor(IInstanceDataImp instanceImp, float4[] instanceColors)
Parameters
Type Name Description
IInstanceDataImp instanceImp

The IInstanceDataImp instance.

float4[] instanceColors

The instance colors.

SetInstanceTransform(IInstanceDataImp, float3[], float3[], float3[])

Creates and binds the instance model matrices onto the GL render context and assigns an buffer object index to the passed IInstanceDataImp instance.

Declaration
void SetInstanceTransform(IInstanceDataImp instanceImp, float3[] instancePositions, float3[] instanceRotations, float3[] instanceScales)
Parameters
Type Name Description
IInstanceDataImp instanceImp

The IInstanceDataImp instance.

float3[] instancePositions

The instance positions.

float3[] instanceRotations

The instance rotations.

float3[] instanceScales

The instance scale values.

SetLineWidth(Single)

Sets the line width when drawing a mesh with primitive mode line

Declaration
void SetLineWidth(float width)
Parameters
Type Name Description
System.Single width

The width of the line.

SetNormals(IMeshImp, ReadOnlySpan<float3>)

Binds the normals onto the GL render context and assigns an NormalBuffer index to the passed IMeshImp instance.

Declaration
void SetNormals(IMeshImp mr, ReadOnlySpan<float3> normals)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<float3> normals

The normals.

Exceptions
Type Condition
System.ArgumentException

Normals must not be null or empty

SetRenderState(RenderState, UInt32)

Sets the specified render state to the given setting.

Declaration
void SetRenderState(RenderState renderState, uint value)
Parameters
Type Name Description
RenderState renderState

The render state to set.

System.UInt32 value

The new value of the render state.

SetRenderTarget(IRenderTarget, ITextureHandle[])

Renders into the given textures of the RenderTarget.

Declaration
void SetRenderTarget(IRenderTarget renderTarget, ITextureHandle[] texHandles)
Parameters
Type Name Description
IRenderTarget renderTarget

The render target.

ITextureHandle[] texHandles

The texture handles, associated with the given textures. Each handle should be created by the TextureManager in the RenderContext.

SetRenderTarget(IWritableArrayTexture, Int32, ITextureHandle)

Renders into the given layer of the array texture.

Declaration
void SetRenderTarget(IWritableArrayTexture tex, int layer, ITextureHandle texHandle)
Parameters
Type Name Description
IWritableArrayTexture tex

The array texture.

System.Int32 layer

The layer to render to.

ITextureHandle texHandle

The texture handle, associated with the given texture. Should be created by the TextureManager in the RenderContext.

SetRenderTarget(IWritableCubeMap, ITextureHandle)

Renders into the given texture.

Declaration
void SetRenderTarget(IWritableCubeMap tex, ITextureHandle texHandle)
Parameters
Type Name Description
IWritableCubeMap tex

The texture.

ITextureHandle texHandle

The texture handle, associated with the given texture. Should be created by the TextureManager in the RenderContext.

SetRenderTarget(IWritableTexture, ITextureHandle)

Renders into the given texture.

Declaration
void SetRenderTarget(IWritableTexture tex, ITextureHandle texHandle)
Parameters
Type Name Description
IWritableTexture tex

The texture.

ITextureHandle texHandle

The texture handle, associated with the given texture. Should be created by the TextureManager in the RenderContext.

SetShader(IShaderHandle)

Activates the passed shader program as the current shader for geometry rendering.

Declaration
void SetShader(IShaderHandle shaderProgramImp)
Parameters
Type Name Description
IShaderHandle shaderProgramImp

The shader to apply to mesh geometry subsequently passed to the RenderContext

See Also
CreateShaderProgram(String, String, String)

SetShaderParam(IUniformHandle, float2)

Sets the shader parameter to a float2 value.

Declaration
void SetShaderParam(IUniformHandle param, float2 val)
Parameters
Type Name Description
IUniformHandle param

The shader parameter identifier.

float2 val

The float2 value that should be assigned to the shader parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, float2[])

Sets the shader parameter to a float2 array.

Declaration
void SetShaderParam(IUniformHandle param, float2[] val)
Parameters
Type Name Description
IUniformHandle param

The IUniformHandle identifier.

float2[] val

The float2 array that should be assigned to the shader array parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, float3)

Sets the shader parameter to a float3 value.

Declaration
void SetShaderParam(IUniformHandle param, float3 val)
Parameters
Type Name Description
IUniformHandle param

The shader parameter identifier.

float3 val

The float3 value that should be assigned to the shader parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, float3[])

Sets the shader parameter to a float3 array.

Declaration
void SetShaderParam(IUniformHandle param, float3[] val)
Parameters
Type Name Description
IUniformHandle param

The IUniformHandle identifier.

float3[] val

The float3 array that should be assigned to the shader array parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, float4)

Sets the shader parameter to a float4 value.

Declaration
void SetShaderParam(IUniformHandle param, float4 val)
Parameters
Type Name Description
IUniformHandle param

The shader parameter identifier.

float4 val

The float4 value that should be assigned to the shader parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, float4[])

Sets the shader parameter to a float4 array.

Declaration
void SetShaderParam(IUniformHandle param, float4[] val)
Parameters
Type Name Description
IUniformHandle param

The IUniformHandle identifier.

float4[] val

The float4 array that should be assigned to the shader array parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, float4x4)

Sets the shader parameter to a float4x4 matrix value.

Declaration
void SetShaderParam(IUniformHandle param, float4x4 val)
Parameters
Type Name Description
IUniformHandle param

The shader parameter identifier.

float4x4 val

The float4x4 matrix that should be assigned to the shader parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, float4x4[])

Sets the shader parameter to a float4x4 matrix array.

Declaration
void SetShaderParam(IUniformHandle param, float4x4[] val)
Parameters
Type Name Description
IUniformHandle param

The shader parameter identifier.

float4x4[] val

The float4x4 matrix array that should be assigned to the shader array parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, int2)

Sets a int2 shader parameter.

Declaration
void SetShaderParam(IUniformHandle param, int2 val)
Parameters
Type Name Description
IUniformHandle param

The parameter.

int2 val

The value.

SetShaderParam(IUniformHandle, Double)

Sets the specified shader parameter to a double value.

Declaration
void SetShaderParam(IUniformHandle param, double val)
Parameters
Type Name Description
IUniformHandle param

The shader parameter identifier.

System.Double val

The float value that should be assigned to the shader parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, Int32)

Sets the shader parameter to a integer value.

Declaration
void SetShaderParam(IUniformHandle param, int val)
Parameters
Type Name Description
IUniformHandle param

The shader parameter identifier.

System.Int32 val

The integer value that should be assigned to the shader parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParam(IUniformHandle, Single)

Sets the specified shader parameter to a float value.

Declaration
void SetShaderParam(IUniformHandle param, float val)
Parameters
Type Name Description
IUniformHandle param

The shader parameter identifier.

System.Single val

The float value that should be assigned to the shader parameter.

Remarks

GetShaderUniformParam(IShaderHandle, String) to see how to retrieve an identifier for a given uniform parameter name used in a shader program.

SetShaderParamImage(IUniformHandle, ITextureHandle, TextureType, ImagePixelFormat)

Sets a Shader Parameter to a created texture.

Declaration
void SetShaderParamImage(IUniformHandle param, ITextureHandle texId, TextureType texTarget, ImagePixelFormat format)
Parameters
Type Name Description
IUniformHandle param

Shader Parameter used for texture binding.

ITextureHandle texId

An ITexture probably returned from CreateTexture() method.

TextureType texTarget

The texture type, describing to which texture target the texture gets bound to.

ImagePixelFormat format

The internal sized format of the texture.

SetShaderParamTexture(IUniformHandle, ITextureHandle, TextureType)

Sets a Shader Parameter to a created texture.

Declaration
void SetShaderParamTexture(IUniformHandle param, ITextureHandle texId, TextureType texTarget)
Parameters
Type Name Description
IUniformHandle param

Shader Parameter used for texture binding.

ITextureHandle texId

An ITexture probably returned from CreateTexture() method.

TextureType texTarget

The texture type, describing to which texture target the texture gets bound to.

SetShaderParamTextureArray(IUniformHandle, ITextureHandle[], TextureType)

Sets a given Shader Parameter to a created texture

Declaration
void SetShaderParamTextureArray(IUniformHandle param, ITextureHandle[] texIds, TextureType texTarget)
Parameters
Type Name Description
IUniformHandle param

Shader Parameter used for texture binding

ITextureHandle[] texIds

An array of ITextureHandles probably returned from CreateTexture method

TextureType texTarget

The texture type, describing to which texture target the texture gets bound to.

SetTangents(IMeshImp, ReadOnlySpan<float4>)

Binds the tangents onto the GL render context and assigns an TangentBuffer index to the passed IMeshImp instance.

Declaration
void SetTangents(IMeshImp mr, ReadOnlySpan<float4> tangents)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<float4> tangents

The tangents.

Exceptions
Type Condition
System.ArgumentException

Tangents must not be null or empty

System.ApplicationException

SetTextureFilterMode(ITextureHandle, TextureFilterMode)

Sets the textures filter mode (TextureFilterMode at runtime.

Declaration
void SetTextureFilterMode(ITextureHandle tex, TextureFilterMode filterMode)
Parameters
Type Name Description
ITextureHandle tex

The handle of the texture.

TextureFilterMode filterMode

The new filter mode.

SetTextureWrapMode(ITextureHandle, TextureWrapMode)

Sets the textures filter mode (TextureWrapMode at runtime.

Declaration
void SetTextureWrapMode(ITextureHandle tex, TextureWrapMode wrapMode)
Parameters
Type Name Description
ITextureHandle tex

The handle of the texture.

TextureWrapMode wrapMode

The new wrap mode.

SetTriangles(IMeshImp, ReadOnlySpan<UInt32>)

Binds the triangles onto the GL render context and assigns an ElementBuffer index to the passed IMeshImp instance.

Declaration
void SetTriangles(IMeshImp mr, ReadOnlySpan<uint> triangleIndices)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<System.UInt32> triangleIndices

The triangle indices.

Exceptions
Type Condition
System.ArgumentException

triangleIndices must not be null or empty

SetUVs(IMeshImp, ReadOnlySpan<float2>)

Binds the UV coordinates onto the GL render context and assigns an UVBuffer index to the passed IMeshImp instance.

Declaration
void SetUVs(IMeshImp mr, ReadOnlySpan<float2> uvs)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

System.ReadOnlySpan<float2> uvs

The UV's.

Exceptions
Type Condition
System.ArgumentException

UVs must not be null or empty

SetVertexArrayObject(IMeshImp)

Binds the VertexArrayPbject onto the GL render context and assigns its index to the passed IMeshImp instance.

Declaration
void SetVertexArrayObject(IMeshImp mr)
Parameters
Type Name Description
IMeshImp mr

The IMeshImp instance.

SetVertices(IMeshImp, ReadOnlySpan<float3>)

Binds the vertices onto the GL render context and assigns an VertexBuffer index to the passed IMeshImp instance.

Declaration
void SetVertices(IMeshImp mesh, ReadOnlySpan<float3> vertices)
Parameters
Type Name Description
IMeshImp mesh

The IMeshImp instance.

System.ReadOnlySpan<float3> vertices

The vertices.

Exceptions
Type Condition
System.ArgumentException

Vertices must not be null or empty

StorageBufferSetData<T>(IStorageBuffer, T[])

Uploads the given data to the SSBO. If the buffer is not created on the GPU by no it will be.

Declaration
void StorageBufferSetData<T>(IStorageBuffer storageBuffer, T[] data)
    where T : struct
Parameters
Type Name Description
IStorageBuffer storageBuffer

The Storage Buffer Object on the CPU.

T[] data

The data that will be uploaded.

Type Parameters
Name Description
T

The data type.

UpdateTextureRegion(ITextureHandle, ITexture, Int32, Int32, Int32, Int32)

Updates the given region of a texture with the passed image data.

Declaration
void UpdateTextureRegion(ITextureHandle tex, ITexture img, int startX, int startY, int width, int height)
Parameters
Type Name Description
ITextureHandle tex

The texture.

ITexture img

The image.

System.Int32 startX

The start x.

System.Int32 startY

The start y.

System.Int32 width

The width.

System.Int32 height

The height.

Viewport(Int32, Int32, Int32, Int32)

Sets the rectangular output region within the output buffer(s).

Declaration
void Viewport(int x, int y, int width, int height)
Parameters
Type Name Description
System.Int32 x

leftmost pixel of the rectangular output region within the output buffer.

System.Int32 y

topmost pixel of the rectangular output region within the output buffer.

System.Int32 width

horizontal size (in pixels) of the output region.

System.Int32 height

vertical size (in pixels) of the output region.

Remarks

Setting the viewport limits the rendering output to the specified rectangular region.

In This Article
  • Properties
    • ClearColor
    • ClearDepth
    • FuseePlatformId
  • Methods
    • AttacheTextureToFbo(IRenderTarget, Boolean, ITextureHandle, Int32)
    • BlitMultisample2DTextureToTexture(IWritableTexture, IWritableTexture)
    • Clear(ClearFlags)
    • ColorMask(Boolean, Boolean, Boolean, Boolean)
    • ConnectBufferToShaderStorage(IShaderHandle, IStorageBuffer, String)
    • CreateGBufferTarget(TexRes)
    • CreateInstanceDataImp(IMeshImp)
    • CreateMeshImp()
    • CreateShaderProgram(String, String, String)
    • CreateShaderProgramCompute(String)
    • CreateTexture(ITexture)
    • CreateTexture(IWritableArrayTexture)
    • CreateTexture(IWritableCubeMap)
    • CreateTexture(IWritableTexture)
    • DebugLine(float3, float3, float4)
    • DeleteFrameBuffer(IBufferHandle)
    • DeleteRenderBuffer(IBufferHandle)
    • DeleteStorageBuffer(IBufferHandle)
    • DetachTextureFromFbo(IRenderTarget, Boolean, Int32)
    • DisableDepthClamp()
    • DispatchCompute(Int32, Int32, Int32, Int32)
    • EnableDepthClamp()
    • GetActiveUniformsList(IShaderHandle)
    • GetBufferContent(Rectangle, ITextureHandle)
    • GetHardwareCapabilities(HardwareCapability)
    • GetHardwareDescription()
    • GetPixelColor(Int32, Int32, Int32, Int32)
    • GetPixelDepth(Int32, Int32)
    • GetRenderState(RenderState)
    • GetShaderStorageBufferList(IShaderHandle)
    • GetShaderUniformParam(IShaderHandle, String)
    • MemoryBarrier()
    • RemoveBiTangents(IMeshImp)
    • RemoveBoneIndices(IMeshImp)
    • RemoveBoneWeights(IMeshImp)
    • RemoveColors(IMeshImp)
    • RemoveColors1(IMeshImp)
    • RemoveColors2(IMeshImp)
    • RemoveFlags(IMeshImp)
    • RemoveInstanceData(IInstanceDataImp)
    • RemoveNormals(IMeshImp)
    • RemoveShader(IShaderHandle)
    • RemoveTangents(IMeshImp)
    • RemoveTextureHandle(ITextureHandle)
    • RemoveTriangles(IMeshImp)
    • RemoveUVs(IMeshImp)
    • RemoveVertices(IMeshImp)
    • Render(IMeshImp, IInstanceDataImp)
    • Scissor(Int32, Int32, Int32, Int32)
    • SetActiveAndBindTexture(IUniformHandle, ITextureHandle, TextureType)
    • SetActiveAndBindTexture(IUniformHandle, ITextureHandle, TextureType, out Int32)
    • SetActiveAndBindTextureArray(IUniformHandle, ITextureHandle[], TextureType)
    • SetActiveAndBindTextureArray(IUniformHandle, ITextureHandle[], TextureType, out Int32[])
    • SetBiTangents(IMeshImp, ReadOnlySpan<float3>)
    • SetBoneIndices(IMeshImp, ReadOnlySpan<float4>)
    • SetBoneWeights(IMeshImp, ReadOnlySpan<float4>)
    • SetColors(IMeshImp, ReadOnlySpan<UInt32>)
    • SetColors1(IMeshImp, ReadOnlySpan<UInt32>)
    • SetColors2(IMeshImp, ReadOnlySpan<UInt32>)
    • SetFlags(IMeshImp, ReadOnlySpan<UInt32>)
    • SetInstanceColor(IInstanceDataImp, float4[])
    • SetInstanceTransform(IInstanceDataImp, float3[], float3[], float3[])
    • SetLineWidth(Single)
    • SetNormals(IMeshImp, ReadOnlySpan<float3>)
    • SetRenderState(RenderState, UInt32)
    • SetRenderTarget(IRenderTarget, ITextureHandle[])
    • SetRenderTarget(IWritableArrayTexture, Int32, ITextureHandle)
    • SetRenderTarget(IWritableCubeMap, ITextureHandle)
    • SetRenderTarget(IWritableTexture, ITextureHandle)
    • SetShader(IShaderHandle)
    • SetShaderParam(IUniformHandle, float2)
    • SetShaderParam(IUniformHandle, float2[])
    • SetShaderParam(IUniformHandle, float3)
    • SetShaderParam(IUniformHandle, float3[])
    • SetShaderParam(IUniformHandle, float4)
    • SetShaderParam(IUniformHandle, float4[])
    • SetShaderParam(IUniformHandle, float4x4)
    • SetShaderParam(IUniformHandle, float4x4[])
    • SetShaderParam(IUniformHandle, int2)
    • SetShaderParam(IUniformHandle, Double)
    • SetShaderParam(IUniformHandle, Int32)
    • SetShaderParam(IUniformHandle, Single)
    • SetShaderParamImage(IUniformHandle, ITextureHandle, TextureType, ImagePixelFormat)
    • SetShaderParamTexture(IUniformHandle, ITextureHandle, TextureType)
    • SetShaderParamTextureArray(IUniformHandle, ITextureHandle[], TextureType)
    • SetTangents(IMeshImp, ReadOnlySpan<float4>)
    • SetTextureFilterMode(ITextureHandle, TextureFilterMode)
    • SetTextureWrapMode(ITextureHandle, TextureWrapMode)
    • SetTriangles(IMeshImp, ReadOnlySpan<UInt32>)
    • SetUVs(IMeshImp, ReadOnlySpan<float2>)
    • SetVertexArrayObject(IMeshImp)
    • SetVertices(IMeshImp, ReadOnlySpan<float3>)
    • StorageBufferSetData<T>(IStorageBuffer, T[])
    • UpdateTextureRegion(ITextureHandle, ITexture, Int32, Int32, Int32, Int32)
    • Viewport(Int32, Int32, Int32, Int32)
Generated by DocFX
GitHub Repo
Back to top