ShaderProgram.js 910 B

12345678910111213141516171819202122232425262728293031323334
  1. require('Polycode/Resource')
  2. function ShaderProgram(fileName) {
  3. if(arguments[0] != "__skip_ptr__") {
  4. this.__ptr = Polycode.ShaderProgram(fileName)
  5. }
  6. Object.defineProperties(this, {
  7. 'type': { enumerable: true, configurable: true, get: ShaderProgram.prototype.__get_type, set: ShaderProgram.prototype.__set_type}
  8. })
  9. }
  10. ShaderProgram.TYPE_VERT = 0
  11. ShaderProgram.TYPE_FRAG = 1
  12. ShaderProgram.prototype = Object.create(Resource.prototype)
  13. ShaderProgram.prototype.__get_type = function() {
  14. return Polycode.ShaderProgram__get_type(this.__ptr)
  15. }
  16. ShaderProgram.prototype.__set_type = function(val) {
  17. Polycode.ShaderProgram__set_type(this.__ptr, val)
  18. }
  19. Duktape.fin(ShaderProgram.prototype, function (x) {
  20. if (x === ShaderProgram.prototype) {
  21. return;
  22. }
  23. Polycode.ShaderProgram__delete(x.__ptr)
  24. })
  25. ShaderProgram.prototype.reloadProgram = function() {
  26. Polycode.ShaderProgram_reloadProgram(this.__ptr)
  27. }