Skip to content

feat: add shader hot reload support - #30

Open
painfulexistence wants to merge 9 commits into
mainfrom
claude/add-hot-reload-resources-018pxwwVwcY9QZhXpFqKQKaT
Open

feat: add shader hot reload support#30
painfulexistence wants to merge 9 commits into
mainfrom
claude/add-hot-reload-resources-018pxwwVwcY9QZhXpFqKQKaT

Conversation

@painfulexistence

Copy link
Copy Markdown
Owner

No description provided.

- ShaderProgram now stores ShaderProgramProps for reload capability
- Add ShaderProgram::Reload() to recompile shaders in-place
- Implement AssetManager::ReloadShader(name) and ReloadShaders()
- Add ENGINE_WARN and ENGINE_ERROR logging macros
Resolves conflicts by accepting main's new Engine/ directory structure.
Hot reload implementation will be re-applied to new structure.
- Migrated hot reload from old AtmosphericEngine/ to new Engine/ dir
- ShaderProgram stores props and implements Reload() method
- AssetManager::ReloadShader(name) and ReloadShaders() implemented
- Added ENGINE_WARN/ENGINE_ERROR macros to console.hpp
- Removed deprecated AtmosphericEngine/ directory
- ReloadTexture(path): reload single texture in-place
- ReloadTextures(): reload all file-based textures
- ReloadAll(): reload both shaders and textures
- Preserves GLuint IDs so existing references remain valid
- Skips KTX2 and unnamed textures during batch reload
- RmlUiManager::ReloadDocument(path): reload single document
- RmlUiManager::ReloadAllDocuments(): reload all tracked documents
- Track loaded documents for hot reload support
- Preserve visibility state across reloads
- ReloadAll() now includes RmlUI documents when AE_USE_RMLUI enabled
- ShaderProgram is now abstract base class with GLShaderProgram impl
- Moved Reload() and GetProps() to virtual interface
- Updated to use new ShaderType enum (Vertex, Fragment, etc.)
- Added iOS platform preprocessor checks
…stem

- Accept main's MeshHandle return types for all Mesh create/get methods
- Keep our ReloadTexture/ReloadTextures hot reload methods
- Keep ReloadAll() alongside new RemoveMaterial/RemoveTexture cleanup API
- Both hot reload and per-scene asset unloading sections coexist
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants