Game Engine
Architected a C++ game engine with a runtime reflection system - employing Chain of
|
Namespaces | |
namespace | Support |
Typedefs | |
using | Vec4 = f32vec4 |
using | Vec3 = f32vec3 |
using | Mat4x4 = f32mat4x4 |
Enumerations | |
enum class | BoneSegment : size_t { ROOT , PELVIS , BACK , HEAD , L_SHOULDER , L_UPPERARM , L_FOREARM , R_SHOULDER , R_UPPERARM , R_FOREARM , L_HIP , L_THIGH , L_CALF , R_HIP , R_THIGH , R_CALF , COUNT , NONE = COUNT } |
This enumeration provides the bones for our skeleton. More... |
Functions | |
TEST_CLASS (ActionIncrementTest) | |
TEST_CLASS (ActionAddDatumTest) | |
TEST_CLASS (AsyncTest) | |
TEST_CLASS (AttributedTestForAttributeBox) | |
TEST_CLASS (AttributedTestForAttributeBoxPlus) | |
template<typename C> | |
std::enable_if_t<!HasReserve< C >::value > | Reserve (C &, size_t) |
template<typename C> | |
std::enable_if_t< HasReserve< C >::value > | Reserve (C &c, size_t n) |
template<typename C> | |
std::enable_if_t<!HasPushBack< C >::value > | Push_Back (C &c, const typename C::value_type &n) |
Templated Push_Back function for containers that don't have a push_back function @type C container type. | |
template<typename C> | |
std::enable_if_t< HasPushBack< C >::value > | Push_Back (C &c, const typename C::value_type &n) |
Templated Push_Back function for containers that have a push_back function @type C container type. | |
template<typename C> | |
std::enable_if_t<!HasPushFront< C >::value > | Push_Front (C &c, const typename C::value_type &n) |
Templated Push_Front function for containers that don't have a push_front function @type C container type. | |
template<typename C> | |
std::enable_if_t< HasPushFront< C >::value > | Push_Front (C &c, const typename C::value_type &n) |
Templated Push_Front function for containers that have a push_front function @type C container type. | |
template<typename C> | |
std::enable_if_t<!HasFind< C >::value, bool > | Find (C &c, const typename C::value_type &n) |
Templated Find function for containers that don't have a find() function @type C container type. | |
template<typename C> | |
std::enable_if_t< HasFind< C >::value, bool > | Find (C &c, const typename C::value_type &n) |
Templated Find function for containers that have a find() function @type C container type. | |
TEST_CLASS (ContainerTest) | |
TEST_CLASS (CoreTests) | |
TEST_CLASS (DatumTests) | |
TEST_CLASS (FactoryTests) | |
TEST_CLASS (FooTests) | |
TEST_CLASS (GameObjectTests) | |
TEST_CLASS (HeapTest) | |
bool | DeserializeJson (std::istream &jsonStream, Json::Value &root) |
TEST_CLASS (JsonCppTest) | |
TEST_CLASS (JsonParserTest) | |
TEST_CLASS (ListTests) | |
TEST_CLASS (MemoryServiceTest) | |
TEST_CLASS (RTTITests) | |
TEST_CLASS (ScopeParserTest) | |
TEST_CLASS (ScopeTests) | |
TEST_CLASS (ServiceProviderTest) | |
TEST_CLASS (SkeletonTest) | |
TEST_CLASS (AttributeBoxTests) | |
TEST_CLASS (AttributeBoxPlusTests) |
using Fiea::Engine::Tests::Mat4x4 = f32mat4x4 |
using Fiea::Engine::Tests::Vec3 = f32vec3 |
using Fiea::Engine::Tests::Vec4 = f32vec4 |
|
strong |
bool Fiea::Engine::Tests::DeserializeJson | ( | std::istream & | jsonStream, |
Json::Value & | root ) |
std::enable_if_t<!HasFind< C >::value, bool > Fiea::Engine::Tests::Find | ( | C & | c, |
const typename C::value_type & | n ) |
Templated Find function for containers that don't have a find() function @type C container type.
c | The container in which the element will be inserted |
n | The element's value that will be inserted into the container |
std::enable_if_t< HasFind< C >::value, bool > Fiea::Engine::Tests::Find | ( | C & | c, |
const typename C::value_type & | n ) |
Templated Find function for containers that have a find() function @type C container type.
c | The container in which the element will be inserted |
n | The element's value that will be inserted into the container |
std::enable_if_t<!HasPushBack< C >::value > Fiea::Engine::Tests::Push_Back | ( | C & | c, |
const typename C::value_type & | n ) |
Templated Push_Back function for containers that don't have a push_back function @type C container type.
c | The container in which the element will be inserted |
n | The element's value that will be inserted into the container |
std::enable_if_t< HasPushBack< C >::value > Fiea::Engine::Tests::Push_Back | ( | C & | c, |
const typename C::value_type & | n ) |
Templated Push_Back function for containers that have a push_back function @type C container type.
c | The container in which the element will be inserted |
n | The element's value that will be inserted into the container |
std::enable_if_t<!HasPushFront< C >::value > Fiea::Engine::Tests::Push_Front | ( | C & | c, |
const typename C::value_type & | n ) |
Templated Push_Front function for containers that don't have a push_front function @type C container type.
c | The container in which the element will be inserted |
n | The element's value that will be inserted into the container |
std::enable_if_t< HasPushFront< C >::value > Fiea::Engine::Tests::Push_Front | ( | C & | c, |
const typename C::value_type & | n ) |
Templated Push_Front function for containers that have a push_front function @type C container type.
c | The container in which the element will be inserted |
n | The element's value that will be inserted into the container |
std::enable_if_t<!HasReserve< C >::value > Fiea::Engine::Tests::Reserve | ( | C & | , |
size_t | ) |
std::enable_if_t< HasReserve< C >::value > Fiea::Engine::Tests::Reserve | ( | C & | c, |
size_t | n ) |
Fiea::Engine::Tests::TEST_CLASS | ( | ActionAddDatumTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | ActionIncrementTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | AsyncTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | AttributeBoxPlusTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | AttributeBoxTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | AttributedTestForAttributeBox | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | AttributedTestForAttributeBoxPlus | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | ContainerTest | ) |
Returns a value of type T
num | The value that needs to be typecasted |
Specialized template function that returns a value of type string
num | The value that needs to be typecasted |
Specialized template function that returns a value of type Foo
num | The value that needs to be typecasted |
Fiea::Engine::Tests::TEST_CLASS | ( | CoreTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | DatumTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | FactoryTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | FooTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | GameObjectTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | HeapTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | JsonCppTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | JsonParserTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | ListTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | MemoryServiceTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | RTTITests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | ScopeParserTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | ScopeTests | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | ServiceProviderTest | ) |
Fiea::Engine::Tests::TEST_CLASS | ( | SkeletonTest | ) |
This test case simply outputs the skeleton in world coordinates
In this test, a single joint animation is applied to rotate the character at the waist
An entire animation frame, producing a "programmer art" version of a superhero landing pose
A helper function to convert from euler angles into a rotation matrix
eulers | The euler angles to produce a rotation matrix from |
A helper function to convert from a rotation matrix into euler angles
matrix | A rotation matrix to extract euler angles from |
Converts the skeletons local definition into a sequence of positions where each bone terminates, in world coordinates
skelly | The skeleton to extract positional information from |
worldPositions | An output array for the positional data |
positionCount | The size of the output array |
Modifies the provided skeleton by applying the animation frame to it
skelly | The skeleton to modify |
frame | The animation data |
Outputs the joint positions, organized either as a collection of points or a series of vectors between two points, or both
skelly | The skeleton, for the parentage information required to draw bones |
worldPositions | The position of the terminal point for each bone |
positionCount | The number of entries in the positions array (which should match the number of bones in the skelly) |