- type
 - // ***************************************************************
 - // Welt Position, Normale Vector
 - // Tangente, BiNormale Vector
 - // Light und HalfAngle Vector (endgültiger bumplight vector)
 - // Texture Koordinaten array, meinstens immer Length = 1 bei einer decal texture
 - // ***************************************************************
 - TR3DVertex = record
 - Position,
 - Normal,
 - Tangent,
 - Binormal,
 - Light,
 - HalfAngle : TR3DVector;
 - Texcoords : array of TR3DTexcoord;
 - end;
 - // ***************************************************************
 - // Start Index im Face Array
 - // End Index im Face Array
 - // Position, Rotation, Skalierung
 - // AABB Index im AABB Array
 - // Schatten für das Objekt aktiviert ?
 - // ***************************************************************
 - TR3DObject = record
 - StartFaceIndex,
 - EndFaceIndex : Integer;
 - Position,
 - Rotation,
 - Scale : TR3DVector;
 - AABBIndex : Integer;
 - DrawShadows : Boolean;
 - end;
 - // ***************************************************************
 - // StartIndex im Vertices Array
 - // Der Name unseres Shaders
 - // Der Absolute Index unseres Shaders (mit diesem wird gearbeitet)
 - // Tangente, BiNormal und Poly Normale
 - // ***************************************************************
 - TR3DFace = record
 - VerticeIndex : Integer;
 - ShaderID : String;
 - ShaderIDX : Integer;
 - Basis : TR3DOrthoNormalBasis;
 - end;
 - // ******************
 - // Unsere Welt Klasse
 - // ******************
 - TR3DWorld = class(TObject)
 - private
 - fPointLights : array of TR3DPointLight; // Punktlichter
 - fSpotLights : array of TR3DSpotLight; // Spotlichter
 - fShaders : array of TR3DShader; // Shaders
 - fVertices : array of TR3DVertex; // Vertices (Vectors)
 - fFaces : array of TR3DFace; // Faces
 - fObjects : array of TR3DObject; // Objekte
 - fTextures : TR3DTextureManager; // Texture Library
 - fAABBs : array of TR3DAxisAlignBoundingBox; // Bounding Boxes
 - end;
 
