babylon.postProcessRenderPipelineManager.ts 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. module BABYLON {
  2. export class PostProcessRenderPipelineManager {
  3. private _renderPipelines: any;
  4. constructor() {
  5. this._renderPipelines = {};
  6. }
  7. public addPipeline(renderPipeline: PostProcessRenderPipeline): void {
  8. this._renderPipelines[renderPipeline._name] = renderPipeline;
  9. }
  10. public attachCamerasToRenderPipeline(renderPipelineName: string, cameras: Camera, unique?: boolean);
  11. public attachCamerasToRenderPipeline(renderPipelineName: string, cameras: Camera[], unique?: boolean);
  12. public attachCamerasToRenderPipeline(renderPipelineName: string, cameras: any, unique?: boolean): void {
  13. var renderPipeline: PostProcessRenderPipeline = this._renderPipelines[renderPipelineName];
  14. if (!renderPipeline) {
  15. return;
  16. }
  17. renderPipeline._attachCameras(cameras, unique);
  18. }
  19. public detachCamerasFromRenderPipeline(renderPipelineName: string, cameras: Camera);
  20. public detachCamerasFromRenderPipeline(renderPipelineName: string, cameras: Camera[]);
  21. public detachCamerasFromRenderPipeline(renderPipelineName: string, cameras: any): void {
  22. var renderPipeline: PostProcessRenderPipeline = this._renderPipelines[renderPipelineName];
  23. if (!renderPipeline) {
  24. return;
  25. }
  26. renderPipeline._detachCameras(cameras);
  27. }
  28. public enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera);
  29. public enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera[]);
  30. public enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: any): void {
  31. var renderPipeline: PostProcessRenderPipeline = this._renderPipelines[renderPipelineName];
  32. if (!renderPipeline) {
  33. return;
  34. }
  35. renderPipeline._enableEffect(renderEffectName, cameras);
  36. }
  37. public disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera);
  38. public disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: Camera[]);
  39. public disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras: any): void {
  40. var renderPipeline: PostProcessRenderPipeline = this._renderPipelines[renderPipelineName];
  41. if (!renderPipeline) {
  42. return;
  43. }
  44. renderPipeline._disableEffect(renderEffectName, cameras);
  45. }
  46. public enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras: Camera);
  47. public enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras: Camera[]);
  48. public enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras: any): void {
  49. var renderPipeline: PostProcessRenderPipeline = this._renderPipelines[renderPipelineName];
  50. if (!renderPipeline) {
  51. return;
  52. }
  53. renderPipeline._enableDisplayOnlyPass(passName, cameras);
  54. }
  55. public disableDisplayOnlyPassInPipeline(renderPipelineName: string, cameras: Camera);
  56. public disableDisplayOnlyPassInPipeline(renderPipelineName: string, cameras: Camera[]);
  57. public disableDisplayOnlyPassInPipeline(renderPipelineName: string, cameras: any): void {
  58. var renderPipeline: PostProcessRenderPipeline = this._renderPipelines[renderPipelineName];
  59. if (!renderPipeline) {
  60. return;
  61. }
  62. renderPipeline._disableDisplayOnlyPass(cameras);
  63. }
  64. public update(): void {
  65. for (var renderPipelineName in this._renderPipelines) {
  66. this._renderPipelines[renderPipelineName]._update();
  67. }
  68. }
  69. }
  70. }