Documentation ¶
Index ¶
- Constants
- func NewShader_3DAxes(wctx *wcommon.WebGLContext) *wcommon.Shader
- func NewShader_ColorOnly(wctx *wcommon.WebGLContext) *wcommon.Shader
- func NewShader_InstancePoseColor(wctx *wcommon.WebGLContext) *wcommon.Shader
- func NewShader_NormalColor(wctx *wcommon.WebGLContext) *wcommon.Shader
- func NewShader_NormalTexture(wctx *wcommon.WebGLContext) *wcommon.Shader
- func NewShader_TextureOnly(wctx *wcommon.WebGLContext) *wcommon.Shader
- type Camera
- func (self *Camera) GetCenter() [3]float32
- func (self *Camera) GetProjMatrix() *geom3d.Matrix4
- func (self *Camera) GetViewMatrix() *geom3d.Matrix4
- func (self *Camera) RotateAroundAxis(axis [3]float32, angle_in_degree float32) *Camera
- func (self *Camera) RotateAroundPoint(distance float32, h_angle float32, v_angle float32) *Camera
- func (self *Camera) RotateByPitch(angle_in_degree float32) *Camera
- func (self *Camera) RotateByRoll(angle_in_degree float32) *Camera
- func (self *Camera) RotateByYaw(angle_in_degree float32) *Camera
- func (self *Camera) SetAspectRatio(width int, height int) *Camera
- func (self *Camera) SetPose(from [3]float32, lookat [3]float32, up [3]float32) *Camera
- func (self *Camera) SetPoseWithCameraAxes(camX [3]float32, camY [3]float32, camZ [3]float32, center [3]float32) *Camera
- func (self *Camera) SetPoseWithMcw(Mcw *geom3d.Matrix4) *Camera
- func (self *Camera) SetZoom(zoom float32) *Camera
- func (self *Camera) ShowInfo()
- func (self *Camera) TestDataBuffer(dbuffer []float32, stride int)
- func (self *Camera) Translate(tx float32, ty float32, tz float32) *Camera
- type CameraProjection
- type Geometry
- func NewGeometry() *Geometry
- func NewGeometry_Cube(xsize float32, ysize float32, zsize float32) *Geometry
- func NewGeometry_CubeWithTexture(xsize float32, ysize float32, zsize float32) *Geometry
- func NewGeometry_Cylinder(nsides int, radius float32, height float32, stt_angle float32, solid bool) *Geometry
- func NewGeometry_EmptyExample() *Geometry
- func NewGeometry_Polygon(n int, radius float32, starting_angle_in_degree float32) *Geometry
- func NewGeometry_Pyramid(nsides int, radius float32, height float32, stt_angle float32, solid bool) *Geometry
- func NewGeometry_SolidFromCentersAndRadii(centers [][3]float32, radii []float32, nsegments int) *Geometry
- func NewGeometry_SolidFromFaceAndHeight(face [][3]float32, height float32) *Geometry
- func NewGeometry_Sphere(radius float32, wsegs int, hsegs int) *Geometry
- func (self *Geometry) AddEdge(edge []uint32) uint32
- func (self *Geometry) AddFace(face []uint32) uint32
- func (self *Geometry) AddNormal(normal_vector [3]float32) *Geometry
- func (self *Geometry) AddTextureUV(tuv []float32) *Geometry
- func (self *Geometry) AddVertex(coords [3]float32) uint32
- func (self *Geometry) AppyMatrix4(m *geom3d.Matrix4) *Geometry
- func (self *Geometry) BuildDataBuffers(for_points bool, for_lines bool, for_faces bool)
- func (self *Geometry) BuildDataBuffersForWireframe()
- func (self *Geometry) BuildNormalsForFace()
- func (self *Geometry) BuildNormalsForVertex()
- func (self *Geometry) BuildWebGLBuffers(wctx *wcommon.WebGLContext, for_points bool, for_lines bool, for_faces bool)
- func (self *Geometry) ChangeNormal(idx int, normal_vector [3]float32) *Geometry
- func (self *Geometry) Clear(geom bool, data_buf bool, webgl_buf bool) *Geometry
- func (self *Geometry) GetFaceNormal(fidx int) [3]float32
- func (self *Geometry) GetVertexNormal(vidx int) [3]float32
- func (self *Geometry) GetWebGLBuffer(draw_mode int) (js.Value, int, [4]int)
- func (self *Geometry) HasNormalFor(mode string) bool
- 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(axis [3]float32, angle_in_degree float32) *Geometry
- func (self *Geometry) Scale(sx float32, sy float32, sz float32) *Geometry
- func (self *Geometry) SetEdges(edges [][]uint32) *Geometry
- func (self *Geometry) SetFaces(faces [][]uint32) *Geometry
- func (self *Geometry) SetNormals(normals [][3]float32) *Geometry
- func (self *Geometry) SetTextureUVs(tuvs [][]float32) *Geometry
- func (self *Geometry) SetVertices(vertices [][3]float32) *Geometry
- func (self *Geometry) ShowInfo()
- func (self *Geometry) Translate(tx float32, ty float32, tz float32) *Geometry
- type Lighting
- type OrthographicProjection
- func (self *OrthographicProjection) GetMatrix() *geom3d.Matrix4
- func (self *OrthographicProjection) GetParameters() ([2]int, float32, float32, [2]float32)
- func (self *OrthographicProjection) IsOrthographic() bool
- func (self *OrthographicProjection) IsPerspective() bool
- func (self *OrthographicProjection) MultiplyVector3(v [3]float32) [3]float32
- func (self *OrthographicProjection) SetAspectRatio(width int, height int)
- func (self *OrthographicProjection) SetNearFar(near float32, far float32)
- func (self *OrthographicProjection) SetZoom(zoom float32)
- 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, xyz [3]float32, color string, offref string) *OverlayLabelLayer
- func (self *OverlayLabelLayer) CreateLabel(label_text string, xyz [3]float32, color string) *OverlayLabel
- func (self *OverlayLabelLayer) FindLabel(label_text string) *OverlayLabel
- func (self *OverlayLabelLayer) Render(proj *geom3d.Matrix4, view *geom3d.Matrix4)
- 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, xyz [3]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(proj *geom3d.Matrix4, vwmd *geom3d.Matrix4)
- type PerspectiveProjection
- func (self *PerspectiveProjection) GetMatrix() *geom3d.Matrix4
- func (self *PerspectiveProjection) GetParameters() ([2]int, float32, float32, [2]float32)
- func (self *PerspectiveProjection) IsOrthographic() bool
- func (self *PerspectiveProjection) IsPerspective() bool
- func (self *PerspectiveProjection) MultiplyVector3(v [3]float32) [3]float32
- func (self *PerspectiveProjection) SetAspectRatio(width int, height int)
- func (self *PerspectiveProjection) SetZoom(zoom float32)
- type Renderer
- type Scene
- type SceneObject
- func NewSceneObject(geometry wcommon.Geometry, material *wcommon.Material, vshader *wcommon.Shader, ...) *SceneObject
- func NewSceneObject_3DAxes(wctx *wcommon.WebGLContext, length float32) *SceneObject
- func NewSceneObject_Airplane(wctx *wcommon.WebGLContext) *SceneObject
- func NewSceneObject_CubeInstances(wctx *wcommon.WebGLContext) *SceneObject
- func NewSceneObject_CubeWithTexture(wctx *wcommon.WebGLContext) *SceneObject
- func NewSceneObject_CylinderWireframe(wctx *wcommon.WebGLContext) *SceneObject
- func (self *SceneObject) AddChild(child *SceneObject) *SceneObject
- func (self *SceneObject) GetChildren() []*SceneObject
- func (self *SceneObject) GetModelMatrix() *geom3d.Matrix4
- func (self *SceneObject) Rotate(axis [3]float32, angle_in_degree float32) *SceneObject
- func (self *SceneObject) Scale(sx float32, sy float32, sz 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(txyz [3]float32, axis [3]float32, angle_in_degree float32, sxyz [3]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, tz float32) *SceneObject
Constants ¶
View Source
const InDegree = (180.0 / math.Pi)
View Source
const InRadian = (math.Pi / 180.0)
Variables ¶
This section is empty.
Functions ¶
func NewShader_3DAxes ¶
func NewShader_3DAxes(wctx *wcommon.WebGLContext) *wcommon.Shader
func NewShader_ColorOnly ¶
func NewShader_ColorOnly(wctx *wcommon.WebGLContext) *wcommon.Shader
func NewShader_InstancePoseColor ¶
func NewShader_InstancePoseColor(wctx *wcommon.WebGLContext) *wcommon.Shader
func NewShader_NormalColor ¶
func NewShader_NormalColor(wctx *wcommon.WebGLContext) *wcommon.Shader
func NewShader_NormalTexture ¶
func NewShader_NormalTexture(wctx *wcommon.WebGLContext) *wcommon.Shader
func NewShader_TextureOnly ¶
func NewShader_TextureOnly(wctx *wcommon.WebGLContext) *wcommon.Shader
Types ¶
type Camera ¶
type Camera struct {
// contains filtered or unexported fields
}
func NewOrthographicCamera ¶
func NewPerspectiveCamera ¶
func (*Camera) GetProjMatrix ¶
func (*Camera) GetViewMatrix ¶
func (*Camera) RotateAroundAxis ¶
func (*Camera) RotateAroundPoint ¶
func (*Camera) RotateByPitch ¶
func (*Camera) RotateByRoll ¶
func (*Camera) RotateByYaw ¶
func (*Camera) SetPoseWithCameraAxes ¶
func (*Camera) TestDataBuffer ¶
type CameraProjection ¶
type Geometry ¶
type Geometry struct {
// contains filtered or unexported fields
}
func NewGeometry ¶
func NewGeometry() *Geometry
func NewGeometry_Cube ¶
func NewGeometry_Cylinder ¶
func NewGeometry_EmptyExample ¶
func NewGeometry_EmptyExample() *Geometry
func NewGeometry_Polygon ¶
func NewGeometry_Pyramid ¶
func (*Geometry) AddTextureUV ¶
func (*Geometry) BuildDataBuffers ¶
func (*Geometry) BuildDataBuffersForWireframe ¶
func (self *Geometry) BuildDataBuffersForWireframe()
func (*Geometry) BuildNormalsForFace ¶
func (self *Geometry) BuildNormalsForFace()
func (*Geometry) BuildNormalsForVertex ¶
func (self *Geometry) BuildNormalsForVertex()
func (*Geometry) BuildWebGLBuffers ¶
func (*Geometry) ChangeNormal ¶
func (*Geometry) GetFaceNormal ¶
func (*Geometry) GetVertexNormal ¶
func (*Geometry) GetWebGLBuffer ¶
func (*Geometry) HasNormalFor ¶
func (*Geometry) HasTextureFor ¶
func (*Geometry) IsDataBufferReady ¶
func (*Geometry) IsWebGLBufferReady ¶
func (*Geometry) SetNormals ¶
func (*Geometry) SetTextureUVs ¶
func (*Geometry) SetVertices ¶
type OrthographicProjection ¶
type OrthographicProjection struct {
// contains filtered or unexported fields
}
func NewOrthographicProjection ¶
func NewOrthographicProjection(wh [2]int, fov_in_clipwidth float32, zoom float32, nearfar [2]float32) *OrthographicProjection
func (*OrthographicProjection) GetMatrix ¶
func (self *OrthographicProjection) GetMatrix() *geom3d.Matrix4
func (*OrthographicProjection) GetParameters ¶
func (self *OrthographicProjection) GetParameters() ([2]int, float32, float32, [2]float32)
func (*OrthographicProjection) IsOrthographic ¶
func (self *OrthographicProjection) IsOrthographic() bool
func (*OrthographicProjection) IsPerspective ¶
func (self *OrthographicProjection) IsPerspective() bool
func (*OrthographicProjection) MultiplyVector3 ¶
func (self *OrthographicProjection) MultiplyVector3(v [3]float32) [3]float32
func (*OrthographicProjection) SetAspectRatio ¶
func (self *OrthographicProjection) SetAspectRatio(width int, height int)
func (*OrthographicProjection) SetNearFar ¶
func (self *OrthographicProjection) SetNearFar(near float32, far float32)
func (*OrthographicProjection) SetZoom ¶
func (self *OrthographicProjection) SetZoom(zoom float32)
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, xyz [3]float32, color string, offref string) *OverlayLabelLayer
func (*OverlayLabelLayer) CreateLabel ¶
func (self *OverlayLabelLayer) CreateLabel(label_text string, xyz [3]float32, color string) *OverlayLabel
func (*OverlayLabelLayer) FindLabel ¶
func (self *OverlayLabelLayer) FindLabel(label_text string) *OverlayLabel
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, xyz [3]float32) *OverlayMarkerLayer
func (*OverlayMarkerLayer) AddArrowMarker ¶
func (self *OverlayMarkerLayer) AddArrowMarker(size float32, color string, outline_color string, rotation float32, xyz [3]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, xyz [3]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 ¶
type PerspectiveProjection ¶
type PerspectiveProjection struct {
// contains filtered or unexported fields
}
func NewPerspectiveProjection ¶
func NewPerspectiveProjection(wh [2]int, fov_in_degree float32, zoom float32, nearfar [2]float32) *PerspectiveProjection
func (*PerspectiveProjection) GetMatrix ¶
func (self *PerspectiveProjection) GetMatrix() *geom3d.Matrix4
func (*PerspectiveProjection) GetParameters ¶
func (self *PerspectiveProjection) GetParameters() ([2]int, float32, float32, [2]float32)
func (*PerspectiveProjection) IsOrthographic ¶
func (self *PerspectiveProjection) IsOrthographic() bool
func (*PerspectiveProjection) IsPerspective ¶
func (self *PerspectiveProjection) IsPerspective() bool
func (*PerspectiveProjection) MultiplyVector3 ¶
func (self *PerspectiveProjection) MultiplyVector3(v [3]float32) [3]float32
func (*PerspectiveProjection) SetAspectRatio ¶
func (self *PerspectiveProjection) SetAspectRatio(width int, height int)
func (*PerspectiveProjection) SetZoom ¶
func (self *PerspectiveProjection) SetZoom(zoom float32)
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 ¶
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) GetBkgColor ¶
func (*Scene) SetBkgColor ¶
type SceneObject ¶
type SceneObject struct { Geometry wcommon.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_3DAxes ¶
func NewSceneObject_3DAxes(wctx *wcommon.WebGLContext, length float32) *SceneObject
func NewSceneObject_Airplane ¶
func NewSceneObject_Airplane(wctx *wcommon.WebGLContext) *SceneObject
func NewSceneObject_CubeInstances ¶
func NewSceneObject_CubeInstances(wctx *wcommon.WebGLContext) *SceneObject
func NewSceneObject_CubeWithTexture ¶
func NewSceneObject_CubeWithTexture(wctx *wcommon.WebGLContext) *SceneObject
func NewSceneObject_CylinderWireframe ¶
func NewSceneObject_CylinderWireframe(wctx *wcommon.WebGLContext) *SceneObject
func (*SceneObject) AddChild ¶
func (self *SceneObject) AddChild(child *SceneObject) *SceneObject
func (*SceneObject) GetChildren ¶
func (self *SceneObject) GetChildren() []*SceneObject
func (*SceneObject) GetModelMatrix ¶
func (self *SceneObject) GetModelMatrix() *geom3d.Matrix4
func (*SceneObject) Rotate ¶
func (self *SceneObject) Rotate(axis [3]float32, angle_in_degree float32) *SceneObject
func (*SceneObject) Scale ¶
func (self *SceneObject) Scale(sx float32, sy float32, sz 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(txyz [3]float32, axis [3]float32, angle_in_degree float32, sxyz [3]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, tz float32) *SceneObject
Source Files ¶
Click to show internal directories.
Click to hide internal directories.