ShaderBinding.lua 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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:addParamFromData(name, data)
  23. local retVal = Polycode.ShaderBinding_addParamFromData(self.__ptr, name, data)
  24. if retVal == nil then return nil end
  25. local __c = _G["shared_ptr<LocalShaderParam>"]("__skip_ptr__")
  26. __c.__ptr = retVal
  27. return __c
  28. end
  29. function ShaderBinding:getNumLocalParams()
  30. local retVal = Polycode.ShaderBinding_getNumLocalParams(self.__ptr)
  31. return retVal
  32. end
  33. function ShaderBinding:getLocalParam(index)
  34. local retVal = Polycode.ShaderBinding_getLocalParam(self.__ptr, index)
  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:getLocalParamByName(name)
  41. local retVal = Polycode.ShaderBinding_getLocalParamByName(self.__ptr, name)
  42. if retVal == nil then return nil end
  43. local __c = _G["shared_ptr<LocalShaderParam>"]("__skip_ptr__")
  44. __c.__ptr = retVal
  45. return __c
  46. end
  47. function ShaderBinding:removeParam(name)
  48. local retVal = Polycode.ShaderBinding_removeParam(self.__ptr, name)
  49. end
  50. function ShaderBinding:loadTextureForParam(paramName, fileName)
  51. local retVal = Polycode.ShaderBinding_loadTextureForParam(self.__ptr, paramName, fileName)
  52. if retVal == nil then return nil end
  53. local __c = _G["shared_ptr<Texture>"]("__skip_ptr__")
  54. __c.__ptr = retVal
  55. return __c
  56. end
  57. function ShaderBinding:setTextureForParam(paramName, texture)
  58. local retVal = Polycode.ShaderBinding_setTextureForParam(self.__ptr, paramName, texture.__ptr)
  59. end
  60. function ShaderBinding:setCubemapForParam(paramName, cubemap)
  61. local retVal = Polycode.ShaderBinding_setCubemapForParam(self.__ptr, paramName, cubemap.__ptr)
  62. end
  63. function ShaderBinding:getNumAttributeBindings()
  64. local retVal = Polycode.ShaderBinding_getNumAttributeBindings(self.__ptr)
  65. return retVal
  66. end
  67. function ShaderBinding:getNumRenderTargetBindings()
  68. local retVal = Polycode.ShaderBinding_getNumRenderTargetBindings(self.__ptr)
  69. return retVal
  70. end
  71. function ShaderBinding:getNumInTargetBindings()
  72. local retVal = Polycode.ShaderBinding_getNumInTargetBindings(self.__ptr)
  73. return retVal
  74. end
  75. function ShaderBinding:getNumColorTargetBindings()
  76. local retVal = Polycode.ShaderBinding_getNumColorTargetBindings(self.__ptr)
  77. return retVal
  78. end
  79. function ShaderBinding:getNumDepthTargetBindings()
  80. local retVal = Polycode.ShaderBinding_getNumDepthTargetBindings(self.__ptr)
  81. return retVal
  82. end
  83. function ShaderBinding:getNumOutTargetBindings()
  84. local retVal = Polycode.ShaderBinding_getNumOutTargetBindings(self.__ptr)
  85. return retVal
  86. end
  87. function ShaderBinding:__delete()
  88. if self then Polycode.delete_ShaderBinding(self.__ptr) end
  89. end