|
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) |