|
Vigilante Game Framework
1.0.0.8
A 2D/3D C++ Game Framework using SFML.
|
3D Model Class for Loading and Rendering models in the .OBJ file format using TinyOBJLoader. More...
#include <V3DObjModel.h>
Classes | |
| struct | V3DModelData |
| The structure of each individual shape. More... | |
Public Types | |
| typedef V3DObject | VSUPERCLASS |
| Used to call parent class functions when they are overrided in class. | |
Public Types inherited from V3DObject | |
| typedef VBase | VSUPERCLASS |
| Used to call parent class functions when they are overrided in class. | |
Public Member Functions | |
| V3DObjModel (sf::Vector3f position, sf::Vector3f rotation, sf::Vector3f scale) | |
| V3DObjModel (float posX=0, float posY=0, float posZ=0, float rotX=0, float rotY=0, float rotZ=0, float scaleX=1, float scaleY=1, float scaleZ=1) | |
| bool | LoadModelData (const char *filename) |
| virtual void | UpdateShader (V3DShader *shader, V3DCamera *camera) override |
| virtual void | Destroy () override |
| Destroys object and any data that must be destroyed. | |
| virtual void | Draw (sf::RenderTarget &RenderTarget) override |
Public Member Functions inherited from V3DObject | |
| V3DObject (sf::Vector3f position, sf::Vector3f rotation, sf::Vector3f scale) | |
| V3DObject (float posX=0, float posY=0, float posZ=0, float rotX=0, float rotY=0, float rotZ=0, float scaleX=1, float scaleY=1, float scaleZ=1) | |
| sf::Vector3f | GetMinimum () |
| sf::Vector3f | GetMaximum () |
| virtual void | Reset (sf::Vector3f newPos) |
| virtual void | Reset (float x, float y, float z) |
| virtual void | Hurt (float damage) |
| virtual void | Update (float dt) override |
Public Member Functions inherited from VBase | |
| virtual void | Kill () |
| virtual void | Revive () |
| Revives the object by setting both alive and exists back to true. | |
Protected Member Functions | |
| virtual void | updateTransform () override |
| Update the tranform. | |
Protected Member Functions inherited from V3DObject | |
| virtual void | updateMotion (float dt) |
Static Protected Member Functions | |
| static std::string | GetBaseDir (const std::string &filepath) |
| Get the directory of the file. | |
| static void | CalcNormal (float N[3], float v0[3], float v1[3], float v2[3]) |
| Calculate the normal from three vertices. | |
Protected Attributes | |
| std::vector< V3DModelData > | modelData |
| List of models to shape. | |
| std::vector< tinyobj::material_t > | materials |
| List of materials. | |
| std::map< sf::String, sf::Texture > | textures |
| List of textures. | |
| glm::mat4 | transform |
| Model Matrix. | |
| V3DMaterial * | material |
| Material Data for rendering. | |
| V3DShader * | shader |
| Pointer to shader so I can update the material for each model. | |
Protected Attributes inherited from V3DObject | |
| sf::Vector3f | minimum |
| Minimum size of the object bounding box. | |
| sf::Vector3f | maximum |
| Maximum size of the object bounding box. | |
Additional Inherited Members | |
Static Public Member Functions inherited from VBase | |
| static const wchar_t * | VString (const char *fmt,...) |
| static void | VLog (const char *fmt,...) |
| static void | VLogError (const char *fmt,...) |
| static void | VClearLog () |
Public Attributes inherited from V3DObject | |
| sf::Vector3f | Position |
| Position Transform. | |
| sf::Vector3f | Rotation |
| Rotation Transform. | |
| sf::Vector3f | Scale |
| Scale transform. | |
| sf::Vector3f | Last |
| Last Position. | |
| sf::Vector3f | AngleVelocity |
| Velocity of Rotation. | |
| sf::Vector3f | AngleAcceleration |
| Acceleration of Rotation. | |
| sf::Vector3f | AngleDrag |
| Drag of Rotation. | |
| sf::Vector3f | AngleMax |
| Max Velocity of Rotation. | |
| bool | Moves = true |
| If true, position and rotation transforms will be updated. | |
| sf::Vector3f | Velocity |
| Velocity of Movement. | |
| sf::Vector3f | Acceleration |
| Acceleration of Movement. | |
| sf::Vector3f | Drag |
| Drag of Movement. | |
| sf::Vector3f | MaxVelocity |
| Max Velocity of Movement. | |
| float | Health = 100 |
| Standard health value (object dies if health is <= 0) | |
| float | Radius |
| Radius from the centre of the object as a sphere. | |
| sf::Vector3f | Origin |
| Centre of the 3D object, useful for collisions. | |
Public Attributes inherited from VBase | |
| bool | active = true |
| Base can be updated using Update if true. | |
| bool | visible = true |
| Base can be rendered using Draw if true. | |
| bool | alive = true |
| Helper member that is mainly used filter out behaviours to objects which aren't alive in the scene. | |
| bool | exists = true |
| Base can be updated and rendered if true, else it would no longer be treated as being part of the scene. | |
| VType | type = NONE |
| Base object type, typically set in the constructor of an inherited object to specify what type it is. | |
| uint32_t | RefCount = 0 |
| Counts the amount of times the object is referenced in groups, ensures an object is only destroyed when no longer part of a single group. | |
3D Model Class for Loading and Rendering models in the .OBJ file format using TinyOBJLoader.
| V3DObjModel::V3DObjModel | ( | sf::Vector3f | position, |
| sf::Vector3f | rotation, | ||
| sf::Vector3f | scale | ||
| ) |
| position | Position of the sprite. |
| rotation | Angle of the object. |
| scale | Scale of the object. |
| V3DObjModel::V3DObjModel | ( | float | posX = 0, |
| float | posY = 0, |
||
| float | posZ = 0, |
||
| float | rotX = 0, |
||
| float | rotY = 0, |
||
| float | rotZ = 0, |
||
| float | scaleX = 1, |
||
| float | scaleY = 1, |
||
| float | scaleZ = 1 |
||
| ) |
| posX | X position of the object. |
| posY | Y position of the object. |
| posZ | Z position of the object. |
| rotX | X angle of the object. |
| rotY | Y angle of the object. |
| rotZ | Z angle of the object. |
| scaleX | X scale of the object. |
| scaleY | Y scale of the object. |
| scaleZ | Z scale of the object. |
|
overridevirtual |
Draws 3D object.
| RenderTarget | The game's sf::RenderTarget object to render data onto. |
Reimplemented from V3DObject.
| bool V3DObjModel::LoadModelData | ( | const char * | filename | ) |
Loads Object Model from filepath. Any material and texture files should be placed relative to the .obj file.
Updates the shader with the current camera and object specific values.
| shader | The scene shader. |
| camera | The scene camera. |
Reimplemented from V3DObject.
1.8.14