Commit Graph
133 Commits
Author SHA1 Message Date
tobid7 db2757ff1b Layers are back 2026-09-06 16:06:14 +02:00
tobid7 9d9e4d26b4 Bring back global lithium pools
why?
cause sorting around the global driver pool would basically use more cpu power then just copy data sequences into the right order
And sorting data references costs 0 performance at all
2026-09-06 16:06:14 +02:00
tobid7 029b91975b Add Drawlist Vertex and Indexcount geteter (for debugging usage only) 2026-09-06 16:06:14 +02:00
tobid7 afe5b4b003 Fix The rest of UI7 Mem leaks
Throw OneFrame living objs into a pool
2026-09-06 16:06:14 +02:00
tobid7 3a1ea8c37f stop leaking idobj memory (and coloredit layout mem) 2026-09-06 16:06:14 +02:00
tobid7 a83a1f4ef1 format documents 2026-09-06 16:06:14 +02:00
tobid7 e980559e85 fix random garbage ptr issues 2026-09-06 16:06:14 +02:00
tobid7 5297917775 Fix Indexorder issues and patchfixsomehow dx9 tex filtering 2026-09-06 16:06:14 +02:00
tobid7 c84144bf9e UI7 is BACK!
took me about a full week to get something to render again withour shared_ptrs
as of now this is very unstable, untested and lacking a lot of features due to lithium is lacking the base for that
Added JetBrainsMono font as debug font for the metrics
2026-09-06 16:06:14 +02:00
tobid7 2adb9c0126 Add missing GetDriverName to Os 2026-09-06 16:06:14 +02:00
tobid7 bc161c77ad Draw the line (oder so) 2026-09-06 16:06:14 +02:00
tobid7 17e3b3a1d3 SDF & MONOSPACE FONT RENDERING 2026-09-06 16:06:14 +02:00
tobid7 79ef0c5a21 Upload pools once per Gfx::Draw and FIX DX9 2026-09-06 16:06:14 +02:00
tobid7 4c8befb6b7 reset pools on newframe 2026-09-06 16:06:14 +02:00
tobid7 1c257032ae move global pools into gfx driver
prevents double copy problems
saves memory
(needs to be optimized...)
2026-09-06 16:06:14 +02:00
tobid7 02be117b5a faster rect command creation 2026-09-06 16:06:14 +02:00
tobid7 9f6deeb18d cache ascii chars directly 2026-09-06 16:06:14 +02:00
tobid7 b6f9688de5 insane performance boost (on 3ds) 2026-09-06 16:06:14 +02:00
tobid7 b8e46a047f time trace is back 2026-09-06 16:06:14 +02:00
tobid7 10768985ff implement Image::Convert and Image::Flip 2026-09-06 16:06:14 +02:00
tobid7 ec0020a877 pool append move and copy 2026-09-06 16:06:14 +02:00
tobid7 e461f64c02 Fix 2026-09-06 16:06:14 +02:00
tobid7 a8f4aeb3b9 Add support for rotated gradients 2026-09-06 16:06:14 +02:00
tobid7 f26dd2fec4 Add stick and trigger input support 2026-09-06 16:06:14 +02:00
tobid7 86db24b382 Add proper Gamepad support (WIP) 2026-09-06 16:06:14 +02:00
tobid7 d6b03f7f3c allo wPD::Color in Drawlist 2026-09-06 16:06:14 +02:00
tobid7 09872b1fbe Add Input functionality to Ultra
- Add point InSpace check to PD::Li::Math
- Add Universal AlignmentCenter flag for Horizontal and and Vertical Alignment
-  Add Fallbackfont to Layout (if you dont want to set font per object)
- Add Button Object WIP
- Rename OnHover to OnFocus and add OnUnfocus
- Move font and FontScale to ElementBase (for fallback logic etc)
- Add UpdateInput func to ElementBase
- Corectly Set fontScale in Text Rendering
- Update ecample
2026-09-06 16:06:14 +02:00
tobid7 fd19c48f73 Allow implicit usage of "#ffffffff" etc 2026-09-06 16:06:14 +02:00
tobid7 0ac1e08d54 Add HidDriver base and small HidGLFW driver 2026-09-06 16:06:14 +02:00
tobid7 f7c2e7fa4f rename PDBackendFlags to PDGfxBackendFlags 2026-09-06 16:06:14 +02:00
tobid7 ca8f2f7dbb Implement VCanvas and Update TextElem
- Text now requires a font and is able to take an individual scale
- Container requires &ref for Elements to make sure they always exist
- SetViewport now sets the canvas as well
- SetBaseViewport Sets the Virtual Canvas Size
- Layout Now requires a Drawlist reference in Render function
- main.cpp: updated the template
2026-09-06 16:06:14 +02:00
tobid7 877f48d7b3 Actually implement ultra-rendering 2026-09-06 16:06:14 +02:00
tobid7 996ab44867 Rework Project Ultra
- Added container
- Made container the base of Layout
- Set Containers theirself as pParent for Elements on Push
2026-09-06 16:06:14 +02:00
tobid7 993aeffdb2 More stuff done at Project Ultra
- Added renderspace
- Revision System (to not always update pRenderspace
- added some test scene
2026-09-06 16:06:14 +02:00
tobid7 19f19e8072 WIP (Codename Ultra) UI lib 2026-09-06 16:06:14 +02:00
tobid7 8de1484f0a implement font deletion 2026-09-06 16:06:14 +02:00
tobid7 17a2ca1474 Fix font bugs 2026-09-06 16:06:14 +02:00
tobid7 47425baad0 Add debug getters (and somehow text is not rendering :/) 2026-09-06 16:06:14 +02:00
tobid7 52590833bb Fix Vertex Alloc usage at Index Alloc 2026-09-06 16:06:14 +02:00
tobid7 6c287c0afd Readd font support (not workign yet) 2026-09-06 16:06:14 +02:00
tobid7 4f6d22c82b Update lazyvec / vec api as well as rect are mostly constexpr now 2026-09-06 16:06:14 +02:00
tobid7 6f9baffc62 Add a PositionTranslate func and add Errors for TextureSize mismatch 2026-09-06 16:06:14 +02:00
tobid7 53ee22c52c Add PD::Image and add a setter for logfilter 2026-09-06 16:06:14 +02:00
tobid7 8b5a928d49 Refactor PD::Li Pools system, Upgrade PD::Pool and add better logging
- Add ResetFast to Pool using c++20 concept
- Add Put function to Pool
- Use Pool Index instead of pointers in Command
- Add accessor to Li Pools to prevent wrong command usage
- Add Command Formatter
- Use ResetFast for all Pools
- Add Reset func to Li::Vertex (for ResetFast)
- Add Pool Expandor and Put funcs to Lithium pools
- Add getters for GfxDriverBase to PD::Li Pools
2026-09-06 16:06:14 +02:00
tobid7 6355ff5703 Remove Gfx Driver Vertex and IndexBuffer size config 2026-09-06 16:06:14 +02:00
tobid7 fc76a4f3fe Add Drawlist
- Add Pool iterator support
- Add Pool Expandability
- Add Pool::Push
- Add Lithium Maths API
- Remove InitPools
- update spirv-helper
2026-09-06 16:06:14 +02:00
tobid7 e62952d0fd Add SpirvHelper (Shader cross compilation)
- Make OpenGL2 and OpenGL3 use the same base shaders (using SpirvHelper)
- Add Transpose func to Mat4
2026-09-06 16:06:14 +02:00
tobid7 501aaaf45c Work at 3ds support and backend upgrades
- Track textures (not sure if this is done tbh)
- Add lithium formatters and move TextureID, TextureFormat and TextureFilter to lithium
- Only include gl-helper if any glDriver is included
- Add Li::Rect for UV stuff
- Add Li::Texture as Info holder (still thinking of making them to ptrs
- Add Check if textures are still loaded on exit
2026-09-06 16:06:14 +02:00
tobid7 fed65e41ff Add backends
- Renamed GfxOpenGL to GfxOPenGL2
- Added GfxOpenGL3 backend for OpenGL 3.3+
- Added WIP DirectX9 backend
- Added structure for Citro3D
- Added linear Allocator
2026-09-06 16:06:14 +02:00
tobid7 c52a4acf0b More work to drivers
- Add gfx_test
- add texture loading to GfxOpenGL
- add full submit code
- add debug logging
- add construct and destroy functionality to Pool
- add command functionality
- add vertex and index pools to lithium (static and not threadsafe yet)
- Update GfxDriver Matrix with SetViewPort
- Add glfw (only dependency of gfx_test) maybe later required for input driver
2026-09-06 16:06:14 +02:00