| NAngulos | |
| N_3d | |
| NComponents | |
| NPhysicsComponents | |
| CICompoundCollideable | A interface that can be derived from to allow objects to handle collisions |
| CPhysicsPointMassComponent | A component that represents a point mass in physics |
| CPhysicsRigidBodyComponent | A component that represents a rigid body in the physics engine |
| NRenderComponents | |
| CIRenderDependantComponent | A interface that can be derived from to allow objects to call a method every frame |
| CIRenderComponent | |
| CRigidRenderComponent | A component that renders a rigid body object |
| CIAngulosComponent | The main interface for a component that is managed by the ECS system |
| NObjectRepresentation | |
| NHierarchies | |
| CScene | A scene in the world |
| NShapes | |
| CCircle2d | Represents a 2d circle |
| CCircularShell3d | Represents a sphere / circular shell |
| CLineSegment2D | |
| CLineSegment3D | Represents a 3d line segment. LineSegment2D is the same for 2d |
| CRay2d | Represents a ray in 2d space |
| CRay3d | Represents a ray in 3d space |
| CTriangle2D | Represents a 2D triangle Triangle3D represents a 3D triangle |
| CTriangle3D | Represents a 3d triangle |
| NTranslation | |
| CEulerAngles | Represents Euler angles. These are used to represent rotations, and are more intuitive than quaternions. These are the X rotation, Y rotation, and Z rotation, all in degrees. You can convert these to quaternions and back using MathUtilities.EulerAnglesToQuaternion(EulerAngles) and MathUtilities.QuaternionToEulerAngles(Quaternion). These do suffer from gimbal lock |
| CTransformation | Represents an objects' translation |
| CMesh | The class for holding info on the shape of an object |
| CMovement | Represents an object moving |
| CSimulatedObject | An object in a scene in a world. Can have components, a index, mesh, and translation |
| NPhysics | |
| CPhysicsCollisionData | Represents data about a collision that occurred between two objects in the physics simulation |
| NRendering | |
| N_3DSVKRenderer | |
| NMain | |
| NImGui | |
| CImGuiRenderer | Handles rendering of ImGui elements |
| NSVKWrappers | |
| CSVKCommandBufferRecorder | A class that handles the recording of command buffers |
| CSVKPipeline | Wraps a Vulkan pipeline and its layout. Also stores the create info for both for potential recreation and reference |
| CISVKPushConstant | Represents a push constant. Very similar to uniforms, but can't be very large, in general no textures. The inheritor MUST be of a constant size, and less than 64 bytes |
| CSVKShader | Represents a shader |
| CCamera | |
| CSVKVertex | |
| CQueueFamilyIndices | The queue family indices. Queue families are types of queues No idea why they are indices |
| CSwapChainSupportDetails | Details of the graphics card's support for swapchains |
| CInternalSVKRenderer | Handles all rendering internally. MainSVKRenderer is just a wrapper for this |
| CISVKUniform | Represents a uniform. Must be a struct with sequential layout, and fixed size, and not a ref struct. It also must have a specific alignment, See https://vulkan-tutorial.com/Uniform_buffers/Descriptor_pool_and_sets at Alignment Requirements section. No other uniforms are specified in the default shaders other than MVPUniform, to show transformations, so this also requires custom shaders. For UpdateMappedPointerData, copy one instance of the uniform into the pointer, by doing something like making a span from the pointer with a length of 1, and setting the first element to your uniform instance |
| CMVPUniform | Represents a model-view-projection uniform buffer object. Note, for uniforms the alignment of the members matters. See https://vulkan-tutorial.com/Uniform_buffers/Descriptor_pool_and_sets at Alignment Requirements section |
| CShaderPassable< T > | Represents a value to be passed to a shader |
| N_2DSVKRenderer | |
| NMain | |
| NSVKWrappers | |
| CSVKDescriptorPool | |
| CSVKBuffer | Represents a Vulkan buffer and all the data associated with it |
| CSVKDescriptorSet | A simple wrapper around a DescriptorSet to help manage its lifecycle |
| CSVKDescriptorSetLayout | |
| CSVKImage | |
| CSVKUniformDescriptors | Describes the uniforms used in a shader |
| CSVKCommandPool | |
| CSVKObject | Represents a object that is being rendered |
| NExceptions | |
| CForceExitException | The program was forced to exit |
| CMessageBoxException | A small exception that is thrown when a message error box is shown |
| CUnexpectedCodePathException | Thrown when the program goes down a code path that should never be reached |
| NSimulation | |
| NObjectHierarchy | |
| CObjectLink | A link between two objects |
| NStrangeDataTypes | |
| CChangedObjectReturn | |
| CEdgeArray | Test for the UnsafeMemoryObject class |
| CGetClosestTriangleLineReturn | |
| CInputDeviceKeyAction< T > | Represents a set of input device, a input, and an action to perform when the input is triggered. T is a type of the key that is being pressed, such as Key or MouseButton |
| CIOnlyExplicitMemoryArrays | |
| CIParent< ChildType > | |
| CResult | |
| CTriangleArray | A test for the UnsafeMemoryHandledObject class |
| NUI | |
| NImGui | |
| CMainImGuiRenderer | |
| NUIElements | |
| CButton | |
| CContainer | |
| CDecimalSlider | |
| CIUIElement | Represents any UI element |
| CLabel | |
| NUIHierarchy | |
| CUIWindow | |
| CIUIRenderer | Represents a renderer that draws anything in UIRoot |