The small3d library
Tiny C++ 3D game development library for Win/MacOS/Linux/FreeBSD
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Csmall3d::Model::AnimationAnimation
 Csmall3d::Model::AnimationComponentAnimation component
 Csmall3d::BoundingBoxSetSet of bounding boxes for a SceneObject, calculated based on the vertices of a Model
 Csmall3d::BoundingBoxSet::extremesStructure to hold the coordinates of the extremes of each box
 Csmall3d::FileAbstract file parser class
 Csmall3d::BinaryFileNative 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::ImageAn image, loaded from a .png file, which can be used for generating textures
 Csmall3d::Model::JointJoint
 Csmall3d::LoggerUsed for logging through macros (LOGERROR, LOGDEBUG, LOGINFO)
 Csmall3d::Mat44x4 float matrix
 Csmall3d::MaterialA 3D model material
 Csmall3d::ModelA 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::QuatQuaternion
 Csmall3d::RendererRenderer class (OpenGL 3.3 / OpenGL ES 3.0)
 Csmall3d::SceneObjectAn 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::SoundClass 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::Vec33 component float vector
 Csmall3d::Vec3i3 component integer vector
 Csmall3d::Vec44 component vector
 Csmall3d::Vec4i4 component integer vector
 Csmall3d::WindowingWindow management class