Hymn to Beauty
C++ 3D Engine
Todo List
Member Engine::Present ()
Make limiting FPS optional.
Member GLTFImporter::Import (const std::string &path, const std::string &filename)

Samplers

Support animations.

Member handle_cmd (android_app *app, int32_t cmd)
Implement
Class Input
Android
Class InputManager
Android
Member main (int argc, char *argv[])
Configure engine based on settings.
Member ScriptManager::RegisterUpdate (Entity *entity)
Fix so registered entities can be removed.
Member SoundManager::Update ()

Set velocity based on physics.

More than one listener? Eg. for split-screen multiplayer.

Member TriggerRepeat::~TriggerRepeat ()
: Vector support
Member Utility::Window::Window (unsigned int width, unsigned int height, bool fullscreen=false, bool borderless=false, const char *title="", bool noAPI=false)
Print error to log.
Class Video::ComputePipeline
Write better documentation.
Class Video::GraphicsPipeline
Write better documentation.
Member Video::Isocahedron::Isocahedron (LowLevelRenderer *lowLevelRenderer)
Subdivide?
Member Video::LowLevelRenderer::OptionalFeatures::shaderAtomics
Remove this once wgpu supports atomics.
Member Video::OpenGLCommandBuffer::SetLineWidth (float width) final
Clamp line width to supported values.
Member Video::OpenGLRenderer::OpenGLRenderer (Utility::Window *window)
Disable GPU profiling if not supported.
Class Video::RenderPass
Better documentation. This is not an intuitive concept (and doesn't map neatly to OpenGL or Vulkan).
Member Video::VulkanCommandBuffer::SetLineWidth (float width) final
Clamp line width to supported values.
Member Video::VulkanRenderer::GetDescriptorSet (std::initializer_list< std::pair< Texture *, const Sampler * > > textures)
Have some material object keep track of this instead of treating textures individually.
Member Video::VulkanSampler::VulkanSampler (VkDevice device, Filter filter, Clamping clamping)
Anisotropic filtering.
Member Video::VulkanTexture::VulkanTexture (VulkanRenderer &vulkanRenderer, VkDevice device, VkPhysicalDevice physicalDevice, const glm::uvec2 size, Texture::Type type, Texture::Format format, int components=0, unsigned char *data=nullptr)
Support textures of different formats.
Member Video::WebGPUCommandBuffer::SetScissor (const glm::uvec2 &origin, const glm::uvec2 &size) final
Remove once wgpu has added support for zero-area scissors. https://github.com/gfx-rs/wgpu/issues/1750
Member Video::WebGPURawBuffer::Write (uint32_t offset, uint32_t size, const void *data) final
Could use mapOnCreate for non-temporary buffers?
Member Video::WebGPURenderer::BeginFrame () final
Handle swap chain recreation.
Member Video::WebGPURenderer::ReadImage (Texture *texture) final
Doesn't work for some reason. Need to call tick explicitly.
Member Video::ZBinning::ZBinning (LowLevelRenderer *lowLevelRenderer, const glm::uvec2 &screenSize)
Remove.