jMonkeyEngine / jMonkeyEngine/sdk
Update Material when MatDef changes on disk
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 348
- Forks
- 104
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 3
Description
From @grizeldi 's wishlist:
"The preview as it is, is rather useless for shader development, as it doesn’t have live refresh. If I change my shader file on disk, the preview should refresh, so I don’t need to reopen the material window every time I do a small shader tweak. Lack of this functionality sadly prevents me from undocking the material editor, putting it somewhere else in the UI and just start coding."
I see two ways of doing this:
- As the scenecomposer does it for materials, through a listener/provider on the Shader editor
- As the scenecomposer does it for models, listening for changes on the file itself.
The first creates a nice integration with the other editors, encouraging usage. It however requires using them, and I figure a lot of people will be editing text files.
The second allows for external editing, but it's complicated a bit by being multiple files (at least 3, matdef, vertex and frag shaders)
Given that, the first one is probably easier to implement.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare how the scenecomposer handles material and model changes, then examine the Shader editor integration and the alternative of listening for file changes. Done means the material preview refreshes after MatDef or shader edits without reopening the material window.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- computer-graphics, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100