Basic 3D Model with a single texture.
More...
#include <V3DModel.h>
|
typedef V3DObject | VSUPERCLASS |
| Used to call parent class functions when they are overrided in class.
|
|
typedef VBase | VSUPERCLASS |
| Used to call parent class functions when they are overrided in class.
|
|
|
| V3DModel (sf::Vector3f position, sf::Vector3f rotation, sf::Vector3f scale) |
|
| V3DModel (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 V3DVertexArray &vertexArray, const std::vector< unsigned int > &indexArray=std::vector< unsigned int >()) |
|
bool | LoadTexture (const sf::String &filename) |
|
bool | LoadTexture (const sf::Texture &tex) |
|
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 |
|
| 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 |
|
virtual void | Kill () |
|
virtual void | Revive () |
| Revives the object by setting both alive and exists back to true.
|
|
|
V3DMaterial * | Material |
| Surface Material for Lighting.
|
|
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.
|
|
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.
|
|
|
static unsigned int | DefaultTexture |
| A generated 1x1 White texture. If no texture is loaded, then this will be used.
|
|
|
unsigned int | vao |
| Vertex Array Object ID.
|
|
unsigned int | vertexVBO |
| Vertex Buffer Object for Vertices.
|
|
unsigned int | indexVBO |
| Vertex Buffer Object for Indices.
|
|
unsigned int | drawCount |
| Depending on input, the amount of vertices or indices that are needed to be drawn for this object.
|
|
sf::Texture | texture |
| Single texture for this model.
|
|
glm::mat4 | transform |
| Model Matrix.
|
|
sf::Vector3f | minimum |
| Minimum size of the object bounding box.
|
|
sf::Vector3f | maximum |
| Maximum size of the object bounding box.
|
|
Basic 3D Model with a single texture.
◆ V3DModel() [1/2]
V3DModel::V3DModel |
( |
sf::Vector3f |
position, |
|
|
sf::Vector3f |
rotation, |
|
|
sf::Vector3f |
scale |
|
) |
| |
- Parameters
-
position | Position of the sprite. |
rotation | Angle of the object. |
scale | Scale of the object. |
◆ V3DModel() [2/2]
V3DModel::V3DModel |
( |
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 |
|
) |
| |
- Parameters
-
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. |
◆ Draw()
virtual void V3DModel::Draw |
( |
sf::RenderTarget & |
RenderTarget | ) |
|
|
overridevirtual |
Draws 3D object.
- Parameters
-
RenderTarget | The game's sf::RenderTarget object to render data onto. |
Reimplemented from V3DObject.
◆ LoadModelData()
bool V3DModel::LoadModelData |
( |
const V3DVertexArray & |
vertexArray, |
|
|
const std::vector< unsigned int > & |
indexArray = std::vector< unsigned int >() |
|
) |
| |
Loads the model from arrays.
- Parameters
-
vertexArray | The list of vertices to load into the model. |
indexArray | The list of indices to load for the model. If model only has vertex data then this is ignored for loading and rendering the model. |
◆ LoadTexture() [1/2]
bool V3DModel::LoadTexture |
( |
const sf::String & |
filename | ) |
|
Loads a texture for the 3D model. If no texture is loaded than the default texture is used.
- Parameters
-
filename | The file path and name of the texture file. |
◆ LoadTexture() [2/2]
bool V3DModel::LoadTexture |
( |
const sf::Texture & |
tex | ) |
|
Loads a texture for the 3D model. If no texture is loaded than the default texture is used.
- Parameters
-
tex | The sf::Texture object that is being used as the texture. |
◆ UpdateShader()
Updates the shader with the current camera and object specific values.
- Parameters
-
shader | The scene shader. |
camera | The scene camera. |
Reimplemented from V3DObject.
The documentation for this class was generated from the following file:
- D:/Development/Libs/Vigilante-Game-Framework/VFrame/V3DModel.h