Wonder-Technology/Wonder.js

View on GitHub
src/run/rtx_path_tracer/domain_layer/repo/pipeline/AccumulationPassCPRepo.res

Summary

Maintainability
Test Coverage


let getAccumulationPixelBufferData = () =>
  CPRepo.getAccumulationPass().accumulationPixelBufferData->OptionSt.map(((buffer, bufferSize)) => (
    buffer->StorageBufferVO.create,
    bufferSize,
  ))

let setAccumulationPixelBufferData = ((buffer, bufferSize)) =>
  CPRepo.setAccumulationPass({
    ...CPRepo.getAccumulationPass(),
    accumulationPixelBufferData: (buffer->StorageBufferVO.value, bufferSize)->Some,
  })

let getStaticBindGroupData = () => CPRepo.getAccumulationPass().staticBindGroupData

let setStaticBindGroupData = (setSlot, bindGroup) =>
  CPRepo.setAccumulationPass({
    ...CPRepo.getAccumulationPass(),
    staticBindGroupData: {setSlot: setSlot, bindGroup: bindGroup}->Some,
  })

let getPipeline = () => CPRepo.getAccumulationPass().pipeline

let setPipeline = pipeline =>
  CPRepo.setAccumulationPass({
    ...CPRepo.getAccumulationPass(),
    pipeline: pipeline->Some,
  })