ShaderBinding.lua 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. class "ShaderBinding"
  2. function ShaderBinding:__getvar(name)
  3. if name == "targetShader" then
  4. local retVal = Polycode.ShaderBinding_get_targetShader(self.__ptr)
  5. if retVal == nil then return nil end
  6. local __c = _G["Shader"]("__skip_ptr__")
  7. __c.__ptr = retVal
  8. return __c
  9. elseif name == "accessMutex" then
  10. local retVal = Polycode.ShaderBinding_get_accessMutex(self.__ptr)
  11. if retVal == nil then return nil end
  12. local __c = _G["CoreMutex"]("__skip_ptr__")
  13. __c.__ptr = retVal
  14. return __c
  15. end
  16. end
  17. function ShaderBinding:__setvar(name,value)
  18. if name == "targetShader" then
  19. Polycode.ShaderBinding_set_targetShader(self.__ptr, value.__ptr)
  20. return true
  21. elseif name == "accessMutex" then
  22. Polycode.ShaderBinding_set_accessMutex(self.__ptr, value.__ptr)
  23. return true
  24. end
  25. return false
  26. end
  27. function ShaderBinding:ShaderBinding(...)
  28. local arg = {...}
  29. for k,v in pairs(arg) do
  30. if type(v) == "table" then
  31. if v.__ptr ~= nil then
  32. arg[k] = v.__ptr
  33. end
  34. end
  35. end
  36. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  37. self.__ptr = Polycode.ShaderBinding(unpack(arg))
  38. end
  39. end
  40. function ShaderBinding:copyTo(targetBinding)
  41. local retVal = Polycode.ShaderBinding_copyTo(self.__ptr, targetBinding.__ptr)
  42. end
  43. function ShaderBinding:addParam(type, name)
  44. local retVal = Polycode.ShaderBinding_addParam(self.__ptr, type, name)
  45. if retVal == nil then return nil end
  46. local __c = _G["LocalShaderParam"]("__skip_ptr__")
  47. __c.__ptr = retVal
  48. return __c
  49. end
  50. function ShaderBinding:addParamPointer(type, name, ptr)
  51. local retVal = Polycode.ShaderBinding_addParamPointer(self.__ptr, type, name, ptr.__ptr)
  52. if retVal == nil then return nil end
  53. local __c = _G["LocalShaderParam"]("__skip_ptr__")
  54. __c.__ptr = retVal
  55. return __c
  56. end
  57. function ShaderBinding:getNumLocalParams()
  58. local retVal = Polycode.ShaderBinding_getNumLocalParams(self.__ptr)
  59. return retVal
  60. end
  61. function ShaderBinding:getLocalParam(index)
  62. local retVal = Polycode.ShaderBinding_getLocalParam(self.__ptr, index)
  63. if retVal == nil then return nil end
  64. local __c = _G["LocalShaderParam"]("__skip_ptr__")
  65. __c.__ptr = retVal
  66. return __c
  67. end
  68. function ShaderBinding:getLocalParamByName(name)
  69. local retVal = Polycode.ShaderBinding_getLocalParamByName(self.__ptr, name)
  70. if retVal == nil then return nil end
  71. local __c = _G["LocalShaderParam"]("__skip_ptr__")
  72. __c.__ptr = retVal
  73. return __c
  74. end
  75. function ShaderBinding:removeParam(name)
  76. local retVal = Polycode.ShaderBinding_removeParam(self.__ptr, name)
  77. end
  78. function ShaderBinding:loadTextureForParam(paramName, fileName)
  79. local retVal = Polycode.ShaderBinding_loadTextureForParam(self.__ptr, paramName, fileName)
  80. if retVal == nil then return nil end
  81. local __c = _G["Texture"]("__skip_ptr__")
  82. __c.__ptr = retVal
  83. return __c
  84. end
  85. function ShaderBinding:setTextureForParam(paramName, texture)
  86. local retVal = Polycode.ShaderBinding_setTextureForParam(self.__ptr, paramName, texture.__ptr)
  87. end
  88. function ShaderBinding:setCubemapForParam(paramName, cubemap)
  89. local retVal = Polycode.ShaderBinding_setCubemapForParam(self.__ptr, paramName, cubemap.__ptr)
  90. end
  91. function ShaderBinding:getNumAttributeBindings()
  92. local retVal = Polycode.ShaderBinding_getNumAttributeBindings(self.__ptr)
  93. return retVal
  94. end
  95. function ShaderBinding:getAttributeBinding(index)
  96. local retVal = Polycode.ShaderBinding_getAttributeBinding(self.__ptr, index)
  97. if retVal == nil then return nil end
  98. local __c = _G["AttributeBinding"]("__skip_ptr__")
  99. __c.__ptr = retVal
  100. return __c
  101. end
  102. function ShaderBinding:addAttributeBinding(name, dataArray)
  103. local retVal = Polycode.ShaderBinding_addAttributeBinding(self.__ptr, name, dataArray.__ptr)
  104. if retVal == nil then return nil end
  105. local __c = _G["AttributeBinding"]("__skip_ptr__")
  106. __c.__ptr = retVal
  107. return __c
  108. end
  109. function ShaderBinding:getAttributeBindingByName(name)
  110. local retVal = Polycode.ShaderBinding_getAttributeBindingByName(self.__ptr, name)
  111. if retVal == nil then return nil end
  112. local __c = _G["AttributeBinding"]("__skip_ptr__")
  113. __c.__ptr = retVal
  114. return __c
  115. end
  116. function ShaderBinding:addRenderTargetBinding(binding)
  117. local retVal = Polycode.ShaderBinding_addRenderTargetBinding(self.__ptr, binding.__ptr)
  118. end
  119. function ShaderBinding:removeRenderTargetBinding(binding)
  120. local retVal = Polycode.ShaderBinding_removeRenderTargetBinding(self.__ptr, binding.__ptr)
  121. end
  122. function ShaderBinding:getNumRenderTargetBindings()
  123. local retVal = Polycode.ShaderBinding_getNumRenderTargetBindings(self.__ptr)
  124. return retVal
  125. end
  126. function ShaderBinding:getRenderTargetBinding(index)
  127. local retVal = Polycode.ShaderBinding_getRenderTargetBinding(self.__ptr, index)
  128. if retVal == nil then return nil end
  129. local __c = _G["RenderTargetBinding"]("__skip_ptr__")
  130. __c.__ptr = retVal
  131. return __c
  132. end
  133. function ShaderBinding:getNumInTargetBindings()
  134. local retVal = Polycode.ShaderBinding_getNumInTargetBindings(self.__ptr)
  135. return retVal
  136. end
  137. function ShaderBinding:getInTargetBinding(index)
  138. local retVal = Polycode.ShaderBinding_getInTargetBinding(self.__ptr, index)
  139. if retVal == nil then return nil end
  140. local __c = _G["RenderTargetBinding"]("__skip_ptr__")
  141. __c.__ptr = retVal
  142. return __c
  143. end
  144. function ShaderBinding:getNumColorTargetBindings()
  145. local retVal = Polycode.ShaderBinding_getNumColorTargetBindings(self.__ptr)
  146. return retVal
  147. end
  148. function ShaderBinding:getColorTargetBinding(index)
  149. local retVal = Polycode.ShaderBinding_getColorTargetBinding(self.__ptr, index)
  150. if retVal == nil then return nil end
  151. local __c = _G["RenderTargetBinding"]("__skip_ptr__")
  152. __c.__ptr = retVal
  153. return __c
  154. end
  155. function ShaderBinding:getNumDepthTargetBindings()
  156. local retVal = Polycode.ShaderBinding_getNumDepthTargetBindings(self.__ptr)
  157. return retVal
  158. end
  159. function ShaderBinding:getDepthTargetBinding(index)
  160. local retVal = Polycode.ShaderBinding_getDepthTargetBinding(self.__ptr, index)
  161. if retVal == nil then return nil end
  162. local __c = _G["RenderTargetBinding"]("__skip_ptr__")
  163. __c.__ptr = retVal
  164. return __c
  165. end
  166. function ShaderBinding:getNumOutTargetBindings()
  167. local retVal = Polycode.ShaderBinding_getNumOutTargetBindings(self.__ptr)
  168. return retVal
  169. end
  170. function ShaderBinding:getOutTargetBinding(index)
  171. local retVal = Polycode.ShaderBinding_getOutTargetBinding(self.__ptr, index)
  172. if retVal == nil then return nil end
  173. local __c = _G["RenderTargetBinding"]("__skip_ptr__")
  174. __c.__ptr = retVal
  175. return __c
  176. end
  177. function ShaderBinding:__delete()
  178. if self then Polycode.delete_ShaderBinding(self.__ptr) end
  179. end