Versions in this module Expand all Collapse all v0 v0.0.2 Mar 4, 2025 v0.0.1 May 27, 2024 Changes in this version + const MaxActiveMorphTargets + func CalculateNormals(indices math32.ArrayU32, positions, normals math32.ArrayF32) math32.ArrayF32 + type Geometry struct + ShaderDefines gls.ShaderDefines + func NewBox(width, height, length float32) *Geometry + func NewCone(radius, height float64, radialSegments, heightSegments int, bottom bool) *Geometry + func NewConeSector(radius, height float64, radialSegments, heightSegments int, ...) *Geometry + func NewCube(size float32) *Geometry + func NewCylinder(radius, height float64, radialSegments, heightSegments int, top, bottom bool) *Geometry + func NewCylinderSector(radius, height float64, radialSegments, heightSegments int, ...) *Geometry + func NewDisk(radius float64, segments int) *Geometry + func NewDiskSector(radius float64, segments int, thetaStart, thetaLength float64) *Geometry + func NewGeometry() *Geometry + func NewPlane(width, height float32) *Geometry + func NewRibbon(paths [][]math32.Vector3, close bool) *Geometry + func NewSegmentedBox(width, height, length float32, ...) *Geometry + func NewSegmentedCube(size float32, segments int) *Geometry + func NewSegmentedPlane(width, height float32, widthSegments, heightSegments int) *Geometry + func NewSphere(radius float64, widthSegments, heightSegments int) *Geometry + func NewSphereSector(radius float64, widthSegments, heightSegments int, ...) *Geometry + func NewTorus(radius, tubeRadius float64, radialSegments, tubularSegments int, arc float64) *Geometry + func NewTruncatedCone(radiusTop, radiusBottom, height float64, radialSegments, heightSegments int, ...) *Geometry + func NewTruncatedConeSector(radiusTop, radiusBottom, height float64, radialSegments, heightSegments int, ...) *Geometry + func NewTube(path []math32.Vector3, radius float32, radialSegments int, close bool) *Geometry + func (g *Geometry) AddGroup(start, count, matIndex int) *Group + func (g *Geometry) AddGroupList(groups []Group) + func (g *Geometry) AddVBO(vbo *gls.VBO) + func (g *Geometry) ApplyMatrix(m *math32.Matrix4) + func (g *Geometry) Area() float32 + func (g *Geometry) AttributeName(atype gls.AttribType) string + func (g *Geometry) BoundingBox() math32.Box3 + func (g *Geometry) BoundingSphere() math32.Sphere + func (g *Geometry) Dispose() + func (g *Geometry) GetGeometry() *Geometry + func (g *Geometry) GroupAt(idx int) *Group + func (g *Geometry) GroupCount() int + func (g *Geometry) Incref() *Geometry + func (g *Geometry) Indexed() bool + func (g *Geometry) Indices() math32.ArrayU32 + func (g *Geometry) Init() + func (g *Geometry) Items() int + func (g *Geometry) OperateOnVertexNormals(cb func(normal *math32.Vector3) bool) + func (g *Geometry) OperateOnVertices(cb func(vertex *math32.Vector3) bool) + func (g *Geometry) ProjectOntoAxis(localAxis *math32.Vector3) (float32, float32) + func (g *Geometry) ReadFaces(cb func(vA, vB, vC math32.Vector3) bool) + func (g *Geometry) ReadVertexNormals(cb func(vertex math32.Vector3) bool) + func (g *Geometry) ReadVertices(cb func(vertex math32.Vector3) bool) + func (g *Geometry) RenderSetup(gs *gls.GLS) + func (g *Geometry) RotationalInertia(mass float32) math32.Matrix3 + func (g *Geometry) SetAttributeName(atype gls.AttribType, attribName string) + func (g *Geometry) SetIndices(indices math32.ArrayU32) + func (g *Geometry) VBO(atype gls.AttribType) *gls.VBO + func (g *Geometry) VBOName(name string) *gls.VBO + func (g *Geometry) VBOs() []*gls.VBO + func (g *Geometry) Volume() float32 + type Group struct + Count int + Matid string + Matindex int + Start int + type IGeometry interface + Dispose func() + GetGeometry func() *Geometry + RenderSetup func(gs *gls.GLS) + type MorphGeometry struct + func NewMorphGeometry(baseGeometry *Geometry) *MorphGeometry + func (mg *MorphGeometry) ActiveMorphTargets() ([]*Geometry, []float32) + func (mg *MorphGeometry) AddMorphTargetDeltas(morphTargetDeltas ...*Geometry) + func (mg *MorphGeometry) AddMorphTargets(morphTargets ...*Geometry) + func (mg *MorphGeometry) ComputeMorphed(weights []float32) *Geometry + func (mg *MorphGeometry) Dispose() + func (mg *MorphGeometry) GetGeometry() *Geometry + func (mg *MorphGeometry) RenderSetup(gs *gls.GLS) + func (mg *MorphGeometry) SetIndices(indices math32.ArrayU32) + func (mg *MorphGeometry) SetWeights(weights []float32) + func (mg *MorphGeometry) UpdateTargetAttributes(morphTargets []*Geometry) + func (mg *MorphGeometry) Weights() []float32