Commit Graph
100 Commits
Author SHA1 Message Date
tobid7 e6a9604c55 Layers are back 2026-09-06 16:13:40 +02:00
tobid7 619b4d4e93 hotfix 2026-09-06 16:13:39 +02:00
tobid7 597488717f Add Hid3DS 2026-09-06 16:13:39 +02:00
tobid7 5d8ce7f56f 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:13:38 +02:00
tobid7 8cd292bcc3 Add Drawlist Vertex and Indexcount geteter (for debugging usage only) 2026-09-06 16:13:38 +02:00
tobid7 9ef52bcd05 Fix The rest of UI7 Mem leaks
Throw OneFrame living objs into a pool
2026-09-06 16:13:37 +02:00
tobid7 e8bc35b2fb stop leaking idobj memory (and coloredit layout mem) 2026-09-06 16:13:37 +02:00
tobid7 fa20c743d0 dx9: update device size on window size change 2026-09-06 16:13:36 +02:00
tobid7 79e7682e2d format documents 2026-09-06 16:13:36 +02:00
tobid7 3fd005e8a6 unload debugfont and add Gfx debug menu 2026-09-06 16:13:35 +02:00
tobid7 fa4d32fa5e fix random garbage ptr issues 2026-09-06 16:13:34 +02:00
tobid7 6521bdc711 Fix Indexorder issues and patchfixsomehow dx9 tex filtering 2026-09-06 16:13:34 +02:00
tobid7 457460e7a8 No big update without msvc compiler errors :/ 2026-09-06 16:13:33 +02:00
tobid7 a04efd602a More timings 2026-09-06 16:13:33 +02:00
tobid7 d7188aa140 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:13:32 +02:00
tobid7 a958222c29 Add missing GetDriverName to Os 2026-09-06 16:13:32 +02:00
tobid7 391221a6a6 Draw the line (oder so) 2026-09-06 16:13:31 +02:00
tobid7 fb04d5ec79 Load the font async for now 2026-09-06 16:13:31 +02:00
tobid7 89e98bbcc2 n3ds-boost 2026-09-06 16:13:30 +02:00
tobid7 83e06e013f SDF & MONOSPACE FONT RENDERING 2026-09-06 16:13:30 +02:00
tobid7 70e5f8859a save 75% of font memory 2026-09-06 16:13:29 +02:00
tobid7 b1cf3840af Upload pools once per Gfx::Draw and FIX DX9 2026-09-06 16:13:29 +02:00
tobid7 ccb5191551 reset pools on newframe 2026-09-06 16:13:28 +02:00
tobid7 affad4febd move global pools into gfx driver
prevents double copy problems
saves memory
(needs to be optimized...)
2026-09-06 16:13:28 +02:00
tobid7 839af66858 faster rect command creation 2026-09-06 16:13:27 +02:00
tobid7 847259cb48 cache ascii chars directly 2026-09-06 16:13:26 +02:00
tobid7 fa7812a51b insane performance boost (on 3ds) 2026-09-06 16:13:26 +02:00
tobid7 e05c915c36 time trace is back 2026-09-06 16:13:25 +02:00
tobid7 2423784ec7 implement Image::Convert and Image::Flip 2026-09-06 16:13:25 +02:00
tobid7 4ee10208c7 pool append move and copy 2026-09-06 16:13:24 +02:00
tobid7 03418f38d5 # small fixes
- Fix Os::GetTimeNano()
- only build tests on non vendored usage
2026-09-06 16:13:24 +02:00
tobid7 8a7a1d7fe8 Fix 2026-09-06 16:13:23 +02:00
tobid7 3d385583f2 Fix 3ds build and update libpicasso 2026-09-06 16:13:23 +02:00
tobid7 4c15f91e88 remove poc func 2026-09-06 16:13:22 +02:00
tobid7 da4baf8fbd Add support for rotated gradients 2026-09-06 16:13:22 +02:00
tobid7 eda4213ffc Add stick and trigger input support 2026-09-06 16:13:21 +02:00
tobid7 9535ec06c0 Fix clang warning 2026-09-06 16:13:21 +02:00
tobid7 979a043034 fix preset names for Selection Views 2026-09-06 16:13:20 +02:00
tobid7 6116f97bba Add NX Hid Driver Template
- Add WIP HidNX Driver (clangd not working with devkitpro for switch on windows)
- Add default-release as default search path for compile_commands.json
- remove mingw preset (casue its exactly the default target)
- Move Mouse pos cycle into HidDriver::Update
- Test around with HidGlfw on Nintendo switch
2026-09-06 16:13:20 +02:00
tobid7 8ac08b15d4 Add proper Gamepad support (WIP) 2026-09-06 16:13:19 +02:00
tobid7 429514ce8b allo wPD::Color in Drawlist 2026-09-06 16:13:19 +02:00
tobid7 69936b1cf0 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:13:18 +02:00
tobid7 f058dfd0b8 Allow implicit usage of "#ffffffff" etc 2026-09-06 16:13:18 +02:00
tobid7 d43ed70ba3 Add HidDriver base and small HidGLFW driver 2026-09-06 16:13:17 +02:00
tobid7 5db9bae9f8 rename PDBackendFlags to PDGfxBackendFlags 2026-09-06 16:13:17 +02:00
tobid7 82d5fa6ae3 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:13:16 +02:00
tobid7 3805e08b31 Actually implement ultra-rendering 2026-09-06 16:13:16 +02:00
tobid7 350cb752af Rework Project Ultra
- Added container
- Made container the base of Layout
- Set Containers theirself as pParent for Elements on Push
2026-09-06 16:13:15 +02:00
tobid7 23817f1c85 Fix path rects 2026-09-06 16:13:15 +02:00
tobid7 2b6171a7a2 Fixing riunded rects 2026-09-06 16:13:14 +02:00
tobid7 95530e987d Add a default preset (for linux/macos default builds) 2026-09-06 16:13:14 +02:00
tobid7 1ea5ad5e0f Add cmake presets
- MSVC requires cmake for Windows
- mingw only builds when GLSLANG is excluded due to wrong header generation
2026-09-06 16:13:13 +02:00
tobid7 60fcb4f80d build 3dsx and nro in ALL stage 2026-09-06 16:13:12 +02:00
tobid7 6c1c59014e More stuff done at Project Ultra
- Added renderspace
- Revision System (to not always update pRenderspace
- added some test scene
2026-09-06 16:13:12 +02:00
tobid7 d8b19e3993 WIP (Codename Ultra) UI lib 2026-09-06 16:13:11 +02:00
tobid7 17e000a02c implement font deletion 2026-09-06 16:13:11 +02:00
tobid7 8ebee69338 Fix font bugs 2026-09-06 16:13:10 +02:00
tobid7 283583c333 Add debug getters (and somehow text is not rendering :/) 2026-09-06 16:13:10 +02:00
tobid7 a96bb1e874 Fix Vertex Alloc usage at Index Alloc 2026-09-06 16:13:09 +02:00
tobid7 266075fe4b Readd font support (not workign yet) 2026-09-06 16:13:09 +02:00
tobid7 17df854d99 Update lazyvec / vec api as well as rect are mostly constexpr now 2026-09-06 16:13:08 +02:00
tobid7 d5998c317d Always disable glslang build for NintendoSwitch on Windows 2026-09-06 16:13:08 +02:00
tobid7 22d8e74f25 Present DX9 Frames ... 2026-09-06 16:13:07 +02:00
tobid7 bc09667346 Add a PositionTranslate func and add Errors for TextureSize mismatch 2026-09-06 16:13:07 +02:00
tobid7 1b663aa120 Add PD::Image and add a setter for logfilter 2026-09-06 16:13:06 +02:00
tobid7 71a1abed20 Forgot about dx9 (UNTESTED!!!) 2026-09-06 16:13:06 +02:00
tobid7 f02b67043f Add Os Bridge into test framework 2026-09-06 16:13:05 +02:00
tobid7 35ef853c49 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:13:05 +02:00
tobid7 0fe3872d08 Add nintendo switch support 2026-09-06 16:13:04 +02:00
tobid7 0d4723bd2b Remove Gfx Driver Vertex and IndexBuffer size config 2026-09-06 16:13:03 +02:00
tobid7 8ece89aa62 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:13:03 +02:00
tobid7 d055521c2a Replace spirv-helper stuff with a library that combines everything 2026-09-06 16:13:02 +02:00
tobid7 3fa061e58e Add the shaders 2026-09-06 16:13:02 +02:00
tobid7 842ac99e2a Add pdsg (palladium spirv-generator)
- remove glslang from pd-system
- use spirv blobs instead of glsl 460
- Use Legacy shaders for OpenGL2 backend
- add devnotes
2026-09-06 16:13:01 +02:00
tobid7 d0f780381b 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:13:01 +02:00
tobid7 290fece35a Add missing sources 2026-09-06 16:13:00 +02:00
tobid7 b6ba5eb64e Full 3ds support and fix dx9 2026-09-06 16:13:00 +02:00
tobid7 0f7223ff18 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:12:59 +02:00
tobid7 9359167a8e 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:12:59 +02:00
tobid7 1681ec458a 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:12:58 +02:00
tobid7 5ec73d20c3 - 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 16:12:57 +02:00
tobid7 8a94f0ccd0 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 16:06:14 +02:00
tobid7 0501a4f87c Make UI7::IO::CurrentViewPort a Reference (finally) 2026-03-18 21:33:35 +01:00
tobid7 3d8b57ead6 add .gitattributes file 2026-03-16 20:28:30 +01:00
tobid7 ac37ce9e12 Fix test 2026-03-14 21:15:40 +01:00
tobid7 ff1b574276 [pd-ui7] add getters for ui7 menu pos and size 2026-03-13 20:55:40 +01:00
tobid7 1b47ed843f [pd-drivers]: Ad more debug values
[pd-3ds]: Use new debug values
[pd-lithium]: Add functionality to DrawList::Optimize
[pd-ui7]: Add setters for Menu pos ans size
2026-03-12 20:18:27 +01:00
tobid7 02d2200edd Fix Render discard issue [pd-3ds]
- Clip Rects do now not discard when they move out of screen (cause the maths ends in < 0 which is not working with u32)
- Fixing ui7 crash wehn im input was nullptr
2026-03-10 18:57:29 +01:00
tobid7 97efca5173 Merge branch 'stable' of https://github.com/tobid7/palladium into stable 2026-03-09 20:47:53 +01:00
tobid7 68cc809555 Fix Drawlist::Clear / Add HashID / FNV Type traits 2026-03-09 20:46:41 +01:00
tobid7 ca490df915 Add U8Iterator and Pool base class 2026-03-05 20:24:47 +01:00
tobid7 da0f7320c8 Add stuff for cmake find_package
- Add build* to gitignore
- Fix year in license file
- other changes are result of clang-format
2026-03-01 21:41:53 +01:00
tobid7 8ee7006d2c Export OS correctly 2026-01-30 20:19:13 +01:00
tobid7 683c226ce0 Fix MSVC dll building 2026-01-29 20:17:04 +01:00
tobid7 1ec06a26cc Fix GL Scissor in Desktop Backend 2026-01-28 07:40:34 +01:00
tobid7 21b45f5855 WIP: Add CLipRects to UI7 Layouts
- Added Scissor Support to Font Rendering
2026-01-28 07:11:56 +01:00
tobid7 090656b30c Fix close sym input logic 2026-01-27 08:06:52 +01:00
tobid7 e8072a064c WIP Backend System Redesign Step 1
- Created 1 Context for Backend Management and Sharing
- Made every class that used a static Backend require the Context or specific Backend
- Bring Back 3ds support
2026-01-26 20:46:27 +01:00
tobid7 892f8ce0c4 Update License Header Text 2026-01-25 21:12:16 +01:00
tobid7 c373b15bab remove drivers pd_p_api header 2026-01-25 21:00:50 +01:00