babylon.anaglyphPostProcess.ts 1.2 KB

1234567891011121314151617181920212223242526
  1. module BABYLON {
  2. /**
  3. * Postprocess used to generate anaglyphic rendering
  4. */
  5. export class AnaglyphPostProcess extends PostProcess {
  6. private _passedProcess : Nullable<PostProcess>;
  7. /**
  8. * Creates a new AnaglyphPostProcess
  9. * @param name defines postprocess name
  10. * @param options defines creation options or target ratio scale
  11. * @param rigCameras defines cameras using this postprocess
  12. * @param samplingMode defines required sampling mode (BABYLON.Texture.NEAREST_SAMPLINGMODE by default)
  13. * @param engine defines hosting engine
  14. * @param reusable defines if the postprocess will be reused multiple times per frame
  15. */
  16. constructor(name: string, options: number | PostProcessOptions, rigCameras: Camera[], samplingMode?: number, engine?: Engine, reusable?: boolean) {
  17. super(name, "anaglyph", null, ["leftSampler"], options, rigCameras[1], samplingMode, engine, reusable);
  18. this._passedProcess = rigCameras[0]._rigPostProcess;
  19. this.onApplyObservable.add((effect: Effect) => {
  20. effect.setTextureFromPostProcess("leftSampler", this._passedProcess);
  21. });
  22. }
  23. }
  24. }