= Texture Management = == Referencing == * Textures are referenced by file name * Material nodes have absolute (!) texture file names in Properties for the textures they reference * Textures are not loaded in the backend, only their names are stored == Data management == * A central cache avoids textures from being loaded multiple times * When texture data is needed, the Framebuffer is requested from the cache with the texture's file name (relative file name would be great here) as the key == Specific use cases == The following use cases are relevant: * A material is set to use a texture * A material is updated to use a different texture: a) the old texture is still referenced somewhere, b) the old texture is no longer referenced * The UV editor should display a texture * The OpenGL preview rendering for a material needs to use the texture * A texture needs to be made available to a rendering engine (e.g. Sunflow)