RenderDataArray.lua 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. class "RenderDataArray"
  2. RenderDataArray.VERTEX_DATA_ARRAY = 0
  3. RenderDataArray.COLOR_DATA_ARRAY = 1
  4. RenderDataArray.NORMAL_DATA_ARRAY = 2
  5. RenderDataArray.TEXCOORD_DATA_ARRAY = 3
  6. RenderDataArray.TANGENT_DATA_ARRAY = 4
  7. RenderDataArray.BONE_WEIGHT_DATA_ARRAY = 5
  8. RenderDataArray.BONE_INDEX_DATA_ARRAY = 6
  9. RenderDataArray.INDEX_DATA_ARRAY = 7
  10. RenderDataArray.TEXCOORD2_DATA_ARRAY = 8
  11. RenderDataArray.CUSTOM_DATA_ARRAY1 = 9
  12. RenderDataArray.CUSTOM_DATA_ARRAY2 = 10
  13. RenderDataArray.CUSTOM_DATA_ARRAY3 = 11
  14. RenderDataArray.CUSTOM_DATA_ARRAY4 = 12
  15. RenderDataArray.UNKNOWN_DATA_ARRAY = 13
  16. function RenderDataArray:__getvar(name)
  17. if name == "type" then
  18. return Polycode.RenderDataArray_get_type(self.__ptr)
  19. elseif name == "customArrayName" then
  20. return Polycode.RenderDataArray_get_customArrayName(self.__ptr)
  21. elseif name == "platformData" then
  22. local retVal = Polycode.RenderDataArray_get_platformData(self.__ptr)
  23. if retVal == nil then return nil end
  24. local __c = _G["RendererPlatformData"]("__skip_ptr__")
  25. __c.__ptr = retVal
  26. return __c
  27. end
  28. end
  29. function RenderDataArray:__setvar(name,value)
  30. if name == "type" then
  31. Polycode.RenderDataArray_set_type(self.__ptr, value)
  32. return true
  33. elseif name == "customArrayName" then
  34. Polycode.RenderDataArray_set_customArrayName(self.__ptr, value)
  35. return true
  36. elseif name == "platformData" then
  37. Polycode.RenderDataArray_set_platformData(self.__ptr, value.__ptr)
  38. return true
  39. end
  40. return false
  41. end
  42. function RenderDataArray:RenderDataArray(...)
  43. local arg = {...}
  44. for k,v in pairs(arg) do
  45. if type(v) == "table" then
  46. if v.__ptr ~= nil then
  47. arg[k] = v.__ptr
  48. end
  49. end
  50. end
  51. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  52. self.__ptr = Polycode.RenderDataArray(unpack(arg))
  53. end
  54. end
  55. function RenderDataArray:getDataSize()
  56. local retVal = Polycode.RenderDataArray_getDataSize(self.__ptr)
  57. return retVal
  58. end
  59. function RenderDataArray:__delete()
  60. if self then Polycode.delete_RenderDataArray(self.__ptr) end
  61. end