hefeihvac_java/node_modules/echarts-gl/lib/effect/composite.js

524 lines
12 KiB
JavaScript
Raw Permalink Normal View History

2024-04-07 18:15:00 +08:00
export default {
'type': 'compositor',
'nodes': [{
'name': 'source',
'type': 'texture',
'outputs': {
'color': {}
}
}, {
'name': 'source_half',
'shader': '#source(clay.compositor.downsample)',
'inputs': {
'texture': 'source'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 2)',
'height': 'expr(height * 1.0 / 2)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'textureSize': 'expr( [width * 1.0, height * 1.0] )'
}
}, {
'name': 'bright',
'shader': '#source(clay.compositor.bright)',
'inputs': {
'texture': 'source_half'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 2)',
'height': 'expr(height * 1.0 / 2)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'threshold': 2,
'scale': 4,
'textureSize': 'expr([width * 1.0 / 2, height / 2])'
}
}, {
'name': 'bright_downsample_4',
'shader': '#source(clay.compositor.downsample)',
'inputs': {
'texture': 'bright'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 4)',
'height': 'expr(height * 1.0 / 4)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'textureSize': 'expr( [width * 1.0 / 2, height / 2] )'
}
}, {
'name': 'bright_downsample_8',
'shader': '#source(clay.compositor.downsample)',
'inputs': {
'texture': 'bright_downsample_4'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 8)',
'height': 'expr(height * 1.0 / 8)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'textureSize': 'expr( [width * 1.0 / 4, height / 4] )'
}
}, {
'name': 'bright_downsample_16',
'shader': '#source(clay.compositor.downsample)',
'inputs': {
'texture': 'bright_downsample_8'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 16)',
'height': 'expr(height * 1.0 / 16)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'textureSize': 'expr( [width * 1.0 / 8, height / 8] )'
}
}, {
'name': 'bright_downsample_32',
'shader': '#source(clay.compositor.downsample)',
'inputs': {
'texture': 'bright_downsample_16'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 32)',
'height': 'expr(height * 1.0 / 32)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'textureSize': 'expr( [width * 1.0 / 16, height / 16] )'
}
}, {
'name': 'bright_upsample_16_blur_h',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_downsample_32'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 16)',
'height': 'expr(height * 1.0 / 16)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 0.0,
'textureSize': 'expr( [width * 1.0 / 32, height / 32] )'
}
}, {
'name': 'bright_upsample_16_blur_v',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_upsample_16_blur_h'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 16)',
'height': 'expr(height * 1.0 / 16)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 1.0,
'textureSize': 'expr( [width * 1.0 / 16, height * 1.0 / 16] )'
}
}, {
'name': 'bright_upsample_8_blur_h',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_downsample_16'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 8)',
'height': 'expr(height * 1.0 / 8)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 0.0,
'textureSize': 'expr( [width * 1.0 / 16, height * 1.0 / 16] )'
}
}, {
'name': 'bright_upsample_8_blur_v',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_upsample_8_blur_h'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 8)',
'height': 'expr(height * 1.0 / 8)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 1.0,
'textureSize': 'expr( [width * 1.0 / 8, height * 1.0 / 8] )'
}
}, {
'name': 'bright_upsample_8_blend',
'shader': '#source(clay.compositor.blend)',
'inputs': {
'texture1': 'bright_upsample_8_blur_v',
'texture2': 'bright_upsample_16_blur_v'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 8)',
'height': 'expr(height * 1.0 / 8)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'weight1': 0.3,
'weight2': 0.7
}
}, {
'name': 'bright_upsample_4_blur_h',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_downsample_8'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 4)',
'height': 'expr(height * 1.0 / 4)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 0.0,
'textureSize': 'expr( [width * 1.0 / 8, height * 1.0 / 8] )'
}
}, {
'name': 'bright_upsample_4_blur_v',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_upsample_4_blur_h'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 4)',
'height': 'expr(height * 1.0 / 4)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 1.0,
'textureSize': 'expr( [width * 1.0 / 4, height * 1.0 / 4] )'
}
}, {
'name': 'bright_upsample_4_blend',
'shader': '#source(clay.compositor.blend)',
'inputs': {
'texture1': 'bright_upsample_4_blur_v',
'texture2': 'bright_upsample_8_blend'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 4)',
'height': 'expr(height * 1.0 / 4)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'weight1': 0.3,
'weight2': 0.7
}
}, {
'name': 'bright_upsample_2_blur_h',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_downsample_4'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 2)',
'height': 'expr(height * 1.0 / 2)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 0.0,
'textureSize': 'expr( [width * 1.0 / 4, height * 1.0 / 4] )'
}
}, {
'name': 'bright_upsample_2_blur_v',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_upsample_2_blur_h'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 2)',
'height': 'expr(height * 1.0 / 2)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 1.0,
'textureSize': 'expr( [width * 1.0 / 2, height * 1.0 / 2] )'
}
}, {
'name': 'bright_upsample_2_blend',
'shader': '#source(clay.compositor.blend)',
'inputs': {
'texture1': 'bright_upsample_2_blur_v',
'texture2': 'bright_upsample_4_blend'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0 / 2)',
'height': 'expr(height * 1.0 / 2)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'weight1': 0.3,
'weight2': 0.7
}
}, {
'name': 'bright_upsample_full_blur_h',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 0.0,
'textureSize': 'expr( [width * 1.0 / 2, height * 1.0 / 2] )'
}
}, {
'name': 'bright_upsample_full_blur_v',
'shader': '#source(clay.compositor.gaussian_blur)',
'inputs': {
'texture': 'bright_upsample_full_blur_h'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'blurSize': 1,
'blurDir': 1.0,
'textureSize': 'expr( [width * 1.0, height * 1.0] )'
}
}, {
'name': 'bloom_composite',
'shader': '#source(clay.compositor.blend)',
'inputs': {
'texture1': 'bright_upsample_full_blur_v',
'texture2': 'bright_upsample_2_blend'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'weight1': 0.3,
'weight2': 0.7
}
}, {
'name': 'coc',
'shader': '#source(ecgl.dof.coc)',
'outputs': {
'color': {
'parameters': {
'minFilter': 'NEAREST',
'magFilter': 'NEAREST',
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)'
}
}
},
'parameters': {
'focalDist': 50,
'focalRange': 30
}
}, {
'name': 'dof_far_blur',
'shader': '#source(ecgl.dof.diskBlur)',
'inputs': {
'texture': 'source',
'coc': 'coc'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'textureSize': 'expr( [width * 1.0, height * 1.0] )'
}
}, {
'name': 'dof_near_blur',
'shader': '#source(ecgl.dof.diskBlur)',
'inputs': {
'texture': 'source',
'coc': 'coc'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)',
'type': 'HALF_FLOAT'
}
}
},
'parameters': {
'textureSize': 'expr( [width * 1.0, height * 1.0] )'
},
'defines': {
'BLUR_NEARFIELD': null
}
}, {
'name': 'dof_coc_blur',
'shader': '#source(ecgl.dof.diskBlur)',
'inputs': {
'texture': 'coc'
},
'outputs': {
'color': {
'parameters': {
'minFilter': 'NEAREST',
'magFilter': 'NEAREST',
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)'
}
}
},
'parameters': {
'textureSize': 'expr( [width * 1.0, height * 1.0] )'
},
'defines': {
'BLUR_COC': null
}
}, {
'name': 'dof_composite',
'shader': '#source(ecgl.dof.composite)',
'inputs': {
'original': 'source',
'blurred': 'dof_far_blur',
'nearfield': 'dof_near_blur',
'coc': 'coc',
'nearcoc': 'dof_coc_blur'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)',
'type': 'HALF_FLOAT'
}
}
}
}, {
'name': 'composite',
'shader': '#source(clay.compositor.hdr.composite)',
'inputs': {
'texture': 'source',
'bloom': 'bloom_composite'
},
'outputs': {
'color': {
'parameters': {
'width': 'expr(width * 1.0)',
'height': 'expr(height * 1.0)'
}
}
},
'defines': {// Images are all premultiplied alpha before composite because of blending.
// 'PREMULTIPLY_ALPHA': null,
// 'DEBUG': 2
}
}, {
'name': 'FXAA',
'shader': '#source(clay.compositor.fxaa)',
'inputs': {
'texture': 'composite'
}
}]
};