Commit Graph
131 Commits
Author SHA1 Message Date
tobid7 feeb3b1ba8 Add Drawlist Vertex and Indexcount geteter (for debugging usage only) 2026-09-06 15:58:19 +02:00
tobid7 5a56bf3986 Fix The rest of UI7 Mem leaks
Throw OneFrame living objs into a pool
2026-09-06 15:58:19 +02:00
tobid7 1dfc538ae3 stop leaking idobj memory (and coloredit layout mem) 2026-09-06 15:58:19 +02:00
tobid7 a8d841c63c format documents 2026-09-06 15:58:18 +02:00
tobid7 2b4c4bacd6 fix random garbage ptr issues 2026-09-06 15:58:18 +02:00
tobid7 859a4c96ae Fix Indexorder issues and patchfixsomehow dx9 tex filtering 2026-09-06 15:58:18 +02:00
tobid7 e0b86ee3f6 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 15:58:17 +02:00
tobid7 b121001db7 Add missing GetDriverName to Os 2026-09-06 15:58:17 +02:00
tobid7 2059772ad1 Draw the line (oder so) 2026-09-06 15:58:17 +02:00
tobid7 6dfc04378a SDF & MONOSPACE FONT RENDERING 2026-09-06 15:58:17 +02:00
tobid7 469cd535fd Upload pools once per Gfx::Draw and FIX DX9 2026-09-06 15:58:16 +02:00
tobid7 b594e09bdb reset pools on newframe 2026-09-06 15:58:16 +02:00
tobid7 41b25e4476 move global pools into gfx driver
prevents double copy problems
saves memory
(needs to be optimized...)
2026-09-06 15:58:16 +02:00
tobid7 25607b865c faster rect command creation 2026-09-06 15:58:16 +02:00
tobid7 1bf103c894 cache ascii chars directly 2026-09-06 15:58:16 +02:00
tobid7 11a480136b insane performance boost (on 3ds) 2026-09-06 15:58:16 +02:00
tobid7 e6fcfe0650 time trace is back 2026-09-06 15:58:15 +02:00
tobid7 a8a80cfa47 implement Image::Convert and Image::Flip 2026-09-06 15:58:15 +02:00
tobid7 b7f1037b18 pool append move and copy 2026-09-06 15:58:15 +02:00
tobid7 13152a317a Fix 2026-09-06 15:58:15 +02:00
tobid7 dda8258064 Add support for rotated gradients 2026-09-06 15:58:14 +02:00
tobid7 0c55291f9c Add stick and trigger input support 2026-09-06 15:58:14 +02:00
tobid7 0f044538cc Add proper Gamepad support (WIP) 2026-09-06 15:58:14 +02:00
tobid7 546940aa77 allo wPD::Color in Drawlist 2026-09-06 15:58:14 +02:00
tobid7 dc365bc658 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 15:58:13 +02:00
tobid7 1ccc7075fa Allow implicit usage of "#ffffffff" etc 2026-09-06 15:58:13 +02:00
tobid7 b069f10841 Add HidDriver base and small HidGLFW driver 2026-09-06 15:58:13 +02:00
tobid7 bf3eef8d28 rename PDBackendFlags to PDGfxBackendFlags 2026-09-06 15:58:13 +02:00
tobid7 6298d4c816 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 15:58:13 +02:00
tobid7 212ba0c617 Actually implement ultra-rendering 2026-09-06 15:58:13 +02:00
tobid7 b4a7260cf2 Rework Project Ultra
- Added container
- Made container the base of Layout
- Set Containers theirself as pParent for Elements on Push
2026-09-06 15:58:13 +02:00
tobid7 1876ab9365 More stuff done at Project Ultra
- Added renderspace
- Revision System (to not always update pRenderspace
- added some test scene
2026-09-06 15:58:12 +02:00
tobid7 ce2dc94121 WIP (Codename Ultra) UI lib 2026-09-06 15:58:12 +02:00
tobid7 bef8ced350 implement font deletion 2026-09-06 15:58:11 +02:00
tobid7 dd038883a0 Fix font bugs 2026-09-06 15:58:11 +02:00
tobid7 7ad2b8b0c5 Add debug getters (and somehow text is not rendering :/) 2026-09-06 15:58:11 +02:00
tobid7 63fb09189d Fix Vertex Alloc usage at Index Alloc 2026-09-06 15:58:11 +02:00
tobid7 306ddfed53 Readd font support (not workign yet) 2026-09-06 15:58:11 +02:00
tobid7 c2b0fa01db Update lazyvec / vec api as well as rect are mostly constexpr now 2026-09-06 15:58:11 +02:00
tobid7 85a92f8371 Add a PositionTranslate func and add Errors for TextureSize mismatch 2026-09-06 15:58:10 +02:00
tobid7 f3d326c237 Add PD::Image and add a setter for logfilter 2026-09-06 15:58:10 +02:00
tobid7 2a57b7c08c 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 15:58:10 +02:00
tobid7 4691d158a9 Remove Gfx Driver Vertex and IndexBuffer size config 2026-09-06 15:58:09 +02:00
tobid7 57c376a822 Add Drawlist
- Add Pool iterator support
- Add Pool Expandability
- Add Pool::Push
- Add Lithium Maths API
- Remove InitPools
- update spirv-helper
2026-09-06 15:58:09 +02:00
tobid7 9d63a17700 Add SpirvHelper (Shader cross compilation)
- Make OpenGL2 and OpenGL3 use the same base shaders (using SpirvHelper)
- Add Transpose func to Mat4
2026-09-06 15:58:09 +02:00
tobid7 1b9876f64b 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 15:58:08 +02:00
tobid7 cd904ea544 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 15:58:08 +02:00
tobid7 e43cb41377 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 15:58:08 +02:00
tobid7 b2d3d203a2 - Update pool to use template allocator directly instead of std::vector
- Add a GfxDriver config Template to be able to modify settings like allocators / Types for specific Drivers
- Add glad
2026-09-06 15:58:04 +02:00
tobid7 f1a63fe383 0.7.0 rewrite dev
- remove everyting
- keep core
-rename bit_utils to bits
- add formatter for  color
- add float getters to color
- start with new drivers api
2026-09-06 15:57:14 +02:00