Commit Graph

72 Commits

Author SHA1 Message Date
burkkyy f6f4f8b7c9 fixes to buffer class 2026-10-05 02:16:37 -07:00
burkkyy b6098d4dc6 New logger 2026-10-04 23:14:17 -07:00
burkkyy 6cc8bf4262 adding in sandbox 2026-10-04 01:03:47 -07:00
burkkyy 6e48b0605c adding and integrating ImGuizmo 2026-10-02 11:36:33 -07:00
burkkyy b5b0eb9497 Huge changes for 3d 2026-09-30 18:53:16 -07:00
burkkyy ab7c850121 Move barriers and frame submit to synchronization2
Image barriers now carry their own stage masks and are recorded with
pipelineBarrier2, so barriers flushed together no longer share the
union of their stages. AccessState uses the 64-bit stage and access
flags, and the frame submit uses submit2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:51:33 -07:00
burkkyy 1ba1442cc4 Require GPU-driven device features
Enable descriptor indexing (bindless), buffer device address, scalar
block layout, indirect draw count, shader draw parameters, timeline
semaphores and synchronization2 alongside dynamic rendering. A single
feature list drives both physical device selection and device creation.
The VMA allocator is created with buffer device address support.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:51:33 -07:00
burkkyy 812d50127e Adding in tracy profiler 2026-09-30 02:04:59 -07:00
burkkyy 97ff85ea8a Added VMA 2026-09-30 01:31:59 -07:00
burkkyy fc70475538 renaming dir 2026-09-27 02:02:19 -07:00
burkkyy 0f9c7ffc20 view -> sceneView in app class 2026-09-26 02:18:12 -07:00
burkkyy 0b09aeb5d9 More changes 2026-09-26 02:03:11 -07:00
burkkyy b24945ec9d Bunch of changes + fixes 2026-09-26 01:49:45 -07:00
burkkyy a21a842b5b Initial claude dump 2026-09-25 22:59:01 -07:00
burkkyy 5644782a1f Adding in simple alpha blending 2026-09-25 22:34:25 -07:00
burkkyy 171634ca01 stb_image added 2026-09-25 22:23:31 -07:00
burkkyy 6e12d8a710 changes 2026-09-25 20:39:04 -07:00
burkkyy 341249bb96 scene_view concept 2026-09-25 20:23:12 -07:00
burkkyy 0d145f615d changes 2026-09-25 20:22:29 -07:00
burkkyy 4ebae57cf8 Moving stuff around 2026-09-25 20:21:25 -07:00
burkkyy 09706507cf adding compiled shaders to project 2026-09-25 20:09:51 -07:00
burkkyy 75fc14f4ac handy invalid handle macro 2026-09-24 23:00:45 -07:00
burkkyy b5d28ce3eb math.hpp added 2026-09-24 23:00:02 -07:00
burkkyy ae8db07d6f Simplified handles 2026-09-23 23:24:23 -07:00
burkkyy 97267f1a26 stuff 2026-09-24 05:31:38 +00:00
burkkyy 6a50cdb4e8 Formatting 2026-09-23 00:42:47 -07:00
burkkyy a98eac3dc7 laptop changes 2026-09-23 04:20:43 +00:00
burkkyy 39253771f1 starting scene renderer stuff 2026-09-21 11:34:29 -07:00
burkkyy 4d037e1250 moving stuff around 2026-09-21 01:15:58 -07:00
burkkyy 650b4d813f moving files to better dirs 2026-09-21 01:10:13 -07:00
burkkyy 8fbabda095 Render Graph concept started! 2026-09-21 01:03:16 -07:00
burkkyy 2569eff130 changes 2026-09-21 00:30:11 -07:00
burkkyy f3c0f61eb1 Big changes 2026-09-21 00:26:50 -07:00
burkkyy 16f7bb7da3 Upgrading pool pattern 2026-09-20 20:52:09 -07:00
burkkyy fe40d4a629 Simply 2026-09-20 18:58:51 -07:00
burkkyy 5e1caabde6 Add offscreen render targets and rename AssetRegistry to ResourceRegistry
Add a RenderTarget resource so the scene can render offscreen instead of
straight to the swapchain. The editor uses it to show the scene inside the
Viewport panel.

- Rename AssetRegistry to ResourceRegistry (AssetTraits -> ResourceTraits,
  assets() -> resources()) and move the pools from engine/src/assets to
  engine/src/resources. It now covers non-asset GPU resources as well.
- Replace loadMesh() with create<T>(...), and add create<RenderTarget>(),
  requestResize(), getExtent() and isAlive().
- Add RenderTarget and RenderTargetPool with RenderTargetHandle.
  Resizes are deferred and applied at the start of the next frame, when the
  GPU is idle.
- Add Application::setSceneTarget(). With no target set, the scene still
  renders to the swapchain. With a target set, the scene renders offscreen
  and the swapchain receives only the UI. Frame extent and camera projection
  follow the target's size.
- Add sophia::UI (Application::ui()) with image() and getTextureId() to draw
  a render target in an ImGui window, sizing the target to the available
  space. ImGuiRenderer now registers the target textures for this.
- ViewportPanel takes the UI and a target, and draws the scene image in place
  of the flat background fill.
- Update the testbed, the boids example, and the glossary for the rename.
2026-09-20 16:21:22 -07:00
burkkyy 625ed87538 Removing comment 2026-09-19 22:43:30 -07:00
burkkyy 98b3d4a552 Formatting 2026-09-19 22:40:26 -07:00
burkkyy 0e26ccae98 Removed comment 2026-09-19 22:38:47 -07:00
burkkyy 7d9633fb33 Formatting 2026-09-19 22:36:50 -07:00
burkkyy 7837acdf92 removing comments 2026-09-19 22:36:24 -07:00
burkkyy f814ad969f making config editable 2026-09-19 21:13:41 -07:00
burkkyy da6bda7ca7 Supporting setting panel layout 2026-09-19 19:41:39 -07:00
burkkyy dffb7b7972 Changes:
- editor project
- build system fixes
- dummy data editor panels mock
2026-09-16 02:28:42 -07:00
burkkyy 169ff4a277 Made console command registry a better usage pattern 2026-09-16 01:59:34 -07:00
burkkyy a6b98e0613 Added console concept 2026-09-15 02:36:23 -07:00
burkkyy b16507c61d application updated 2026-09-15 02:28:28 -07:00
burkkyy c97db37b31 mesh pool 2026-09-15 02:23:41 -07:00
burkkyy 05fe3c2ee8 changes for ImGui 2026-09-15 02:23:22 -07:00
burkkyy 12a1e6eca9 AssetRegistry and small changes 2026-09-15 02:20:38 -07:00