jMonkeyEngine / jMonkeyEngine/sdk

Update Material when MatDef changes on disk

Open
#452 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Material / Material Editor
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.