Skip to content

Conversation

@codex128
Copy link
Contributor

@codex128 codex128 commented May 7, 2024

This PR adds a FrameGraph rendering pipeline API that is similar in concept to shader nodes. This is based off work from #2090.

For more information:
https://hub.jmonkeyengine.org/t/framegraph-api/47646?u=codex

To Do:

  • Clean up several scattered compile errors.
  • Implement Forward+ and/or Forward++ (save for another PR?)
  • Test FrameGraph under more conditions.
  • Test global illumination?
  • Javadoc and licenses.

Issues to be investigated further:

  • Some unexplained difficulties in combining results from multiple ViewPorts running FrameGraphs in some circumstances.
  • Slight artifacts on shadow mappings. This may be a regression of unrelated code on the fork, and not any fault of the FrameGraph.

Any testing is welcome!

JohnLKkk and others added 30 commits October 9, 2023 11:14
1. Added basic framework of framegraph to manage and organize new rendering passes;
2. Split existing rendering into several core RenderPasses;
3. Added multiple rendering paths (forward, deferred, tile based deferred);
4. Activated Framegraph system by useFramegraph, activated rendering paths by setRenderPath;
Fix flickering issues in tile based deferred shading;
Added two renderPath sample codes.
Added terrain unlit shading model test code;
Added terrain lighting shading model test code;
…ickering problems, fixed attenuation issue with multiple PBR lights under deferred rendering.
1.change java.com.jme3.renderer.renderPass=>java.com.jme3.renderer.pass
2.change IRenderGeometry.java=>RenderGeometry.java
@codex128
Copy link
Contributor Author

After fixing several issues, the branch now builds successfully.

@codex128
Copy link
Contributor Author

Note: at this point, SceneProcessors are incompatible with the FrameGraph. This means no filters, shadows, etc.

@codex128
Copy link
Contributor Author

Due to some development advances, the entire FrameGraph system is now able to be moved to an external library, which is way better than trying to merge it into core. The external library still depends on some changes on this branch, so I will open a new pull request for that later today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants