Skip to main content

Todo List

Member helios::app::Application::~Application ()=default

free resource allocations from renderingDevice, window and InputManager

Class helios::core::spatial::Transform

use quaternions for rotation

Member helios::engine::mechanics::bounds::systems::LevelBoundsBehaviorSystem::update (helios::engine::runtime::world::UpdateContext &updateContext) noexcept override

optimize

Member helios::engine::mechanics::input::systems::TwinStickInputSystem::update (helios::engine::runtime::world::UpdateContext &updateContext) noexcept override

DO NOT POST IF input is already inactive in shootComponent and no input was detected (after normalizing)

Member helios::engine::mechanics::spawn::systems::GameObjectSpawnSystem::update (helios::engine::runtime::world::UpdateContext &updateContext) noexcept override

this should be processed before iterating over all schedulers: A scheduler owns the rule, hence a rule that triggered the event's can be associated with the owning Scheduler, making it unneccesary to iterate over already processed events

Namespace helios::engine::modules::effects::gfx::components

move to spatial or effects

Namespace helios::engine::modules::spatial::transform::components

move to spatial transform

Member helios::engine::modules::ui::widgets::systems::MenuDisplaySystem< StateLft, StateRgt >::update (helios::engine::runtime::world::UpdateContext &updateContext) noexcept override

Check if item is child element of menu?

guaranteee that the UiFocusComponent is exclusive, break here if first comp with focus was found.

Class helios::engine::runtime::pooling::GameObjectPool

Prevent duplicate EntityHandles from being added to the pool.

Member helios::engine::tooling::FramePacer::sync ()

Implement hybrid spinning for the last millisecond of the wait time to improve timing precision and mitigate OS scheduler wake-up latency.

Member helios::event::BasicEventManager::post (std::unique_ptr< const Event > event, PostPolicy policy, const std::function< bool(const std::unique_ptr< const Event > &event, const std::unique_ptr< const Event > &evt)> &func) override

use hashmap instead of queue for faster lookup

Class helios::event::Event

can we reset the value for Guids in between frames, if events are guaranteed to be dispatched and processed in between frames?

Class helios::ext::glfw::window::GLFWWindow

add glfwSetWindowRefreshCallback

Member helios::ext::opengl::rendering::model::OpenGLMesh::OpenGLMesh (std::shared_ptr< const std::vector< helios::rendering::Vertex > > vertices, std::shared_ptr< const std::vector< unsigned int > > indices, std::shared_ptr< const helios::rendering::mesh::MeshConfig > meshConfig)

this should not be part of the constructor, instead, lazy init in render pass, then reuse.

Member helios::ext::opengl::rendering::model::OpenGLMesh::OpenGLMesh (const helios::rendering::asset::shape::Shape &shape, std::shared_ptr< const helios::rendering::mesh::MeshConfig > meshConfig)

this should not be part of the constructor, instead, lazy init in render pass, then reuse.

Member helios::ext::opengl::rendering::OpenGLDevice::init () override

Provide abstraction for glfwGetProcAddress.

Member helios::ext::opengl::rendering::OpenGLGlyphTextRenderer::~OpenGLGlyphTextRenderer () override

glDeleteTextures()

Class helios::input::InputSnapshot

Extend to support multiple gamepads, keyboard, and mouse input.

Add timestamp to enable precise replay and network synchronization.

Member helios::math::mat4< T >::same (const mat4< T > &rgt) const

account for abs (values close to zero) and rel (larger values), move EPSILON to global constant

Member helios::math::vec2< T >::same (const vec2< T > &rgt, T epsilon=0.0001) const

account for abs (values close to zero) and rel (larger values), move epsilon to global constant?

Member helios::math::vec3< T >::same (const vec3< T > &rgt, T epsilon=0.0001) const

account for abs (values close to zero) and rel (larger values), move epsilon to global constant?

Member helios::rendering::mesh::Mesh::init ()=0

std::shared_ptr<const std::vector<Texture>> textures_;

Member helios::rendering::RenderQueue::add (helios::rendering::mesh::MeshRenderCommand renderCommand)

prevent adding renderables while rendering

Member helios::rendering::RenderQueue::clear ()

strategy to decide whether shrink_to_fit should only be applied if expected numbers RenderCommands for the subsequent render passes is less than current size?

Class helios::rendering::RenderTarget

This implementation currently represents only the **default framebuffer**. Future extensions should allow it to represent arbitrary framebuffer objects (FBOs), using indices.

Member helios::rendering::RenderTarget::setSize (unsigned int width, unsigned int height) noexcept

A LayoutManager could be introduced to manage the arrangement of multiple viewports.

Class helios::rendering::shader::UniformValueMap

UniformMap must allow only one index for all data structures, i.e. if map_[semantics] contains a mat4f, other types should not be allowed for the same semantics.

UniformValueMaps should be scoped, e.g. per frame (world matrix, projection, view...), per material (colors, emissive...), per object (world matrix...), which allows for better handling of assigning uniforms: per-frame values change once per frame, while per-object values change per object.

Member helios::rendering::Viewport::setRenderTarget (const helios::rendering::RenderTarget *renderTarget, ViewportKey key) noexcept

The Viewport should observe the RenderTarget for state changes (e.g., resize).

Member helios::scene::CameraSceneNode::lookAt (helios::math::vec3f target, helios::math::vec3f up)

add support for different rotations

Class helios::scene::FrustumCullingStrategy

The returned list should be considered "as is" for now: Each entry in the list is a single renderable entity to consider. Its child nodes (i.e. the sub tree for which this node is the root) should _not_ be automatically considered for rendering. Later iterations should probably use an individual struct that provides a hint whether for a given node a whole subtree should be considered, saving time for culling and memory when constructing the list.

Member helios::scene::Scene::createSnapshot (const rendering::Viewport &viewport) const

This should be refactored into a factory to prevent domain leakage between Scene and Rendering.

Member helios::scene::SceneNode::SceneNode () noexcept

explicitly implement move (assignment) constructor if required, since we have deleted the copy constructors


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.