·
101 commits
to wip
since this release
This release brings a GPU-accelerated 2D rendering context, improved modularity in build scripts, support for Raspberry Pi 5, an interactive rendergraph visualizer, and support for a new shader language, Slang.
New (Highlights)
- c18df00 implement explicit setters for shader argument bindings via
set,binding, additionally to name-based lookup - 9a3b001 add demo for
rendergraph_visualizerto compute example - c3dbf89 update vulkan version to 1.4.328 (you might want to set this to 1.3 for Raspberry Pi 5 in
le_instance.cpp) - bbcc6b0 update tracy to latest version
- 28f815d add support for Slang shader language & infrastructure
- 4d620f9 add hlg eotf and oetf color transfer functions (useful for hdr rendering)
- 79b3c49 update build file infrastructure to use CMake minimum version 3.29
- 8ababe6 add interactive rendergraph visualizer
- 95d71df [backend|renderer] implement component swizzle for image views - this allows you to declare texture samplers that swizzle while sampling
- 757d1a5 [le_path] implement natural cubic bezier interpolation for closed subpaths
- 9e7e70e [le_path] implement natural_cubic bezier interpolation for open subpaths
- f9d8f44 [le_timebase] implement
get_seconds_since_last_frame- a convenience method that returns seconds since last frame - 133699f [le_path] implement iterator for
le_path - 287e97a [renderer] implement compute shader
fillBuffercommand - 457f29a [renderer] implement
dispatchIndirectcommand - e93ddd3 [le_path] add
get_polyline_tangent_at_pos_interpolated - f0a216e [le_path] add methods to query polyline distances
- d94f8d2 [rpi] add support for Raspberry Pi 5
- db71235 [ffmpeg_pipe] add module useful for rendering to ffmpeg
Changes (Highlights)
- 556ac6b [BREAKING] prefer binding name over binding type name when resoving glsl shader binding names
- 971ea18 refactor shader compilation infrastructure: shaders are compiled lazily
- 7857bfd shader compilers use shared interface (this allows adding future shader compilers as plugins, similar to
le_resource_managerhandles image format adapters) - 27063e8 add more output pixel formats to ffmpeg-pipe
- cebe519 make swapchains
ColourSpaceKHRaware - 1172ef7 fixed a memory issue when using le_font
- 902fcaa [debug_print_text] set default background to 30% black
- aba56eb [core] expose spookyhash methods so that they can be used via
le_core - 6088c0b [le_font] update stb_truetype to v1.26
- e02b7c7 [rendergraph] make setup callbacks one-shot
- 35a4c67 [renderer] refactor encoder
- 9f2d5de [backend] update vma_mem_alloc to 3.3.0
- 774d45b [build] set glm defines via cmake globally
- f72fc86 [le_path] rename contour -> sub_path
- d7a1d89 [BREAKING] [le_path|le_2d] unify control points order for svg-style path commands
- 68868e4 [le_2d] remove old
le_2d - 6295ff9 [3rdparty] update to latest version of
glm - 129c25f [*] refactor LE_SETTING: setting may have name independent of its variable name
Full Changelog: v0.14.1-input-output...v0.15.1-gpu_2d-rendergraph_visualizer