Categorygithub.com/flywave/go-collada
modulepackage
0.0.0-20210617100142-f02e95c083a9
Repository: https://github.com/flywave/go-collada.git
Documentation: pkg.go.dev

# README

go-collada

A Go package for working with Collada V1.5 (*.dae) documents.

See Collada 1.5 Specification http://www.khronos.org/files/collada_spec_1_5.pdf

IMPORTANT

Currently, not all of the schema has been completed, classes with TODO annotated in the struct definition imply that there is content missing

TESTING

The package test suit validates the correctness of the schema by importing/exporting and comparing against an external collada document.

More complex scenes can be added to the test suite to validate completness of the implementation

KNOWN ISSUES

  • Partially Complete Schema

Only a subset of all classes have complete definitions, this will cause the importer to ignore xml which do not match the struct definitions

  • Order of anonymous arrays

In the Node struct, a sequence of transform operations with a strict order is defined, however due to the nature of the golang xml unmarshal decoder, this ordering is lost.

Possible solutions invlove manually parsing the node content, but this will add significant complexity to the parsing logic, which is at the moment completely declaritive using xml tags

# Functions

No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author
According the Phong BRDF approximation.
No description provided by the author
AmbientCore (core) Describes an ambient light source.
Animation ategorizes the declaration of animation information.
AnimationClip defines a section of the animation curves to be used together as an animation clip.
Annotate Adds a strongly typed annotation remark to the parent object.
No description provided by the author
Array Creates a parameter of a one-dimensional array type.
Asset defines asset-management information regarding its parent element.
Binary Identifies or provides a shader in binary form.
BindAttribute Binds semantics to vertex attribute inputs of a shader.
BindMaterial Binds a specific material to a piece of geometry, binding varying and uniform parameters at the same time.
BindUniform Binds values to uniform inputs of a shader or binds values to effect parameters upon instantiation.
BindVertexInput Binds geometry vertex inputs to effect vertex inputs upon instantiation.
No description provided by the author
BoolArray declares the storage for a homogenous array of Boolean values.
No description provided by the author
Camera declares a view into the scene hierarchy or scene graph.The camera contains elements that describe the camera’s optics and imager.
Channel declares an output channel of an animation.
Code Provides an inline block of source code.
COLLADA declares the root of the document that contains some of the content in the COLLADA schema.
Color describes the color of its parent light element.
No description provided by the author
No description provided by the author
Compiler Contains command-line or runtime-invocation options for a shader compiler.
Constant Produces a constantly shaded surface that is independent of lighting.
Contributor defines authoring information for asset management.
Controller categorizes the declaration of generic control information.
ControlVertices describes the control vertices (CVs) of a spline.
Coverage provides information about the location of the visual scene in physical space.
No description provided by the author
No description provided by the author
No description provided by the author
DepthClear Specifies whether a render target image is to be cleared, and which value to use.
DepthTarget Specifies which <image> will receive the depth information from the output of this pass.
Directional describes a directional light source.
Draw Instructs the FX Runtime what kind of geometry to submit.
Effect Provides a self-contained description of a COLLADA effect.
Evaluate Contains evaluation elements for a rendering pass.
EvaluateScene declares information specifying how to evaluate a <visual_scene>.
Extra provides arbitrary additional information about or related to its parent element.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
FloatArray declares the storage for a homogenous array of floating-point values.
No description provided by the author
No description provided by the author
Formula defines a formula.
A type that describes color attributes of fixed-function shader elements.
A type that describes the scalar attributes of fixed-function shader elements inside <profile_COMMON> effects.
No description provided by the author
GeographicLocation defines an asset’s location for asset management.
Geometry describes the visual shape and appearance of an object in a scene.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
IdRefArray declares the storage for a homogenous array of ID reference values.
No description provided by the author
No description provided by the author
Imager represents the image sensor of a camera (for example, film or CCD).
Include Imports source code or precompiled binary shaders into the FX Runtime by referencing an external resource.
No description provided by the author
InputShared declares the input semantics of a data source.
InputUnshared declares the input semantics of a data source.
InstanceAnimation instantiates a COLLADA animation resource.
InstanceCamera instantiates a COLLADA camera resource.
InstanceController instantiates a a COLLADA controller resource.
InstanceEffect Instantiates a COLLADA effect.
InstanceFormula instantiates a COLLADA formula resource.
InstanceGeometry instantiates a COLLADA geometry resource.
No description provided by the author
No description provided by the author
InstanceLight instantiates a COLLADA light resource.
InstanceMaterialGeometry Instantiates a COLLADA material resource.
InstanceMaterialRendering Instantiates a COLLADA material resource for a screen effect.
InstanceNode instantiates a COLLADA node resource.
No description provided by the author
InstanceVisualScene instantiates a COLLADA visual_scene resource.
IntArray stores a homogenous array of integer values.
No description provided by the author
Joints associates joint, or skeleton, nodes with attribute data.
Lambert Produces a diffuse shaded surface that is independent of lighting.
LibraryAnimationClips provides a library in which to place <animation_clip> elements.
LibraryAnimations provides a library in which to place <animation> elements.
Provides a library in which to place <camera> elements.
LibraryControllers provides a library in which to place <controller> elements.
LibraryEffects Provides a library in which to place <effect> assets.
LibraryFormulas provides a library in which to place <formula> elements.
LibraryGeometries provides a library in which to place <geometry> elements.
No description provided by the author
LibraryLights provides a library in which to place <image> elements.
LibraryMaterials Provides a library in which to place <material> assets.
LibraryNodes provides a library in which to place <node> elements.
LibraryVisualScenes provides a library in which to place <visual_scene> elements.
Light declares a light source that illuminates a scene.
Lines declares the binding of geometric primitives and vertex attributes for a <mesh>element.
Linestrips declares a binding of geometric primitives and vertex attributes for a <mesh>element.
Linker Contains command-line or runtime-invocation options for shader linkers to combine shaders into programs.
Lookat contains a position and orientation transformation suitable for aiming a camera.
Material Defines the equations necessary for the visual appearance of geometry and screenspace image processing.
Matrix describes transformations that embody mathematical changes to points within a coordinate system or the coordinate system itself.
Mesh describes basic geometric meshes using vertex and primitive information.
Modifier Provides additional information about the volatility or linkage of a <newparam>declaration.
Morph describes the data required to blend between sets of static meshes.
NameArray stores a homogenous array of symbolic name values.
No description provided by the author
Newparam Creates a new, named parameter object and assigns it a type and an initial value.
Node embodies the hierarchical relationship of elements in a scene.
Optics represents the apparatus on a camera that projects the image onto the image sensor.
Orthographic describes the field of view of an orthographic camera.
No description provided by the author
No description provided by the author
ParamCore declares parametric information for its parent element.
ParamReference (reference) References a predefined parameter.
Pass Provides a static declaration of all the render states, shaders, and settings for one rendering pipeline.
Perspective describes the field of view of a perspective camera.
No description provided by the author
Phong Produces a shaded surface where the specular reflection is shaded.
Point describes a point light source.
Polygons declares the binding of geometric primitives and vertex attributes for a <mesh>element.
Polylist declares the binding of geometric primitives and vertex attributes for a <mesh>element.
ProfileBridge Provides support for referencing effect profiles written with external standards.
ProfileCg Declares a platform-specific representation of an effect written in the NVIDIA®Cg language.
ProfileCommon Opens a block of platform-independent declarations for the common, fixed-function shader.
No description provided by the author
No description provided by the author
No description provided by the author
Program Links multiple shaders together to produce a pipeline for geometry processing.
No description provided by the author
Render Describes one effect pass to evaluate a scene.
No description provided by the author
Rotate specifies how to rotate an object around an axis.
Sampler declares an interpolation sampling function for an animation.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SamplerStates Allows users to modify an effect’s sampler state from a material.
Scale specifies how to change an object’s size.
Scene embodies the entire set of information that can be visualized from the contents of a COLLADA resource.
Semantic Provides metadata that describes the purpose of a parameter declaration.
Setparam Assigns a new value to a previously defined parameter.
No description provided by the author
SidRefArray declares the storage for a homogenous array of scoped-identifier reference values.
No description provided by the author
Skeleton indicates where a skin controller is to start searching for the joint nodes that it needs.
Skew specifies how to deform an object along one axis.
Skin contains vertex and primitive information sufficient to describe blend-weight skinning.
Source declares a data repository that provides values according to the semantics of an <input> element that refers to it.
No description provided by the author
Spline describes a multisegment spline with control vertex (CV) and segment information.
Spot describes a spot light source.
States Contains all rendering states to set up for the parent pass.
StencilClear Specifies whether a render target image is to be cleared, and which value to use.
StencilTarget Specifies which <image> will receive the stencil information from the output of this pass.
Targets teclares morph targets, their weights, and any user-defined attributes associated with them.
TechniqueCommon specifies the information for a specific element for the common profile that all COLLADA implementations must support.
Technique (core) Declares the information used to process some portion of the content.
TechniqueFx Holds a description of the textures, samplers, shaders, parameters, and passes necessary for rendering this effect using one method.
TechniqueHint Adds a hint for a platform of which technique to use in this effect.
No description provided by the author
No description provided by the author
No description provided by the author
TexturePipeline Defines a set of texturing commands that will be converted into multitexturing operations using glTexEnv in regular and combiner mode.
No description provided by the author
Translate changes the position of an object in a coordinate system without any rotation.
Triangles provides the information needed to bind vertex attributes together and then organize those vertices into individual triangles.
Trifans provides the information needed to bind vertex attributes together and then organize those vertices into connected triangles.
Tristrips provides the information needed to bind vertex attributes together and then organize those vertices into connected triangles.
Unit defines unit of distance for COLLADA elements and objects.
Usertype Creates an instance of a structured class for a parameter.
No description provided by the author
VertexWeights describes the combination of joints and weights used by a skin.
Vertices declares the attributes and identity of mesh-vertices.
VisualScene embodies the entire set of information that can be visualized from the contents of a COLLADA resource.

# Interfaces

No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author