ShaderBinding.lua 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. class "ShaderBinding"
  2. function ShaderBinding:ShaderBinding(...)
  3. local arg = {...}
  4. for k,v in pairs(arg) do
  5. if type(v) == "table" then
  6. if v.__ptr ~= nil then
  7. arg[k] = v.__ptr
  8. end
  9. end
  10. end
  11. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  12. self.__ptr = Polycode.ShaderBinding(unpack(arg))
  13. end
  14. end
  15. function ShaderBinding:addParam(type, name)
  16. local retVal = Polycode.ShaderBinding_addParam(self.__ptr, type, name)
  17. if retVal == nil then return nil end
  18. local __c = _G["shared_ptr<LocalShaderParam>"]("__skip_ptr__")
  19. __c.__ptr = retVal
  20. return __c
  21. end
  22. function ShaderBinding:getNumLocalParams()
  23. local retVal = Polycode.ShaderBinding_getNumLocalParams(self.__ptr)
  24. return retVal
  25. end
  26. function ShaderBinding:getLocalParam(index)
  27. local retVal = Polycode.ShaderBinding_getLocalParam(self.__ptr, index)
  28. if retVal == nil then return nil end
  29. local __c = _G["shared_ptr<LocalShaderParam>"]("__skip_ptr__")
  30. __c.__ptr = retVal
  31. return __c
  32. end
  33. function ShaderBinding:getLocalParamByName(name)
  34. local retVal = Polycode.ShaderBinding_getLocalParamByName(self.__ptr, name)
  35. if retVal == nil then return nil end
  36. local __c = _G["shared_ptr<LocalShaderParam>"]("__skip_ptr__")
  37. __c.__ptr = retVal
  38. return __c
  39. end
  40. function ShaderBinding:removeParam(name)
  41. local retVal = Polycode.ShaderBinding_removeParam(self.__ptr, name)
  42. end
  43. function ShaderBinding:setTextureForParam(paramName, texture)
  44. local retVal = Polycode.ShaderBinding_setTextureForParam(self.__ptr, paramName, texture.__ptr)
  45. end
  46. function ShaderBinding:setCubemapForParam(paramName, cubemap)
  47. local retVal = Polycode.ShaderBinding_setCubemapForParam(self.__ptr, paramName, cubemap.__ptr)
  48. end
  49. function ShaderBinding:getNumAttributeBindings()
  50. local retVal = Polycode.ShaderBinding_getNumAttributeBindings(self.__ptr)
  51. return retVal
  52. end
  53. function ShaderBinding:getNumRenderTargetBindings()
  54. local retVal = Polycode.ShaderBinding_getNumRenderTargetBindings(self.__ptr)
  55. return retVal
  56. end
  57. function ShaderBinding:getNumInTargetBindings()
  58. local retVal = Polycode.ShaderBinding_getNumInTargetBindings(self.__ptr)
  59. return retVal
  60. end
  61. function ShaderBinding:getNumColorTargetBindings()
  62. local retVal = Polycode.ShaderBinding_getNumColorTargetBindings(self.__ptr)
  63. return retVal
  64. end
  65. function ShaderBinding:getNumDepthTargetBindings()
  66. local retVal = Polycode.ShaderBinding_getNumDepthTargetBindings(self.__ptr)
  67. return retVal
  68. end
  69. function ShaderBinding:getNumOutTargetBindings()
  70. local retVal = Polycode.ShaderBinding_getNumOutTargetBindings(self.__ptr)
  71. return retVal
  72. end
  73. function ShaderBinding:__delete()
  74. if self then Polycode.delete_ShaderBinding(self.__ptr) end
  75. end