babylon.postProcessRenderPipelineManager.js 3.1 KB

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