This release is verified to work with the Odin dev-2026-11 release.
I will drop my "Beta 4" etc versioning number and instead make the releases in tandem with Odin.
New features
- Texture wrapping settings. Use
set_texture_wrapto set what happens when you sample outside the texture. set_texture_samplerreplaces the oldset_texture_filter_ex. It's for "advanced" usages of filters and wrapping settings. You can use it specify theBorderwrapping mode, along with what border color to use.- Mipmapping support:
create_texturenow takesmip_levels := 1paramload_texture_from_file,load_texture_from_bytes,load_texture_from_bytes_rawandload_texture_from_imagecan now havegenerate_mipmapandmip_levelsspecified inoptionsload_texture_from_mipmap_images: New proc. For creating a whole mip chain from a series of images.update_texturehas a newmip_level := 0paramgenerate_mipmap: New proc. Generates mipmap for a texture (the texture must have been created with mip levels)get_max_mip_levels: New proc. Tells you the maximum number of mip levels a texture can have.get_texture_mip_levels: New proc. Tells you how many mip levels a texture has.get_mip_level_width/height: New procs. Get the size a specific mip level. Useful in combination withupdate_texture.
Breaking changes
Textureis now a pure handle. You can't usetex.widthortex.heightanymore. Useget_texture_width,get_texture_heightorget_texture_sizeinstead.Load_Texture_Optionsis now a struct instead of a bit_set. For example,{.Premultiply_Alpha}becomes{premultiply_alpha = true}.
Behind the scenes
- GL render backends now use samplers instead of settings on the texture
Misc
- New proc:
is_texture_valid. - New examples:
mipmapandtexture_wrap. - Fixed a memory leak in the font cache