MaterialManager.lua 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. class "MaterialManager"
  2. function MaterialManager:MaterialManager(...)
  3. for k,v in pairs(arg) do
  4. if type(v) == "table" then
  5. if v.__ptr ~= nil then
  6. arg[k] = v.__ptr
  7. end
  8. end
  9. end
  10. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  11. self.__ptr = Polycore.MaterialManager(unpack(arg))
  12. end
  13. end
  14. function MaterialManager:Update(elapsed)
  15. local retVal = Polycore.MaterialManager_Update(self.__ptr, elapsed)
  16. end
  17. function MaterialManager:createFramebufferTexture(width, height, type)
  18. local retVal = Polycore.MaterialManager_createFramebufferTexture(self.__ptr, width, height, type)
  19. if Polycore.__ptr_lookup[retVal] ~= nil then
  20. return Polycore.__ptr_lookup[retVal]
  21. else
  22. Polycore.__ptr_lookup[retVal] = Texture("__skip_ptr__")
  23. Polycore.__ptr_lookup[retVal].__ptr = retVal
  24. return Polycore.__ptr_lookup[retVal]
  25. end
  26. end
  27. function MaterialManager:createTexture(width, height, imageData, clamp, type)
  28. local retVal = Polycore.MaterialManager_createTexture(self.__ptr, width, height, imageData.__ptr, clamp, type)
  29. if Polycore.__ptr_lookup[retVal] ~= nil then
  30. return Polycore.__ptr_lookup[retVal]
  31. else
  32. Polycore.__ptr_lookup[retVal] = Texture("__skip_ptr__")
  33. Polycore.__ptr_lookup[retVal].__ptr = retVal
  34. return Polycore.__ptr_lookup[retVal]
  35. end
  36. end
  37. function MaterialManager:createNewTexture(width, height, clamp, type)
  38. local retVal = Polycore.MaterialManager_createNewTexture(self.__ptr, width, height, clamp, type)
  39. if Polycore.__ptr_lookup[retVal] ~= nil then
  40. return Polycore.__ptr_lookup[retVal]
  41. else
  42. Polycore.__ptr_lookup[retVal] = Texture("__skip_ptr__")
  43. Polycore.__ptr_lookup[retVal].__ptr = retVal
  44. return Polycore.__ptr_lookup[retVal]
  45. end
  46. end
  47. function MaterialManager:createTextureFromImage(image, clamp)
  48. local retVal = Polycore.MaterialManager_createTextureFromImage(self.__ptr, image.__ptr, clamp)
  49. if Polycore.__ptr_lookup[retVal] ~= nil then
  50. return Polycore.__ptr_lookup[retVal]
  51. else
  52. Polycore.__ptr_lookup[retVal] = Texture("__skip_ptr__")
  53. Polycore.__ptr_lookup[retVal].__ptr = retVal
  54. return Polycore.__ptr_lookup[retVal]
  55. end
  56. end
  57. function MaterialManager:createTextureFromFile(fileName, clamp)
  58. local retVal = Polycore.MaterialManager_createTextureFromFile(self.__ptr, fileName, clamp)
  59. if Polycore.__ptr_lookup[retVal] ~= nil then
  60. return Polycore.__ptr_lookup[retVal]
  61. else
  62. Polycore.__ptr_lookup[retVal] = Texture("__skip_ptr__")
  63. Polycore.__ptr_lookup[retVal].__ptr = retVal
  64. return Polycore.__ptr_lookup[retVal]
  65. end
  66. end
  67. function MaterialManager:deleteTexture(texture)
  68. local retVal = Polycore.MaterialManager_deleteTexture(self.__ptr, texture.__ptr)
  69. end
  70. function MaterialManager:reloadTextures()
  71. local retVal = Polycore.MaterialManager_reloadTextures(self.__ptr)
  72. end
  73. function MaterialManager:reloadProgramsAndTextures()
  74. local retVal = Polycore.MaterialManager_reloadProgramsAndTextures(self.__ptr)
  75. end
  76. function MaterialManager:reloadPrograms()
  77. local retVal = Polycore.MaterialManager_reloadPrograms(self.__ptr)
  78. end
  79. function MaterialManager:addShaderModule(module)
  80. local retVal = Polycore.MaterialManager_addShaderModule(self.__ptr, module.__ptr)
  81. end
  82. function MaterialManager:getTextureByResourcePath(resourcePath)
  83. local retVal = Polycore.MaterialManager_getTextureByResourcePath(self.__ptr, resourcePath)
  84. if Polycore.__ptr_lookup[retVal] ~= nil then
  85. return Polycore.__ptr_lookup[retVal]
  86. else
  87. Polycore.__ptr_lookup[retVal] = Texture("__skip_ptr__")
  88. Polycore.__ptr_lookup[retVal].__ptr = retVal
  89. return Polycore.__ptr_lookup[retVal]
  90. end
  91. end
  92. function MaterialManager:cubemapFromXMLNode(node)
  93. local retVal = Polycore.MaterialManager_cubemapFromXMLNode(self.__ptr, node.__ptr)
  94. if Polycore.__ptr_lookup[retVal] ~= nil then
  95. return Polycore.__ptr_lookup[retVal]
  96. else
  97. Polycore.__ptr_lookup[retVal] = Cubemap("__skip_ptr__")
  98. Polycore.__ptr_lookup[retVal].__ptr = retVal
  99. return Polycore.__ptr_lookup[retVal]
  100. end
  101. end
  102. function MaterialManager:loadMaterialsFromFile(fileName)
  103. local retVal = Polycore.MaterialManager_loadMaterialsFromFile(self.__ptr, fileName)
  104. end
  105. function MaterialManager:materialFromXMLNode(node)
  106. local retVal = Polycore.MaterialManager_materialFromXMLNode(self.__ptr, node.__ptr)
  107. if Polycore.__ptr_lookup[retVal] ~= nil then
  108. return Polycore.__ptr_lookup[retVal]
  109. else
  110. Polycore.__ptr_lookup[retVal] = Material("__skip_ptr__")
  111. Polycore.__ptr_lookup[retVal].__ptr = retVal
  112. return Polycore.__ptr_lookup[retVal]
  113. end
  114. end
  115. function MaterialManager:setShaderFromXMLNode(node)
  116. local retVal = Polycore.MaterialManager_setShaderFromXMLNode(self.__ptr, node.__ptr)
  117. if Polycore.__ptr_lookup[retVal] ~= nil then
  118. return Polycore.__ptr_lookup[retVal]
  119. else
  120. Polycore.__ptr_lookup[retVal] = Shader("__skip_ptr__")
  121. Polycore.__ptr_lookup[retVal].__ptr = retVal
  122. return Polycore.__ptr_lookup[retVal]
  123. end
  124. end
  125. function MaterialManager:createShaderFromXMLNode(node)
  126. local retVal = Polycore.MaterialManager_createShaderFromXMLNode(self.__ptr, node.__ptr)
  127. if Polycore.__ptr_lookup[retVal] ~= nil then
  128. return Polycore.__ptr_lookup[retVal]
  129. else
  130. Polycore.__ptr_lookup[retVal] = Shader("__skip_ptr__")
  131. Polycore.__ptr_lookup[retVal].__ptr = retVal
  132. return Polycore.__ptr_lookup[retVal]
  133. end
  134. end