babylon.multiMaterial.js 978 B

12345678910111213141516171819202122232425262728293031323334353637
  1. "use strict";
  2. var BABYLON = BABYLON || {};
  3. (function () {
  4. BABYLON.MultiMaterial = function (name, scene) {
  5. this.name = name;
  6. this.id = name;
  7. this._scene = scene;
  8. scene.multiMaterials.push(this);
  9. this.subMaterials = [];
  10. };
  11. // Properties
  12. BABYLON.MultiMaterial.prototype.getSubMaterial = function (index) {
  13. if (index < 0 || index >= this.subMaterials.length) {
  14. return this._scene.defaultMaterial;
  15. }
  16. return this.subMaterials[index];
  17. };
  18. // Methods
  19. BABYLON.MultiMaterial.prototype.isReady = function (mesh) {
  20. var result = true;
  21. for (var index = 0; index < this.subMaterials.length; index++) {
  22. var subMaterial = this.subMaterials[index];
  23. if (subMaterial) {
  24. result &= this.subMaterials[index].isReady(mesh);
  25. }
  26. }
  27. return result;
  28. };
  29. })();