76 lines
2.7 KiB
Ada
76 lines
2.7 KiB
Ada
package collada.Library
|
|
--
|
|
-- Provides a namespace and core types for the specific collada library child packages.
|
|
--
|
|
is
|
|
type Float_array_view is access Float_array;
|
|
type Text_array_view is access Text_array;
|
|
|
|
|
|
----------
|
|
-- Sources
|
|
--
|
|
|
|
type Source is
|
|
record
|
|
Id : Text;
|
|
array_Id : Text;
|
|
|
|
Floats : Float_array_view;
|
|
Texts : Text_array_view;
|
|
end record;
|
|
|
|
type Sources is array (Positive range <>) of Source;
|
|
type Sources_view is access Sources;
|
|
|
|
----------
|
|
--- Inputs
|
|
--
|
|
|
|
type Semantic is (Unknown,
|
|
BINORMAL, -- Geometric binormal (bitangent) vector.
|
|
COLOR, -- Color coordinate vector. Color inputs are RGB (float3_type).
|
|
CONTINUITY, -- Continuity constraint at the control vertex (CV).
|
|
IMAGE, -- Raster or MIP-level input.
|
|
INPUT, -- Sampler input.
|
|
IN_TANGENT, -- Tangent vector for preceding control point.
|
|
INTERPOLATION, -- Sampler interpolation type.
|
|
INV_BIND_MATRIX, -- Inverse of local-to-world matrix.
|
|
JOINT, -- Skin influence identifier.
|
|
LINEAR_STEPS, -- Number of piece-wise linear approximation steps to use for the spline segment that follows this CV.
|
|
MORPH_TARGET, -- Morph targets for mesh morphing.
|
|
MORPH_WEIGHT, -- Weights for mesh morphing.
|
|
NORMAL, -- Normal vector.
|
|
OUTPUT, -- Sampler output.
|
|
OUT_TANGENT, -- Tangent vector for succeeding control point.
|
|
POSITION, -- Geometric coordinate vector.
|
|
TANGENT, -- Geometric tangent vector.
|
|
TEXBINORMAL, -- Texture binormal (bitangent) vector.
|
|
TEXCOORD, -- Texture coordinate vector.
|
|
TEXTANGENT, -- Texture tangent vector.
|
|
UV, -- Generic parameter vector.
|
|
VERTEX, -- Mesh vertex.
|
|
WEIGHT); -- Skin influence weighting value.
|
|
|
|
type Input_t is
|
|
record
|
|
Semantic : library.Semantic := Unknown;
|
|
Source : Text;
|
|
Offset : Natural := 0;
|
|
end record;
|
|
|
|
type Inputs is array (Positive range <>) of Input_t;
|
|
|
|
null_Input : constant Input_t;
|
|
|
|
|
|
function find_in (Self : Inputs; the_Semantic : in library.Semantic) return Input_t;
|
|
|
|
|
|
|
|
private
|
|
|
|
null_Input : constant Input_t := (others => <>);
|
|
|
|
end collada.Library;
|