basic interfaces for buffer, material, mesh and texture