ShaderBinding.lua 6.3 KB

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