babylon.postProcessRenderPipelineManager.ts 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. module BABYLON {
  2. export class PostProcessRenderPipelineManager {
  3. private _renderPipelines: PostProcessRenderPipeline[];
  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, unique): void {
  11. var renderPipeline = this._renderPipelines[renderPipelineName];
  12. if (!renderPipeline) {
  13. return;
  14. }
  15. renderPipeline.attachCameras(cameras, unique);
  16. }
  17. public detachCameraFromRenderPipeline(renderPipelineName: string, cameras): void {
  18. var renderPipeline = this._renderPipelines[renderPipelineName];
  19. if (!renderPipeline) {
  20. return;
  21. }
  22. renderPipeline.detachCameras(cameras);
  23. }
  24. public enableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras): void {
  25. var renderPipeline = this._renderPipelines[renderPipelineName];
  26. if (!renderPipeline) {
  27. return;
  28. }
  29. renderPipeline.enableEffect(renderEffectName, cameras);
  30. }
  31. public disableEffectInPipeline(renderPipelineName: string, renderEffectName: string, cameras): void {
  32. var renderPipeline = this._renderPipelines[renderPipelineName];
  33. if (!renderPipeline) {
  34. return;
  35. }
  36. renderPipeline.disableEffect(renderEffectName, cameras);
  37. }
  38. public enableDisplayOnlyPassInPipeline(renderPipelineName: string, passName: string, cameras): void {
  39. var renderPipeline = this._renderPipelines[renderPipelineName];
  40. if (!renderPipeline) {
  41. return;
  42. }
  43. renderPipeline.enableDisplayOnlyPass(passName, cameras);
  44. }
  45. public disableDisplayOnlyPassInPipeline(renderPipelineName, cameras): void {
  46. var renderPipeline = this._renderPipelines[renderPipelineName];
  47. if (!renderPipeline) {
  48. return;
  49. }
  50. renderPipeline.disableDisplayOnlyPass(cameras);
  51. }
  52. public update(): void {
  53. for (var renderPipelineName in this._renderPipelines) {
  54. this._renderPipelines[renderPipelineName]._update();
  55. }
  56. }
  57. }
  58. }