Skip to content

Commit

Permalink
fix(ToneMapping): configure as convolution effect (#245)
Browse files Browse the repository at this point in the history
  • Loading branch information
CodyJasonBennett committed Oct 19, 2023
1 parent a0541ee commit c1916f5
Showing 1 changed file with 55 additions and 3 deletions.
58 changes: 55 additions & 3 deletions src/effects/ToneMapping.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,56 @@
import { ToneMappingEffect } from 'postprocessing'
import { wrapEffect } from '../util'
import { ToneMappingEffect, EffectAttribute } from 'postprocessing'
import { EffectProps } from '../util'
import { forwardRef, useEffect, useMemo } from 'react'

export const ToneMapping = wrapEffect(ToneMappingEffect)
export type ToneMappingProps = EffectProps<typeof ToneMappingEffect>

export const ToneMapping = forwardRef<ToneMappingEffect, ToneMappingProps>(function ToneMapping(
{
blendFunction,
adaptive,
mode,
resolution,
maxLuminance,
whitePoint,
middleGrey,
minLuminance,
averageLuminance,
adaptationRate,
...props
},
ref
) {
const effect = useMemo(
() =>
new ToneMappingEffect({
blendFunction,
adaptive,
mode,
resolution,
maxLuminance,
whitePoint,
middleGrey,
minLuminance,
averageLuminance,
adaptationRate,
}),
[
blendFunction,
adaptive,
mode,
resolution,
maxLuminance,
whitePoint,
middleGrey,
minLuminance,
averageLuminance,
adaptationRate,
]
)

useEffect(() => {
effect.dispose()
}, [effect])

return <primitive {...props} ref={ref} object={effect} attributes={EffectAttribute.CONVOLUTION} />
})

0 comments on commit c1916f5

Please sign in to comment.