import { RenderConfig } from './components/conf/interface' ; import { RenderEngine } from 'artgl' ; import { AdvanceStaticRenderPipeline } from './advance-static-pipeline' ; export function createConf ( engine , pipeline ) { return { name : 'root' , type : 'folder' , value : [ { name : 'canvas' , value : [ { name : 'renderSize' , value : [ { name : 'width' , value : engine . renderer . width , onChange : ( value ) => { pipeline . resetSample ( ) ; engine . setActualSize ( value , engine . renderer . height ) ; } , editors : [ { type : 'slider' , min : 10 , max : 500 , step : 1 } , ] } , { name : 'height' , value : engine . renderer . height , onChange : ( value ) => { pipeline . resetSample ( ) ; engine . setActualSize ( engine . renderer . width , value ) ; } , editors : [ { type : 'slider' , min : 10 , max : 500 , step : 1 } , ] } , ] } , ] } , { name : 'engine' , value : [ { name : 'preferUseVAO' , value : engine . preferVAO , onChange : ( value ) => { engine . preferVAO = value ; } , } , { name : 'enableUniformDiffUpload' , value : engine . renderer . enableUniformDiff , onChange : ( value ) => { engine . renderer . enableUniformDiff = value ; } , description : 'this is a demo description' } , { name : 'TAA' , value : [ { name : 'enable' , value : pipeline . enableTAA , onChange : ( value ) => { pipeline . enableTAA = value ; } , } , ] } , { name : 'TSSAO' , value : [ { name : 'enable' , value : pipeline . enableTSSAO , onChange : ( value ) => { pipeline . enableTSSAO = value ; } , } , { name : 'composeRate' , value : pipeline . composeShading . tssaoComposeRate , onChange : ( value ) => { pipeline . composeShading . tssaoComposeRate = value ; } , editors : [ { type : 'slider' , min : 0 , max : 4 , step : 0.1 } , ] } , { name : 'composeThreshold' , value : pipeline . composeShading . tssaoComposeThreshold , onChange : ( value ) => { pipeline . composeShading . tssaoComposeThreshold = value ; } , editors : [ { type : 'slider' , min : 0 , max : 4 , step : 0.1 } , ] } , { name : 'radius' , value : pipeline . tssaoShading . aoRadius , onChange : ( value ) => { pipeline . tssaoShading . aoRadius = value ; pipeline . resetSample ( ) ; } , editors : [ { type : 'slider' , min : 0.1 , max : 10 , step : 0.1 } , ] } , { name : 'sample_count_to_show' , value : pipeline . composeShading . tssaoShowThreshold , onChange : ( value ) => { pipeline . composeShading . tssaoShowThreshold = value ; } , editors : [ { type : 'slider' , min : 0 , max : 1000 , step : 1 } , ] } , ] } ] } , ] } ; }