Rune Engine  Version 0.2.7-alpha
Documentation for how to make games using the Rune Engine.
rune Namespace Reference

The main namespace to be used for interfacing with the engine. More...

Classes

class  Animator
 This class is used to animate a rune::GameObject. More...
 
class  Camera
 This class is used to control the viewport of the scene. More...
 
class  Clock
 A clock that can be used to tell how much time has passed. More...
 
class  Color
 A color object to be applied to drawable objects. More...
 
class  Component
 A component of a rune::GameObject, this class is used to add functionality to a object in the game world. More...
 
class  Drawable
 Interface class for creating something that can be drawn to the screen. More...
 
class  FrameBuffer
 An off screen frame buffer that can be bound and rendered to. More...
 
class  GameApplication
 Entry point for all programs using the engine, must instantiate a game application for every new game. Use the macro getGameInstance() to get a pointer to the current game instance. More...
 
class  GameObject
 Entity control system main object used for all objects in the scene. More...
 
class  GameScene
 This class is responsible for serving as a parent class for each instance of the game. In order to create a new instance for the game, copy this class and add objects as needed. More...
 
class  Keyboard
 This class allows for access to the keyboard. More...
 
class  LightSource
 A light source to be used in a scene. Casts light and shadows on objects. More...
 
class  List
 A list that can be used to store data. More...
 
class  Mat2
 2 x 2 matrix to be used for math. More...
 
class  Mat3
 3 x 3 matrix to be used for math. More...
 
class  Mouse
 Interface for getting input from the mouse. More...
 
class  ObjectAnimation
 Class responsible for managing sprite animations and updating which frame of the animation is to be shown. More...
 
class  Observer
 An interface that allows objects to watch a subject for signals, and perform some action when notified. More...
 
class  ParticleEmitter
 Class responsible for creating particle emitters and managing the creation of particles. More...
 
class  Rect
 A rectangle that can be used for specifying a dimension. More...
 
class  RectangleShape
 A rectangle that can be drawn to the screen. More...
 
class  RenderWindow
 A window that the game can be drawn to. More...
 
class  Resource
 
class  ResourceManager
 
class  SceneManager
 The scene manager is responsible for handling the transfer of the current state pointer that refers to the overwritten state class for each instance of the game. More...
 
class  SceneSerializer
 An object that can be used to write a GameScene to a YAML encoded file. More...
 
class  Shader
 A shader that can be used to render objects to the screen. More...
 
struct  ShaderProgramSource
 Compilable GLSL code generated by the shader file. More...
 
class  Signal
 Object that is used as a signal to notify observers of action. More...
 
class  Sprite
 A sprite that can be given a texture and animated. More...
 
class  Subject
 A subject that can be watched for signals by observers. More...
 
class  Texture
 A texture that can be applied to drawable objects. More...
 
class  Transform
 A data structure that contains position, size, and rotation. More...
 
class  Vec2
 1 x 2 vector to be used for math. More...
 
class  Vec3
 1 x 3 vector to be used for math. More...
 

Typedefs

using IntRect = Rect< int >
 A Rect that uses integers.
 
using FloatRect = Rect< float >
 A Rect that uses floats.
 
using DoubleRect = Rect< double >
 A Rect that uses doubles.
 

Functions

RUNE_ENGINE rune::Vec2 operator* (rune::Vec2 const &vec, rune::Mat2 &mat)
 Overload of multiplication operator for a rune::Mat2.
 
RUNE_ENGINE Mat2 operator* (double scalar, rune::Mat2 &mat)
 Overload of multiplication operator for a scalar on the right.
 
RUNE_ENGINE rune::Mat3 operator* (double scalar, rune::Mat3 &mat)
 Overload of multiplication operator for a scalar on the right.
 
RUNE_ENGINE Vec2 operator/ (double scalar, Vec2 vec)
 Overload of / operator for a scalar.
 
RUNE_ENGINE double dotProduct (rune::Vec2 const &vector1, rune::Vec2 const &vector2)
 Dot product calculation of two vectors.
 
RUNE_ENGINE rune::Vec2 findNormal (rune::Vec2 const &axis)
 Find a vector that is left handed normal to vector used to describe a surface.
 
RUNE_ENGINE rune::Vec2 normalize (rune::Vec2 const &vec)
 Divides each component of a vector by the vector magnitude to make the vector magnitude equal to 1.
 
RUNE_ENGINE double crossProduct (rune::Vec2 const &vec1, rune::Vec2 const &vec2)
 Cross product calculation of two vectors.
 
RUNE_ENGINE rune::Vec2 operator* (double scalar, rune::Vec2 const &vec)
 Overload of * operator for a scalar.
 
RUNE_ENGINE std::ostream & operator<< (std::ostream &os, const rune::Vec2 &vector)
 Stream operator overloading so that vectors can be printed to the console.
 
RUNE_ENGINE std::ostream & operator<< (std::ostream &os, const Vec3 &vector)
 Stream operator overloading so that vectors can be printed to the console.
 
RUNE_ENGINE double dotProduct (const rune::Vec3 &vector1, const rune::Vec3 &vector2)
 Dot product calculation of two vectors.
 
RUNE_ENGINE rune::Vec3 normalize (const rune::Vec3 &vector)
 Divides each component of a vector by the vector magnitude to make the vector magnitude equal to 1.
 
RUNE_ENGINE rune::Vec3 crossProduct (const rune::Vec3 &, const rune::Vec3 &)
 Cross product calculation of two vectors.
 
RUNE_ENGINE rune::Vec3 operator* (double scalar, const rune::Vec3 &vec)
 Overload of multiplication operator for a scalar on the left.
 

Detailed Description

The main namespace to be used for interfacing with the engine.