namespace GL {
/**
-An array of two-dimensional textures. It's very much like a 3D texture, with
-two important differences: there's no filtering nor mipmapping along the third
-dimension.
+An array of two-dimensional textures. It behaves much like a 3D texture, but
+mipmapping and filtering is not applied on the third dimension. When sampling
+the texture, the third coordinate is not normalized and is rounded to the
+nearest integer to select the layer.
*/
class Texture2DArray: public Texture2DArrayBackend
{
void external_image(unsigned, const std::string &);
};
+ /** Replaces contents of a single layer. Allocated storage must exist. The
+ image data is interpreted according to the storage format and must have
+ width and height matching the selected mipmap level. */
void layer_image(unsigned, unsigned, const void *);
+
void layer_image(unsigned, unsigned, const Graphics::Image &);
unsigned get_layers() const { return get_depth(); }