C# Class CSharpGL.InnerPickableRenderer

Show file Open project: bitzhuwei/CSharpGL Class Usage Examples

Protected Properties

Property Type Description
uniformmMVP4Picking CSharpGL.UniformMat4

Private Properties

Property Type Description
GetPrimitiveRestartState PrimitiveRestartState
Render4InnerPicking void
Render4Picking void
UpdatePolygonMode void

Public Methods

Method Description
GetPickedGeometry ( RenderEventArgs arg, uint stageVertexId, int x, int y ) : PickedGeometry

GetVertexCount ( ) : uint

MovePositions ( System.Point differenceOnScreen, CSharpGL.mat4 viewMatrix, CSharpGL.mat4 projectionMatrix, vec4 viewport ) : void

Move vertexes' position accroding to difference on screen.

根据differenceOnScreen来修改指定索引处的顶点位置。

MovePositions ( System.Point differenceOnScreen, CSharpGL.mat4 viewMatrix, CSharpGL.mat4 projectionMatrix, vec4 viewport, IEnumerable positionIndexes ) : void

Move vertexes' position accroding to difference on screen.

根据differenceOnScreen来修改指定索引处的顶点位置。

Render4Picking ( RenderEventArgs arg ) : void

Protected Methods

Method Description
DoInitialize ( ) : void
FillPickedGeometrysPosition ( uint indexes ) : vec3[]
FillPickedGeometrysPosition ( uint firstIndex, int indexCount ) : vec3[]
PickingStateesOff ( ) : void
PickingStateesOn ( ) : void

Private Methods

Method Description
GetPrimitiveRestartState ( OneIndexBuffer indexBuffer ) : PrimitiveRestartState
Render4InnerPicking ( RenderEventArgs arg, IndexBuffer indexBuffer ) : void

在此Buffer中的图元进行N选1 select a primitive geometry(point, line, triangle, quad, polygon) from points/lines/triangles/quads/polygons in this renderer.

Render4Picking ( RenderEventArgs arg, IndexBuffer temporaryIndexBuffer ) : void

render with specified index buffer.

UpdatePolygonMode ( PickingGeometryType geometryType ) : void

Method Details

DoInitialize() protected method

protected DoInitialize ( ) : void
return void

FillPickedGeometrysPosition() protected method

protected FillPickedGeometrysPosition ( uint indexes ) : vec3[]
indexes uint
return vec3[]

FillPickedGeometrysPosition() protected method

protected FillPickedGeometrysPosition ( uint firstIndex, int indexCount ) : vec3[]
firstIndex uint
indexCount int
return vec3[]

GetPickedGeometry() public abstract method

public abstract GetPickedGeometry ( RenderEventArgs arg, uint stageVertexId, int x, int y ) : PickedGeometry
arg RenderEventArgs
stageVertexId uint
x int mouse position(Left Down is (0, 0)).
y int mouse position(Left Down is (0, 0)).
return PickedGeometry

GetVertexCount() public method

public GetVertexCount ( ) : uint
return uint

MovePositions() public method

Move vertexes' position accroding to difference on screen.

根据differenceOnScreen来修改指定索引处的顶点位置。

public MovePositions ( System.Point differenceOnScreen, CSharpGL.mat4 viewMatrix, CSharpGL.mat4 projectionMatrix, vec4 viewport ) : void
differenceOnScreen System.Point
viewMatrix CSharpGL.mat4
projectionMatrix CSharpGL.mat4
viewport vec4
return void

MovePositions() public method

Move vertexes' position accroding to difference on screen.

根据differenceOnScreen来修改指定索引处的顶点位置。

public MovePositions ( System.Point differenceOnScreen, CSharpGL.mat4 viewMatrix, CSharpGL.mat4 projectionMatrix, vec4 viewport, IEnumerable positionIndexes ) : void
differenceOnScreen System.Point
viewMatrix CSharpGL.mat4
projectionMatrix CSharpGL.mat4
viewport vec4
positionIndexes IEnumerable
return void

PickingStateesOff() protected method

protected PickingStateesOff ( ) : void
return void

PickingStateesOn() protected method

protected PickingStateesOn ( ) : void
return void

Render4Picking() public method

public Render4Picking ( RenderEventArgs arg ) : void
arg RenderEventArgs
return void

Property Details

uniformmMVP4Picking protected property

uniform mat4 VMP; (in shader)
protected UniformMat4,CSharpGL uniformmMVP4Picking
return CSharpGL.UniformMat4