The small3d library
Tiny C++ 3D game development library for Win/MacOS/Linux/FreeBSD
|
Csmall3d::Model::Animation | Animation |
Csmall3d::Model::AnimationComponent | Animation component |
Csmall3d::BoundingBoxSet | Set of bounding boxes for a SceneObject, calculated based on the vertices of a Model |
Csmall3d::BoundingBoxSet::extremes | Structure to hold the coordinates of the extremes of each box |
▼Csmall3d::File | Abstract file parser class |
Csmall3d::BinaryFile | Native model file loader. The model file loaded has to have been produced by converting a file in a supported format to a small3d native binary file using the format converter program, s3dfc, produced by this project's build scripts, for example by running s3dfc car.glb car.bin (this would convert a car gltf (.glb) model file to a native binary model file) ATTENTION: Unfortunately the native binary files have issues across architectures. So for example binaries created on Windows do not work on Linux. They need to be created and tested separately for each |
Csmall3d::GlbFile | .glb (glTF) file parser class. It can load meshes, textures and linear animations from samplers with a common input (the rest are ignored) |
Csmall3d::WavefrontFile | .obj (Wavefront) file parser class. The file format has to be somewhat specific, with triangulated faces and containing the normals. Such a file can be exported from Blender for example (see blender.org). From the file menu, select Export > Wavefront (.obj). Then from the "Export OBJ" menu, only select "Write Normals", "Triangulate Faces" and "Keep Vertex Order" |
Csmall3d::Image | An image, loaded from a .png file, which can be used for generating textures |
Csmall3d::Model::Joint | Joint |
Csmall3d::Logger | Used for logging through macros (LOGERROR, LOGDEBUG, LOGINFO) |
Csmall3d::Mat4 | 4x4 float matrix |
Csmall3d::Material | A 3D model material |
Csmall3d::Model | A 3D model. It can be loaded from a WavefrontFile or GlbFile. It can also be constructed procedurally by code, by inserting values to the appropriate member variables |
Csmall3d::Quat | Quaternion |
Csmall3d::Renderer | Renderer class (OpenGL 3.3 / OpenGL ES 3.0) |
Csmall3d::SceneObject | An object that appears on the 3D scene. It is made up of a Model, together with information for positioning, rotation and collision detection. Skeletal animation is supported if contained in the Model. Otherwise, frame based animation can be used if the SceneObject is constructed with a vector of Models, each of which will be used as an animation frame |
Csmall3d::Sound | Class that loads and plays a sound from an ogg file, or a native sound file. In the latter case, the file loaded has to have been produced by converting an .ogg file to a small3d native binary file using the format converter program, s3dfc, produced by this project's build scripts, for example by running s3dfc engine.ogg engine.bin (this would convert an engine sound .ogg file to a native binary sound file) ATTENTION: Unfortunately the native binary files have issues across architectures. So for example binaries created on Windows do not work on Linux. They need to be created and tested separately for each |
Csmall3d::Vec3 | 3 component float vector |
Csmall3d::Vec3i | 3 component integer vector |
Csmall3d::Vec4 | 4 component vector |
Csmall3d::Vec4i | 4 component integer vector |
Csmall3d::Windowing | Window management class |