Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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]>
- Loading branch information