Documentation ¶
Index ¶
- func NewShader_2DAxes(wctx *wcommon.WebGLContext) *wcommon.Shader
- func NewShader_InstancePoseColor(wctx *wcommon.WebGLContext) *wcommon.Shader
- func NewShader_MaterialColor(wctx *wcommon.WebGLContext) *wcommon.Shader
- func NewShader_MaterialTexture(wctx *wcommon.WebGLContext) *wcommon.Shader
- func SelectPoseByWorldXY(sobj *SceneObject)
- type Camera
- func (self *Camera) ApplyBoundingBox(position bool, zoomlevel bool) *Camera
- func (self *Camera) IsPointVisible(wxy [2]float32) bool
- func (self *Camera) ProjectWorldToCanvas(wxy [2]float32) [2]int
- func (self *Camera) ProjectWorldToClip(wxy [2]float32) [2]float32
- func (self *Camera) Rotate(angle_in_degree float32) *Camera
- func (self *Camera) SetAspectRatio(width int, height int) *Camera
- func (self *Camera) SetBoundingBox(bbox [2][2]float32) *Camera
- func (self *Camera) SetFov(fov float32) *Camera
- func (self *Camera) SetPose(cx float32, cy float32, angle_in_degree float32) *Camera
- func (self *Camera) SetZoom(zoom float32) *Camera
- func (self *Camera) ShowInfo()
- func (self *Camera) Translate(tx float32, ty float32) *Camera
- func (self *Camera) UnprojectCanvasDeltaToWorld(deltaxy [2]int) [2]float32
- func (self *Camera) UnprojectCanvasToWorld(canvasxy [2]int) [2]float32
- type Geometry
- func (self *Geometry) AddEdge(edge []uint32) uint32
- func (self *Geometry) AddFace(face []uint32) uint32
- func (self *Geometry) AddTextureUV(tuv []float32) *Geometry
- func (self *Geometry) AddVertex(coords [2]float32) uint32
- func (self *Geometry) AppyMatrix(matrix *geom2d.Matrix3) *Geometry
- func (self *Geometry) BuildDataBuffers(for_points bool, for_lines bool, for_faces bool)
- func (self *Geometry) BuildDataBuffersForWireframe()
- func (self *Geometry) BuildWebGLBuffers(wctx *wcommon.WebGLContext, for_points bool, for_lines bool, for_faces bool)
- func (self *Geometry) Clear(geom bool, data_buf bool, webgl_buf bool) *Geometry
- func (self *Geometry) GetWebGLBuffer(draw_mode int) (js.Value, int, [4]int)
- func (self *Geometry) HasTextureFor(mode string) bool
- func (self *Geometry) IsDataBufferReady() bool
- func (self *Geometry) IsWebGLBufferReady() bool
- func (self *Geometry) Merge(g *Geometry) *Geometry
- func (self *Geometry) Rotate(angle_in_degree float32) *Geometry
- func (self *Geometry) Scale(sx float32, sy float32) *Geometry
- func (self *Geometry) SetEdges(edges [][]uint32) *Geometry
- func (self *Geometry) SetFaces(faces [][]uint32) *Geometry
- func (self *Geometry) SetTextureUVs(tuvs [][]float32) *Geometry
- func (self *Geometry) SetVertices(vertices [][2]float32) *Geometry
- func (self *Geometry) ShowInfo()
- func (self *Geometry) Translate(tx float32, ty float32) *Geometry
- type Overlay
- type OverlayLabel
- type OverlayLabelLayer
- func (self *OverlayLabelLayer) AddLabel(labels ...*OverlayLabel) *OverlayLabelLayer
- func (self *OverlayLabelLayer) AddLabelsForTest() *OverlayLabelLayer
- func (self *OverlayLabelLayer) AddTextLabel(label_text string, xy [2]float32, color string, offref string) *OverlayLabelLayer
- func (self *OverlayLabelLayer) CreateLabel(label_text string, xy [2]float32, color string) *OverlayLabel
- func (self *OverlayLabelLayer) FindLabel(label_text string) *OverlayLabel
- func (self *OverlayLabelLayer) Render(pvm *geom2d.Matrix3)
- func (self *OverlayLabelLayer) ShowInfo()
- type OverlayMarkerLayer
- func (self *OverlayMarkerLayer) AddArrowHeadMarker(size float32, color string, outline_color string, rotation float32, ...) *OverlayMarkerLayer
- func (self *OverlayMarkerLayer) AddArrowMarker(size float32, color string, outline_color string, rotation float32, ...) *OverlayMarkerLayer
- func (self *OverlayMarkerLayer) AddMarker(marker ...*SceneObject) *OverlayMarkerLayer
- func (self *OverlayMarkerLayer) AddMarkersForTest() *OverlayMarkerLayer
- func (self *OverlayMarkerLayer) AddSpriteMarker(imgpath string, color string, wh [2]float32, xy [2]float32, offref string) *OverlayMarkerLayer
- func (self *OverlayMarkerLayer) CreateArrowHeadMarker(size float32, color string, outline_color string, use_poses bool) *SceneObject
- func (self *OverlayMarkerLayer) CreateArrowMarker(size float32, color string, outline_color string, use_poses bool) *SceneObject
- func (self *OverlayMarkerLayer) CreateSpriteMarker(imgpath string, color string, wh [2]float32, offref string, use_poses bool) *SceneObject
- func (self *OverlayMarkerLayer) GetShaderForMarker(use_poses bool) *wcommon.Shader
- func (self *OverlayMarkerLayer) GetShaderForSpriteMarker(wh [2]float32, offrot [3]float32, use_poses bool) *wcommon.Shader
- func (self *OverlayMarkerLayer) Render(pvm *geom2d.Matrix3)
- type Renderer
- type Scene
- func (self *Scene) Add(scnobj ...*SceneObject) *Scene
- func (self *Scene) AddOverlay(overlay ...Overlay) *Scene
- func (self *Scene) Get(indices ...int) *SceneObject
- func (self *Scene) GetBBoxSizeCenter(renew bool) ([2][2]float32, [2]float32, [2]float32)
- func (self *Scene) GetBkgColor() [3]float32
- func (self *Scene) GetBoundingBox(renew bool) [2][2]float32
- func (self *Scene) SetBkgColor(color string) *Scene
- type SceneObject
- func NewSceneObject(geometry *Geometry, material *wcommon.Material, vshader *wcommon.Shader, ...) *SceneObject
- func NewSceneObject_2DAxes(wctx *wcommon.WebGLContext, length float32) *SceneObject
- func NewSceneObject_HexagonWireframe(wctx *wcommon.WebGLContext) *SceneObject
- func NewSceneObject_RectangleInstancesExample(wctx *wcommon.WebGLContext) *SceneObject
- func NewSceneObject_RedTriangle(wctx *wcommon.WebGLContext) *SceneObject
- func SelectObjectByWorldXY(scene *Scene) *SceneObject
- func (self *SceneObject) AddChild(child *SceneObject) *SceneObject
- func (self *SceneObject) GetBoundingBox(m *geom2d.Matrix3, renew bool) [2][2]float32
- func (self *SceneObject) Rotate(angle_in_degree float32) *SceneObject
- func (self *SceneObject) Scale(sx float32, sy float32) *SceneObject
- func (self *SceneObject) SetPoseValues(index int, offset int, values ...float32) *SceneObject
- func (self *SceneObject) SetPoses(poses *wcommon.SceneObjectPoses) *SceneObject
- func (self *SceneObject) SetTransformation(txy [2]float32, angle_in_degree float32, sxy [2]float32) *SceneObject
- func (self *SceneObject) SetupPoses(size int, count int, data []float32) *SceneObject
- func (self *SceneObject) ShowInfo()
- func (self *SceneObject) Translate(tx float32, ty float32) *SceneObject
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewShader_2DAxes ¶
func NewShader_2DAxes(wctx *wcommon.WebGLContext) *wcommon.Shader
func NewShader_InstancePoseColor ¶
func NewShader_InstancePoseColor(wctx *wcommon.WebGLContext) *wcommon.Shader
func NewShader_MaterialColor ¶
func NewShader_MaterialColor(wctx *wcommon.WebGLContext) *wcommon.Shader
func NewShader_MaterialTexture ¶
func NewShader_MaterialTexture(wctx *wcommon.WebGLContext) *wcommon.Shader
func SelectPoseByWorldXY ¶
func SelectPoseByWorldXY(sobj *SceneObject)
Types ¶
type Camera ¶
type Camera struct {
// contains filtered or unexported fields
}
func (*Camera) ApplyBoundingBox ¶
func (*Camera) IsPointVisible ¶
func (*Camera) ProjectWorldToCanvas ¶
func (*Camera) ProjectWorldToClip ¶
func (*Camera) SetBoundingBox ¶
func (*Camera) UnprojectCanvasDeltaToWorld ¶
func (*Camera) UnprojectCanvasToWorld ¶
type Geometry ¶
type Geometry struct {
// contains filtered or unexported fields
}
func NewGeometry ¶
func NewGeometry() *Geometry
func NewGeometry_Origin ¶
func NewGeometry_Origin() *Geometry
func NewGeometry_Polygon ¶
func NewGeometry_Rectangle ¶
func NewGeometry_Triangle ¶
func (*Geometry) AddTextureUV ¶
func (*Geometry) BuildDataBuffers ¶
func (*Geometry) BuildDataBuffersForWireframe ¶
func (self *Geometry) BuildDataBuffersForWireframe()
func (*Geometry) BuildWebGLBuffers ¶
func (*Geometry) GetWebGLBuffer ¶
func (*Geometry) HasTextureFor ¶
func (*Geometry) IsDataBufferReady ¶
func (*Geometry) IsWebGLBufferReady ¶
func (*Geometry) SetTextureUVs ¶
func (*Geometry) SetVertices ¶
type OverlayLabel ¶
type OverlayLabel struct {
// contains filtered or unexported fields
}
func (*OverlayLabel) SetBackground ¶
func (self *OverlayLabel) SetBackground(bkgtype string) *OverlayLabel
func (*OverlayLabel) SetCharacterWH ¶
func (self *OverlayLabel) SetCharacterWH(chwh [2]float32) *OverlayLabel
func (*OverlayLabel) SetPose ¶
func (self *OverlayLabel) SetPose(rotation float32, offset_reference string, offset [2]float32) *OverlayLabel
type OverlayLabelLayer ¶
type OverlayLabelLayer struct { Labels []*OverlayLabel // // contains filtered or unexported fields }
func NewOverlayLabelLayer ¶
func NewOverlayLabelLayer(wctx *wcommon.WebGLContext, fontsize int, outlined bool) *OverlayLabelLayer
func (*OverlayLabelLayer) AddLabel ¶
func (self *OverlayLabelLayer) AddLabel(labels ...*OverlayLabel) *OverlayLabelLayer
func (*OverlayLabelLayer) AddLabelsForTest ¶
func (self *OverlayLabelLayer) AddLabelsForTest() *OverlayLabelLayer
func (*OverlayLabelLayer) AddTextLabel ¶
func (self *OverlayLabelLayer) AddTextLabel(label_text string, xy [2]float32, color string, offref string) *OverlayLabelLayer
func (*OverlayLabelLayer) CreateLabel ¶
func (self *OverlayLabelLayer) CreateLabel(label_text string, xy [2]float32, color string) *OverlayLabel
func (*OverlayLabelLayer) FindLabel ¶
func (self *OverlayLabelLayer) FindLabel(label_text string) *OverlayLabel
func (*OverlayLabelLayer) Render ¶
func (self *OverlayLabelLayer) Render(pvm *geom2d.Matrix3)
func (*OverlayLabelLayer) ShowInfo ¶
func (self *OverlayLabelLayer) ShowInfo()
type OverlayMarkerLayer ¶
type OverlayMarkerLayer struct { Markers []*SceneObject // list of OverlayMarkers to be rendered (in pixels in CAMERA space) // contains filtered or unexported fields }
func NewOverlayMarkerLayer ¶
func NewOverlayMarkerLayer(wctx *wcommon.WebGLContext) *OverlayMarkerLayer
func (*OverlayMarkerLayer) AddArrowHeadMarker ¶
func (self *OverlayMarkerLayer) AddArrowHeadMarker(size float32, color string, outline_color string, rotation float32, xy [2]float32) *OverlayMarkerLayer
func (*OverlayMarkerLayer) AddArrowMarker ¶
func (self *OverlayMarkerLayer) AddArrowMarker(size float32, color string, outline_color string, rotation float32, xy [2]float32) *OverlayMarkerLayer
func (*OverlayMarkerLayer) AddMarker ¶
func (self *OverlayMarkerLayer) AddMarker(marker ...*SceneObject) *OverlayMarkerLayer
func (*OverlayMarkerLayer) AddMarkersForTest ¶
func (self *OverlayMarkerLayer) AddMarkersForTest() *OverlayMarkerLayer
func (*OverlayMarkerLayer) AddSpriteMarker ¶
func (self *OverlayMarkerLayer) AddSpriteMarker(imgpath string, color string, wh [2]float32, xy [2]float32, offref string) *OverlayMarkerLayer
func (*OverlayMarkerLayer) CreateArrowHeadMarker ¶
func (self *OverlayMarkerLayer) CreateArrowHeadMarker(size float32, color string, outline_color string, use_poses bool) *SceneObject
func (*OverlayMarkerLayer) CreateArrowMarker ¶
func (self *OverlayMarkerLayer) CreateArrowMarker(size float32, color string, outline_color string, use_poses bool) *SceneObject
func (*OverlayMarkerLayer) CreateSpriteMarker ¶
func (self *OverlayMarkerLayer) CreateSpriteMarker(imgpath string, color string, wh [2]float32, offref string, use_poses bool) *SceneObject
func (*OverlayMarkerLayer) GetShaderForMarker ¶
func (self *OverlayMarkerLayer) GetShaderForMarker(use_poses bool) *wcommon.Shader
func (*OverlayMarkerLayer) GetShaderForSpriteMarker ¶
func (*OverlayMarkerLayer) Render ¶
func (self *OverlayMarkerLayer) Render(pvm *geom2d.Matrix3)
type Renderer ¶
type Renderer struct {
// contains filtered or unexported fields
}
func NewRenderer ¶
func NewRenderer(wctx *wcommon.WebGLContext) *Renderer
func (*Renderer) RenderAxes ¶
func (*Renderer) RenderScene ¶
func (*Renderer) RenderSceneObject ¶
func (self *Renderer) RenderSceneObject(sobj *SceneObject, pvm *geom2d.Matrix3) error
type Scene ¶
type Scene struct {
// contains filtered or unexported fields
}
func (*Scene) Add ¶
func (self *Scene) Add(scnobj ...*SceneObject) *Scene
func (*Scene) AddOverlay ¶
func (*Scene) Get ¶
func (self *Scene) Get(indices ...int) *SceneObject
func (*Scene) GetBBoxSizeCenter ¶
func (*Scene) GetBkgColor ¶
func (*Scene) GetBoundingBox ¶
func (*Scene) SetBkgColor ¶
type SceneObject ¶
type SceneObject struct { Geometry *Geometry // geometry interface Material *wcommon.Material // material VShader *wcommon.Shader // vert shader and its bindings EShader *wcommon.Shader // edge shader and its bindings FShader *wcommon.Shader // face shader and its bindings UseDepth bool // depth test flag (default is true) UseBlend bool // blending flag with alpha (default is false) // contains filtered or unexported fields }
func NewSceneObject ¶
func NewSceneObject_2DAxes ¶
func NewSceneObject_2DAxes(wctx *wcommon.WebGLContext, length float32) *SceneObject
func NewSceneObject_HexagonWireframe ¶
func NewSceneObject_HexagonWireframe(wctx *wcommon.WebGLContext) *SceneObject
func NewSceneObject_RectangleInstancesExample ¶
func NewSceneObject_RectangleInstancesExample(wctx *wcommon.WebGLContext) *SceneObject
func NewSceneObject_RedTriangle ¶
func NewSceneObject_RedTriangle(wctx *wcommon.WebGLContext) *SceneObject
func SelectObjectByWorldXY ¶
func SelectObjectByWorldXY(scene *Scene) *SceneObject
func (*SceneObject) AddChild ¶
func (self *SceneObject) AddChild(child *SceneObject) *SceneObject
func (*SceneObject) GetBoundingBox ¶
func (self *SceneObject) GetBoundingBox(m *geom2d.Matrix3, renew bool) [2][2]float32
func (*SceneObject) Rotate ¶
func (self *SceneObject) Rotate(angle_in_degree float32) *SceneObject
func (*SceneObject) Scale ¶
func (self *SceneObject) Scale(sx float32, sy float32) *SceneObject
func (*SceneObject) SetPoseValues ¶
func (self *SceneObject) SetPoseValues(index int, offset int, values ...float32) *SceneObject
func (*SceneObject) SetPoses ¶
func (self *SceneObject) SetPoses(poses *wcommon.SceneObjectPoses) *SceneObject
func (*SceneObject) SetTransformation ¶
func (self *SceneObject) SetTransformation(txy [2]float32, angle_in_degree float32, sxy [2]float32) *SceneObject
func (*SceneObject) SetupPoses ¶
func (self *SceneObject) SetupPoses(size int, count int, data []float32) *SceneObject
func (*SceneObject) ShowInfo ¶
func (self *SceneObject) ShowInfo()
func (*SceneObject) Translate ¶
func (self *SceneObject) Translate(tx float32, ty float32) *SceneObject
Click to show internal directories.
Click to hide internal directories.