Skip to content

TODO #4

@danilw

Description

@danilw

My TODO for vulkan-shadertoy-launcher:

Small fixes:

  • fix iTime on pause - currently iTime adds +1 sec during pause because how timer implemented
  • make Resize similar to Shadertoy... maybe - on Shadertoy on resize new resized FBO can read previous non-resized FBO.
    In vulkan-shadertoy-launcher - on resize just reset all framebuffers to 0, I still think it is more valid and useful and if someone need to have non-resizeble FBO I have NO_RESIZE_BUF define in main.c, or for demo-apps control state like camera position etc on CPU side and send thru uniform or buffer.\

Implementing missing features:

  • Mipmaps for buffers support - I have no idea how to do proper/correct mipmaps using Vulkan 1.0 without extensions.
    As I know fastest way to do mipmaps in Vulkan is - using compute shader https://github.com/nvpro-samples/vk_compute_mipmaps it requires extension. (so I mean il implement it as option, to keep Vulkan 1.0 minimal rendering)

  • Video-texture support and cubemaps, and maybe 3d texture support. (video encoding? I dont want include 50Mb ffmpeg libraries)

  • Audio - its simple to generate audio texture Some details on Shadertoy FFT my Godot implementation
    But playing audio - for Windows can be used mmsystem, example implementation of mmsystem
    But for Linux OS - no idea how to make it simple and small without dependencies, including fmod explode bin-build by 500Kb when original size 50Kb... need look into finding solution for it

  • Fix discard in Image shader - maybe... required moving rendering of Image shader to its own framebuffer... I do not like creating not needed overhead, so maybe will be optional.

Additional features:

  • Wayland decoration support - read comments in wayland_utils.h
  • Support wlr-layer-shell support wlr-layer-shell #3
  • Add full Headless rendering - to render without starting desktop session
  • Export-render to video - frame perfect video recording, using ffmpeg. (maybe as external repository/project) (and tile rendering)
  • make config support - .cfg file where user set properties for each buffer

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions