-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Load GPipe textures from filesystem
--
-- The functions of this package helps loading GPipe textures from file.
-- It is based on the stb-image package, and supports subsets of the JPG,
-- PNG, TGA, BMP and PSD formats.
@package GPipe-TextureLoad
@version 1.0.4
-- | This module provides the means to load all kinds of textures from
-- file. It's based on the stb-image package, and inherits its strengths
-- and limitations. Specifically, it handles a subset of the JPEG, PNG,
-- TGA, BMP and PSD file formats, but is not entirely thread safe. See
-- http://hackage.haskell.org/package/stb-image for more
-- information.
module Graphics.GPipe.Texture.Load
-- | Provides the general way of loading any kind of textures. A 3D texture
-- is assumed to be an array of square images tiled vertically in the
-- image file. Cube textures are assumed to be composed of 6 equally
-- sized images tiled vertically. No additional mipmaps are loaded.
--
-- Filesystem errors or bad texture dimensions (e.g. loading a cube
-- texture from a file where the height is not a multiple of 6) are
-- thrown as IOErrors.
class Texture t => LoadableTexture t
loadTexture :: LoadableTexture t => TextureFormat t -> FilePath -> IO t
-- | Provides an alternative way of loading Texture3Ds that are
-- arrays of non-square images tiled vertically. No additional mipmaps
-- are loaded.
--
-- Filesystem errors or bad texture dimensions (i.e. the height of the
-- image is not a multiple of the supplied depth) are thrown as
-- IOErrors.
class LoadableTexture3D f
loadTexture3D :: LoadableTexture3D f => Int -> f -> FilePath -> IO (Texture3D f)
instance LoadableTexture3D RGBAFormat
instance LoadableTexture3D RGBFormat
instance LoadableTexture3D LuminanceAlphaFormat
instance LoadableTexture3D LuminanceFormat
instance LoadableTexture3D AlphaFormat
instance LoadableTexture (TextureCube RGBAFormat)
instance LoadableTexture (TextureCube RGBFormat)
instance LoadableTexture (TextureCube LuminanceAlphaFormat)
instance LoadableTexture (TextureCube LuminanceFormat)
instance LoadableTexture (TextureCube AlphaFormat)
instance LoadableTexture (Texture1D RGBAFormat)
instance LoadableTexture (Texture1D RGBFormat)
instance LoadableTexture (Texture1D LuminanceAlphaFormat)
instance LoadableTexture (Texture1D LuminanceFormat)
instance LoadableTexture (Texture1D AlphaFormat)
instance LoadableTexture (Texture2D RGBAFormat)
instance LoadableTexture (Texture2D RGBFormat)
instance LoadableTexture (Texture2D LuminanceAlphaFormat)
instance LoadableTexture (Texture2D LuminanceFormat)
instance LoadableTexture (Texture2D AlphaFormat)
instance LoadableTexture (Texture3D RGBAFormat)
instance LoadableTexture (Texture3D RGBFormat)
instance LoadableTexture (Texture3D LuminanceAlphaFormat)
instance LoadableTexture (Texture3D LuminanceFormat)
instance LoadableTexture (Texture3D AlphaFormat)