ShaderBinding.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. function ShaderBinding() {
  2. Object.defineProperties(this, {
  3. 'targetShader': { enumerable: true, configurable: true, get: ShaderBinding.prototype.__get_targetShader, set: ShaderBinding.prototype.__set_targetShader},
  4. 'accessMutex': { enumerable: true, configurable: true, get: ShaderBinding.prototype.__get_accessMutex, set: ShaderBinding.prototype.__set_accessMutex}
  5. })
  6. }
  7. ShaderBinding.prototype.__get_targetShader = function() {
  8. var retVal = new Shader()
  9. retVal.__ptr = Polycode.ShaderBinding__get_targetShader(this.__ptr)
  10. return retVal
  11. }
  12. ShaderBinding.prototype.__set_targetShader = function(val) {
  13. Polycode.ShaderBinding__set_targetShader(this.__ptr, val.__ptr)
  14. }
  15. ShaderBinding.prototype.__get_accessMutex = function() {
  16. var retVal = new CoreMutex()
  17. retVal.__ptr = Polycode.ShaderBinding__get_accessMutex(this.__ptr)
  18. return retVal
  19. }
  20. ShaderBinding.prototype.__set_accessMutex = function(val) {
  21. Polycode.ShaderBinding__set_accessMutex(this.__ptr, val.__ptr)
  22. }
  23. Duktape.fin(ShaderBinding.prototype, function (x) {
  24. if (x === ShaderBinding.prototype) {
  25. return;
  26. }
  27. Polycode.ShaderBinding__delete(x.__ptr)
  28. })
  29. ShaderBinding.prototype.copyTo = function(targetBinding) {
  30. Polycode.ShaderBinding_copyTo(this.__ptr, targetBinding)
  31. }
  32. ShaderBinding.prototype.addParam = function(type,name) {
  33. var retVal = new LocalShaderParam()
  34. retVal.__ptr = Polycode.ShaderBinding_addParam(this.__ptr, type,name)
  35. return retVal
  36. }
  37. ShaderBinding.prototype.addParamPointer = function(type,name,ptr) {
  38. var retVal = new LocalShaderParam()
  39. retVal.__ptr = Polycode.ShaderBinding_addParamPointer(this.__ptr, type,name,ptr)
  40. return retVal
  41. }
  42. ShaderBinding.prototype.getNumLocalParams = function() {
  43. return Polycode.ShaderBinding_getNumLocalParams(this.__ptr)
  44. }
  45. ShaderBinding.prototype.getLocalParam = function(index) {
  46. var retVal = new LocalShaderParam()
  47. retVal.__ptr = Polycode.ShaderBinding_getLocalParam(this.__ptr, index)
  48. return retVal
  49. }
  50. ShaderBinding.prototype.getLocalParamByName = function(name) {
  51. var retVal = new LocalShaderParam()
  52. retVal.__ptr = Polycode.ShaderBinding_getLocalParamByName(this.__ptr, name)
  53. return retVal
  54. }
  55. ShaderBinding.prototype.removeParam = function(name) {
  56. Polycode.ShaderBinding_removeParam(this.__ptr, name)
  57. }
  58. ShaderBinding.prototype.loadTextureForParam = function(paramName,fileName) {
  59. var retVal = new Texture()
  60. retVal.__ptr = Polycode.ShaderBinding_loadTextureForParam(this.__ptr, paramName,fileName)
  61. return retVal
  62. }
  63. ShaderBinding.prototype.setTextureForParam = function(paramName,texture) {
  64. Polycode.ShaderBinding_setTextureForParam(this.__ptr, paramName,texture)
  65. }
  66. ShaderBinding.prototype.setCubemapForParam = function(paramName,cubemap) {
  67. Polycode.ShaderBinding_setCubemapForParam(this.__ptr, paramName,cubemap)
  68. }
  69. ShaderBinding.prototype.getNumAttributeBindings = function() {
  70. return Polycode.ShaderBinding_getNumAttributeBindings(this.__ptr)
  71. }
  72. ShaderBinding.prototype.getAttributeBinding = function(index) {
  73. var retVal = new AttributeBinding()
  74. retVal.__ptr = Polycode.ShaderBinding_getAttributeBinding(this.__ptr, index)
  75. return retVal
  76. }
  77. ShaderBinding.prototype.addAttributeBinding = function(name,dataArray) {
  78. var retVal = new AttributeBinding()
  79. retVal.__ptr = Polycode.ShaderBinding_addAttributeBinding(this.__ptr, name,dataArray)
  80. return retVal
  81. }
  82. ShaderBinding.prototype.getAttributeBindingByName = function(name) {
  83. var retVal = new AttributeBinding()
  84. retVal.__ptr = Polycode.ShaderBinding_getAttributeBindingByName(this.__ptr, name)
  85. return retVal
  86. }
  87. ShaderBinding.prototype.addRenderTargetBinding = function(binding) {
  88. Polycode.ShaderBinding_addRenderTargetBinding(this.__ptr, binding)
  89. }
  90. ShaderBinding.prototype.removeRenderTargetBinding = function(binding) {
  91. Polycode.ShaderBinding_removeRenderTargetBinding(this.__ptr, binding)
  92. }
  93. ShaderBinding.prototype.getNumRenderTargetBindings = function() {
  94. return Polycode.ShaderBinding_getNumRenderTargetBindings(this.__ptr)
  95. }
  96. ShaderBinding.prototype.getRenderTargetBinding = function(index) {
  97. var retVal = new RenderTargetBinding()
  98. retVal.__ptr = Polycode.ShaderBinding_getRenderTargetBinding(this.__ptr, index)
  99. return retVal
  100. }
  101. ShaderBinding.prototype.getNumInTargetBindings = function() {
  102. return Polycode.ShaderBinding_getNumInTargetBindings(this.__ptr)
  103. }
  104. ShaderBinding.prototype.getInTargetBinding = function(index) {
  105. var retVal = new RenderTargetBinding()
  106. retVal.__ptr = Polycode.ShaderBinding_getInTargetBinding(this.__ptr, index)
  107. return retVal
  108. }
  109. ShaderBinding.prototype.getNumColorTargetBindings = function() {
  110. return Polycode.ShaderBinding_getNumColorTargetBindings(this.__ptr)
  111. }
  112. ShaderBinding.prototype.getColorTargetBinding = function(index) {
  113. var retVal = new RenderTargetBinding()
  114. retVal.__ptr = Polycode.ShaderBinding_getColorTargetBinding(this.__ptr, index)
  115. return retVal
  116. }
  117. ShaderBinding.prototype.getNumDepthTargetBindings = function() {
  118. return Polycode.ShaderBinding_getNumDepthTargetBindings(this.__ptr)
  119. }
  120. ShaderBinding.prototype.getDepthTargetBinding = function(index) {
  121. var retVal = new RenderTargetBinding()
  122. retVal.__ptr = Polycode.ShaderBinding_getDepthTargetBinding(this.__ptr, index)
  123. return retVal
  124. }
  125. ShaderBinding.prototype.getNumOutTargetBindings = function() {
  126. return Polycode.ShaderBinding_getNumOutTargetBindings(this.__ptr)
  127. }
  128. ShaderBinding.prototype.getOutTargetBinding = function(index) {
  129. var retVal = new RenderTargetBinding()
  130. retVal.__ptr = Polycode.ShaderBinding_getOutTargetBinding(this.__ptr, index)
  131. return retVal
  132. }