Skip to content

v0.14.1: Swapchains, Screenshots, Wayland

Latest
Compare
Choose a tag to compare
@tgfrerer tgfrerer released this 01 Nov 09:46
· 25 commits to wip since this release
7e6f1fa

This release improves infrastructure, notably swapchains (which are now thought more of as image-sinks). It adds some nice features, such as direct loading of mesh data, adds image input/output codecs for png and exr files, and a new screenshot module for saving renderpasses to disk on the fly. There's also a new way of printing debug text to screen from nearly anywhere, which uses a texture-less technique described in a separate blog post. Island applications now support Wayland on Linux, and are HiDPI aware.


There's also a new example app which reprojects a map on mouse click, and allows you to save it's screen contents to png (see image).

Why are screenshots from within the app a nice feature?

  • can save images more easily
  • can save images at the native bits-per-pixel resolution (you can save 32bit float-per-channel images if you use the new .exr image encoder adapter, for example)
  • can save images with alpha

New (highlights)

  • add le_exr #62 -- a module for loading and saving .EXR files
  • refactor le_mesh in #63 -- loading mesh data is now streamlined, mesh data may be uploaded to the GPU straight from disk
  • 33ed68c [le_mesh] implement attribute read
  • 9513349 [image codec] add image encoder interface - a generic interface that any file formats may choose to implement.
  • fca7736 [le_camera] implement orthographic zoom factor
  • 18d78d2 [le_png] add le_png -- a module for loading and saving PNG files -- on linux, optionally, using super fast lodepng / FPNGE encoder
  • b6367b1 [video] use video_maintenance_1
  • 8dd0c48 [backend] add helper to manage required/requested backend features
  • 7c487a9 [le_path] enable relative svg path operators, lots of additions here for parsing more svg commands
  • 294293a [screenshot] add le_screenshot module
  • 1916596 [le_debug_print_text] add texture-less printing of debug text.
  • b8b62b4 [examples] add screenshot example

What's Changed (highlights)

  • 2395eca [le_window] add get_content_scale so that applications may be aware of HiDPI
  • 5f14d06 [swapchain] refactor swapchain creation
  • cc77e1b [swapchain] delay destruction until present complete
  • 5265107 [swapchain] implement explicit resize
  • 856ba3e [examples] update examples for swapchain resize
  • c042927 [3rdparty] update spirv-reflect
  • 8784b23 [3rdparty] update glfw
  • b3f8762 le_resource_manager: add adapter for loading .tga files
  • 9aaca51 [examples] update le_imgui_example: draw into image which is then bound as a texture in ImGui -- this shows how you can preview textures, and how you can refer to
    textures from within imgui
  • cb63d8c video_decode lots of changes with video decode, notably implemented seek
  • ffb8c72 [le_window] respect content scale / HiDPI
  • Fix le_image_decoder_read_pixels in le_pixels module by @drsherluck in #65

New Contributors

Full Changelog: v0.13.0-image-hot-reload...v0.14.1-input-output