import * as React from "react"; import { Observable } from "babylonjs/Misc/observable"; import { DefaultRenderingPipeline } from "babylonjs/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline"; import { PropertyChangedEvent } from "../../../../propertyChangedEvent"; import { LockObject } from "../lockObject"; import { CommonRenderingPipelinePropertyGridComponent } from './commonRenderingPipelinePropertyGridComponent'; import { SliderLineComponent } from '../../../lines/sliderLineComponent'; import { LineContainerComponent } from '../../../lineContainerComponent'; import { CheckBoxLineComponent } from '../../../../../sharedUiComponents/lines/checkBoxLineComponent'; import { OptionsLineComponent } from '../../../../../sharedUiComponents/lines/optionsLineComponent'; import { ImageProcessingConfiguration } from 'babylonjs/Materials/imageProcessingConfiguration'; import { Color3LineComponent } from '../../../../../sharedUiComponents/lines/color3LineComponent'; import { GlobalState } from '../../../../globalState'; import { ButtonLineComponent } from '../../../../../sharedUiComponents/lines/buttonLineComponent'; import { Vector2LineComponent } from "../../../../../sharedUiComponents/lines/vector2LineComponent"; interface IDefaultRenderingPipelinePropertyGridComponentProps { globalState: GlobalState; renderPipeline: DefaultRenderingPipeline, lockObject: LockObject, onPropertyChangedObservable?: Observable } export class DefaultRenderingPipelinePropertyGridComponent extends React.Component { constructor(props: IDefaultRenderingPipelinePropertyGridComponentProps) { super(props); } render() { const renderPipeline = this.props.renderPipeline; const camera = renderPipeline.scene.activeCamera!; var toneMappingOptions = [ { label: "Standard", value: ImageProcessingConfiguration.TONEMAPPING_STANDARD }, { label: "ACES", value: ImageProcessingConfiguration.TONEMAPPING_ACES } ]; var vignetteModeOptions = [ { label: "Multiply", value: ImageProcessingConfiguration.VIGNETTEMODE_MULTIPLY }, { label: "Opaque", value: ImageProcessingConfiguration.VIGNETTEMODE_OPAQUE } ]; return (
this.forceUpdate()} propertyName="bloomEnabled" onPropertyChangedObservable={this.props.onPropertyChangedObservable} /> { renderPipeline.bloomEnabled &&
}
this.forceUpdate()} propertyName="chromaticAberrationEnabled" onPropertyChangedObservable={this.props.onPropertyChangedObservable} /> { renderPipeline.chromaticAberrationEnabled &&
}
this.forceUpdate()} propertyName="depthOfFieldEnabled" onPropertyChangedObservable={this.props.onPropertyChangedObservable} /> { renderPipeline.depthOfFieldEnabled &&
}
{ renderPipeline.glowLayerEnabled &&
}
this.forceUpdate()} propertyName="grainEnabled" onPropertyChangedObservable={this.props.onPropertyChangedObservable} /> { renderPipeline.grainEnabled &&
}
this.forceUpdate()} propertyName="imageProcessingEnabled" onPropertyChangedObservable={this.props.onPropertyChangedObservable} /> { renderPipeline.imageProcessing &&
renderPipeline.scene.clearColor = renderPipeline.scene.clearColor.toLinearSpace()} /> renderPipeline.scene.clearColor = renderPipeline.scene.clearColor.toGammaSpace()} /> this.setState({ mode: value })} /> this.setState({ mode: value })} />
}
this.forceUpdate()} propertyName="sharpenEnabled" onPropertyChangedObservable={this.props.onPropertyChangedObservable} /> { renderPipeline.sharpenEnabled &&
}
); } }