Renderbuffer.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*global define*/
  2. define([
  3. '../Core/defineProperties',
  4. '../Core/destroyObject'
  5. ], function(
  6. defineProperties,
  7. destroyObject) {
  8. "use strict";
  9. /**
  10. * @private
  11. */
  12. function Renderbuffer(gl, format, width, height) {
  13. this._gl = gl;
  14. this._format = format;
  15. this._width = width;
  16. this._height = height;
  17. this._renderbuffer = this._gl.createRenderbuffer();
  18. gl.bindRenderbuffer(gl.RENDERBUFFER, this._renderbuffer);
  19. gl.renderbufferStorage(gl.RENDERBUFFER, format, width, height);
  20. gl.bindRenderbuffer(gl.RENDERBUFFER, null);
  21. }
  22. defineProperties(Renderbuffer.prototype, {
  23. format: {
  24. get : function() {
  25. return this._format;
  26. }
  27. },
  28. width: {
  29. get : function() {
  30. return this._width;
  31. }
  32. },
  33. height: {
  34. get : function() {
  35. return this._height;
  36. }
  37. }
  38. });
  39. Renderbuffer.prototype._getRenderbuffer = function() {
  40. return this._renderbuffer;
  41. };
  42. Renderbuffer.prototype.isDestroyed = function() {
  43. return false;
  44. };
  45. Renderbuffer.prototype.destroy = function() {
  46. this._gl.deleteRenderbuffer(this._renderbuffer);
  47. return destroyObject(this);
  48. };
  49. return Renderbuffer;
  50. });