1 function RenderEngine:init_texture_args()
2 local base_filter = (self.bilinear_filter and "linear" or "nearest")
3 local mipmap = (self.mipmap and " mipmap nearest" or "")
4 self.texture_min_filter = base_filter .. mipmap
5 self.texture_mag_filter = base_filter
8 function RenderEngine:create_texture(path)
9 local texture = gl.gen_textures(1)
11 gl.bind_texture("2d", texture)
12 gl.texture_parameter("2d", "min filter", self.texture_min_filter)
13 gl.texture_parameter("2d", "mag filter", self.texture_mag_filter)
14 gl.texture_parameter("2d", "wrap s", "repeat")
15 gl.texture_parameter("2d", "wrap t", "repeat")
17 local data, width, height, channels = image.load(path)
20 error("Failed to load texture '" .. path .. "'")
23 gl.texture_image("2d", 0, "rgb", "rgba", "ubyte", data, width, height)
25 gl.generate_mipmap("2d")
28 gl.unbind_texture("2d")
29 data, width, height, channels = nil