Skip to main content

Todo List

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

free resource allocations from renderingDevice, window and InputManager

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?

Member helios::ext::glfw::app::GLFWApplication::setCurrent (helios::window::Window &win) override

the window should be signaled that it's now current window, for setting the frameBufferSizeCallback and calling glfwMakeContextCurrent.

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

add glfwSetWindowRefreshCallback

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

provide abstraction for glfwGetProcAddress

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::rendering::model::Material::logger_

constructor injection

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

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

Member helios::rendering::model::Mesh::logger_

constructor injection

Member helios::rendering::RenderingDevice::logger_

constructor injection

Member helios::rendering::RenderPass::logger_

constructor injection

Member helios::rendering::RenderPassFactory::logger_

constructor injection

Member helios::rendering::RenderPassFactory::makeRenderCommand (const helios::scene::SnapshotItem &snapshotItem) const noexcept

future versions might want to use a FactoryMethod in RenderCommand that takes a SnapshotItem and creates a RenderCommand from it (e.g. `RenderCommand::fromSnapshotItem()`); or a Factory `RenderCommandBuilder()` with fluent configuration `.withShader().withMesh().build();`

Member helios::rendering::RenderQueue::add (std::unique_ptr< const helios::rendering::RenderCommand > renderCommand)

prevent adding renderables while rendering

Member helios::rendering::shader::Shader::logger_

constructor injection

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.

Class helios::scene::Camera

implement class. Make sure localTransforms mark this class as dirty, for proper recalculating projection-/viewMatrix if needed.

check whether nodes should further be divided into Parent- and LeafNodes. Cameras would be LeafNodes then, not allowing to have child nodes.

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::SceneNode::SceneNode () noexcept

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

Struct helios::scene::SnapshotItem

we're intentionally preferring stability over performance by using weak_ptr instead of raw pointers. This leaves room for (performance) improvements in later iterations. The Renderable as a weak pointer can later on be further implemented into a pure DTO, storing only scalar values that get send directly to the underlying rendering backend (e.g. vaos, vbos etc.).

Class helios::scene::Transform

use quaternions for rotation

Class helios::util::log::Logger

configure log stream, severity filtering and thread-safety.


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.