Texture.lua 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. require "Polycode/Resource"
  2. class "Texture" (Resource)
  3. Texture.FILTERING_NEAREST = 0
  4. Texture.FILTERING_LINEAR = 1
  5. function Texture:__getvar(name)
  6. if name == "clamp" then
  7. return Polycode.Texture_get_clamp(self.__ptr)
  8. elseif name == "type" then
  9. return Polycode.Texture_get_type(self.__ptr)
  10. elseif name == "filteringMode" then
  11. return Polycode.Texture_get_filteringMode(self.__ptr)
  12. elseif name == "createMipmaps" then
  13. return Polycode.Texture_get_createMipmaps(self.__ptr)
  14. elseif name == "anisotropy" then
  15. return Polycode.Texture_get_anisotropy(self.__ptr)
  16. elseif name == "framebufferTexture" then
  17. return Polycode.Texture_get_framebufferTexture(self.__ptr)
  18. elseif name == "depthTexture" then
  19. return Polycode.Texture_get_depthTexture(self.__ptr)
  20. end
  21. if Resource["__getvar"] ~= nil then
  22. return Resource.__getvar(self, name)
  23. end
  24. end
  25. function Texture:__setvar(name,value)
  26. if name == "clamp" then
  27. Polycode.Texture_set_clamp(self.__ptr, value)
  28. return true
  29. elseif name == "type" then
  30. Polycode.Texture_set_type(self.__ptr, value)
  31. return true
  32. elseif name == "filteringMode" then
  33. Polycode.Texture_set_filteringMode(self.__ptr, value)
  34. return true
  35. elseif name == "createMipmaps" then
  36. Polycode.Texture_set_createMipmaps(self.__ptr, value)
  37. return true
  38. elseif name == "anisotropy" then
  39. Polycode.Texture_set_anisotropy(self.__ptr, value)
  40. return true
  41. elseif name == "framebufferTexture" then
  42. Polycode.Texture_set_framebufferTexture(self.__ptr, value)
  43. return true
  44. elseif name == "depthTexture" then
  45. Polycode.Texture_set_depthTexture(self.__ptr, value)
  46. return true
  47. end
  48. if Resource["__setvar"] ~= nil then
  49. return Resource.__setvar(self, name, value)
  50. else
  51. return false
  52. end
  53. end
  54. function Texture:reloadResource()
  55. local retVal = Polycode.Texture_reloadResource(self.__ptr)
  56. end
  57. function Texture:getWidth()
  58. local retVal = Polycode.Texture_getWidth(self.__ptr)
  59. return retVal
  60. end
  61. function Texture:getHeight()
  62. local retVal = Polycode.Texture_getHeight(self.__ptr)
  63. return retVal
  64. end
  65. function Texture:setCreateMipmaps(createMipmapsIn)
  66. local retVal = Polycode.Texture_setCreateMipmaps(self.__ptr, createMipmapsIn)
  67. end
  68. function Texture:getCreateMipmaps()
  69. local retVal = Polycode.Texture_getCreateMipmaps(self.__ptr)
  70. return retVal
  71. end
  72. function Texture:__delete()
  73. if self then Polycode.delete_Texture(self.__ptr) end
  74. end