Commit 327426d
Adds Custom Render Pipeline Interface (#2304)
* added AlertArmatureMask
* fixed docs and added another helper
* made it easier to turn off priority checking
* removed copy methods
* jme3-core:
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;
* jme3-examples:Added a set of test cases for renderPath.
* jme3-core:Improve deferred shading issues;
Fix flickering issues in tile based deferred shading;
* jme3-examples:Adjust deferred rendering test code
* jme3-core:Adjust GBuffer format, RT0(16F), RT1(16F), RT2(16F), RT3(32F), DEPTH
* jme3-core:Delete test code
* jme3-core:Fixed all known bugs in Tile-based DeferredShading.
* jme3-examples:update TestTileBasedDeferredShading
* jme3-core:update GLSLCompat.glsllib
* jme3-core:Fix frameGraph assertion error
* jme3-core:Add some core code comments, delete Chinese code comments
* jme3-core:Fix bugs existed in shadingModel
* jme3-examples:Add test case "TestShadingModel.java,TestRenderPathPointDirectionalAndSpotLightShadows.java"
* jme3-core:GBuffer data packing for terrain rendering compatibility (unlit, lighting)
* jme3-examples:
Added two renderPath sample codes.
Added terrain unlit shading model test code;
Added terrain lighting shading model test code;
* jme3-core:Add rendering path support for AdvancedPBRTerrain
* jme3-examples:Add a test code
* jme3-core:Supplement core code comments, add full JME license to each java file, fix a few minor issues
* jme3-terrain:Implement PBRTerrain compatibility code
* jme3-core:Fixed Tile-basedDeferred light culling issue, fixed some flickering problems, fixed attenuation issue with multiple PBR lights under deferred rendering.
* jme3-examples:update TestCode
* jme3-examples:update TestPBRTerrainRenderPath.java
* jme3-core:Fix TestTexture3D/TestTexture3DLoading
* jme3-core:fix lightTexSizeInv undefined
* jme3-core:
1.change java.com.jme3.renderer.renderPass=>java.com.jme3.renderer.pass
2.change IRenderGeometry.java=>RenderGeometry.java
* jme3-core:use g_ViewProjectionMatrixInverse
* jme3-core:use logger
* jme3-core:update javadoc(FastMath.nextRandomFlot)
* updated license
* updated javadoc
* renamed mask
* refactor FGPass, FGSink, and FGSource to interfaces
* fix method name collision for FGPass
* renamed FGPass reset method
* changes
* rebuilt API
* fixed framebuffer attachments bug
* deferred shading usable
* deferred and tiled deferred are working for TestShadingModel.java
* debugging
* debugging deferred pipeline
* more debugging
* more debugging
* cleanup code
* more cleanup
* remove reliance on J3mLoader and clean up code
* reorganized java files
* added support for cross-space parameter binding
* added optimizations
* recoding resource system
* redesigned resource system
* framegraph operational
* framegraph complete
* draft ready
* rename registration method
* renamed method
* delete personal changelog
* remove enums
* added information management passes
* migrated to new ticket protocol
* added resource extraction
* provide logical control of framegraph
* finalized user value sources and targets
* fixed framegraph use on multiple viewports binding textures too often
* fixed depth texture filtering
* added export and import methods
* javadoc for new classes
* licenses
* pass tests
* added framegraph opt-out for viewports
* added .j3g
* delete unused classes
* fixed background on deferred pipelines
* added basic opencl
* fixed tests
* verified fix for overlapping viewports
* added framegraph loading speed test
* added framegraph event capture
* fixed framebuffer update flag
* fixed broken light count
* revert debugging
* fix merge conflict
* start moving lighting logic outside matdef logic
* added ticket groups
* migrated lighting logic to render pass
* fixed light tex inverse type
* added light pack method junction
* deleted deferred lighting logic
* deleted draft files
* added group attribute pass
* added indefinite ticket groups
* finalized ticket lists
* porting filters
* narrowed PBR issue to metallic=1
* fixed functional array issues
* fixed build errors
* fixed depth of field filter import-export
* fixed deferred light probes
* fixed ambient and fixed buffered lights
* fixed gbuffer packing for advanced terrain
* fixed pbr terrain
* made render object map threadsafe
* added multithreading
* fix referencing bug
* added fix for missing defines
* test async
* fix dependency on java 9
* removed unnecessary atomic boolean
* fixed more async issues
* fixed camera size when rendering to smaller textures
* added addLoop
* add faze pass
* improved javadoc and fixed issue with deferred techniquedefs
* added pipeline interface and added render modules
* changes to factory methods
* deleted framegraph system
* removed gbuffer shaders
* restored deferred and gbuf shaders
* removed deferred materials
* removed effects passes
* deleted tests
* reverted unnecessary changes and moved pipeline classes to new package
* reverted more unnecessary changes
* small changes
* several changes
* revert changes in build file
* removed material adaptation code
* removed savable utilities
* removed math utility
* made render context implementation less confusing
* pass viewport to pipeline context
* fixed start method not being called
* remove miscellaneous
* removed miscellaneous
* remove miscellaneous
* remove miscellaneous
* changed render start order
* added license and attempted to revert changes
* remove target creation helpers
* added spacing
* several small changes
* added null pipeline and context creation helper
* delete GeometryRenderHandler and RenderUtils
---------
Co-authored-by: JohnKkk <[email protected]>
Co-authored-by: chenliming <[email protected]>1 parent 5f54eb2 commit 327426d
File tree
23 files changed
+736
-176
lines changed- jme3-core/src
- main
- java/com/jme3
- material
- renderer
- pipeline
- queue
- texture
- resources/Common
- MatDefs/Light
- ShaderLib
- plugins/java/com/jme3/material/plugins
- jme3-effects/src/main
- java/com/jme3/post/filters
- resources/Common/MatDefs/Post
- jme3-examples
- jme3-terrain/src/main/resources/Common/MatDefs/Terrain
23 files changed
+736
-176
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
253 | | - | |
| 253 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
824 | 824 | | |
825 | 825 | | |
826 | 826 | | |
827 | | - | |
| 827 | + | |
0 commit comments