You are browsing as a guest. Sign up (or log in) to start making projects!

6h 15m 13s logged

Editor QoL, Graphics Configs & Prefabs

new devlog… mostly been focusing on editor ui and qol changes this time around.
kinda tired of hardcoded settings for the graphics settings, so i finally built a proper interface for it,
plus some prefab management stuff in the editor


changes

graphics settings

i built a dedicated graphics configurator window in the window, for the current project (GraphicsConfigEditor).

  • it hooks directly into the UndoManager using the command pattern (GraphicsConfigUpdateCommand)
  • serializes everything out to graphics.json.
  • added QuerySupportedSampleCounts which asks the active GL context (before it gets handed to the render thread)
    what MSAA sample counts it supports.
  • the editor now dynamically generates the dropdown and snaps to a valid sample count (i.e 1, 2, 4, 8, 16).

prefab management

the editor now supports prefab management that i implemented earlier
.. instead of directly writing it in the scene json file

  • you can spawn entities directly into the scene from prefab json files
  • you can revert a prefab, which wipes any local overrides and resets the entity back to whatever is saved in the file
  • you can break a prefab, severing the link to the json file and turning it into a normal, standalone entity in the registry

ui & editor cleanup

spent some time making the editor less annoying.. in general

  • the editor layout stops resetting itself ,
    it now checks if imgui.ini exists on startup, and if it does, it skips rebuilding the default dockspace

  • ripped the hardcoded hub drawing code out of the EditorLayer and made it its own state for the editor state machine

  • refactored the config windows (ProjectConfigEditor, SceneConfigEditor, and the new GraphicsConfigEditor) to inherit from a base ConfigEditor class so its cleaner and easier to maintain..

  • fixed the script widget since the ui was kinda messy

0
14

Comments 0

No comments yet. Be the first!