raylib-cpp
C++ object-oriented wrapper library for raylib.
Public Member Functions | List of all members
raylib::Texture Class Reference

Texture type. More...

Public Member Functions

 Texture (const Texture &)=delete
 Explicitly forbid the copy constructor.
 
 Texture (Texture &&other)
 Move constructor.
 
 ~Texture ()
 On destruction, unload the Texture.
 
Textureoperator= (const Texture &)=delete
 Explicitly forbid copy assignment.
 
Textureoperator= (Texture &&other) noexcept
 Move assignment.
 
 TextureUnmanaged ()
 Default texture constructor.
 
 TextureUnmanaged (::Texture &&other)
 
 TextureUnmanaged (const ::Image &image)
 Creates a texture from the given Image. More...
 
 TextureUnmanaged (const ::Image &image, int layout)
 Load cubemap from image, multiple image cubemap layouts supported. More...
 
 TextureUnmanaged (const ::Texture &texture)
 Creates a texture object based on the given Texture struct data.
 
 TextureUnmanaged (const std::string &fileName)
 Load texture from file into GPU memory (VRAM) More...
 
 TextureUnmanaged (unsigned int id, int width, int height, int mipmaps=1, int format=PIXELFORMAT_UNCOMPRESSED_R8G8B8A8)
 Move/Create a texture structure manually.
 
- Public Member Functions inherited from raylib::TextureUnmanaged
 TextureUnmanaged ()
 Default texture constructor.
 
 TextureUnmanaged (::Texture &&other)
 
 TextureUnmanaged (const ::Image &image)
 Creates a texture from the given Image. More...
 
 TextureUnmanaged (const ::Image &image, int layout)
 Load cubemap from image, multiple image cubemap layouts supported. More...
 
 TextureUnmanaged (const ::Texture &texture)
 Creates a texture object based on the given Texture struct data.
 
 TextureUnmanaged (const std::string &fileName)
 Load texture from file into GPU memory (VRAM) More...
 
 TextureUnmanaged (unsigned int id, int width, int height, int mipmaps=1, int format=PIXELFORMAT_UNCOMPRESSED_R8G8B8A8)
 Move/Create a texture structure manually.
 
void Draw (::NPatchInfo nPatchInfo, ::Rectangle destRec, ::Vector2 origin={0, 0}, float rotation=0, ::Color tint={255, 255, 255, 255}) const
 Draws a texture (or part of it) that stretches or shrinks nicely. More...
 
void Draw (::Rectangle sourceRec, ::Rectangle destRec, ::Vector2 origin={0, 0}, float rotation=0, ::Color tint={255, 255, 255, 255}) const
 Draw a part of a texture defined by a rectangle with 'pro' parameters. More...
 
void Draw (::Rectangle sourceRec, ::Vector2 position={0, 0}, ::Color tint={255, 255, 255, 255}) const
 Draw a part of a texture defined by a rectangle. More...
 
void Draw (::Vector2 position, ::Color tint={255, 255, 255, 255}) const
 Draw a Texture2D with position defined as Vector2. More...
 
void Draw (::Vector2 position, float rotation, float scale=1.0f, ::Color tint={255, 255, 255, 255}) const
 Draw a Texture2D with extended parameters. More...
 
void Draw (int posX=0, int posY=0, ::Color tint={255, 255, 255, 255}) const
 Draw a Texture2D. More...
 
void DrawBillboard (const ::Camera &camera, ::Rectangle source, ::Vector3 position, ::Vector2 size, ::Color tint={255, 255, 255, 255}) const
 Draw a billboard texture defined by source. More...
 
void DrawBillboard (const ::Camera &camera, ::Rectangle source, Vector3 position, ::Vector3 up, Vector2 size, Vector2 origin, float rotation=0.0f, ::Color tint={255, 255, 255, 255}) const
 Draw a billboard texture defined by source and rotation. More...
 
void DrawBillboard (const ::Camera &camera, ::Vector3 position, float size, ::Color tint={255, 255, 255, 255}) const
 Draw a billboard texture. More...
 
TextureUnmanagedGenMipmaps ()
 Generate GPU mipmaps for a texture.
 
::Image GetData () const
 Get pixel data from GPU texture and return an Image.
 
int GetFormat () const
 Retrieves the format value for the object. More...
 
int GetHeight () const
 Retrieves the height value for the object. More...
 
unsigned int GetId () const
 Retrieves the id value for the object. More...
 
int GetMipmaps () const
 Retrieves the mipmaps value for the object. More...
 
::Vector2 GetSize () const
 Retrieve the width and height of the texture.
 
int GetWidth () const
 Retrieves the width value for the object. More...
 
bool IsValid () const
 Determines whether or not the Texture has been loaded and is ready. More...
 
void Load (const ::Image &image)
 Load texture from image data.
 
void Load (const ::Image &image, int layoutType)
 Load cubemap from image, multiple image cubemap layouts supported.
 
void Load (const std::string &fileName)
 Load texture from file into GPU memory (VRAM)
 
 operator Image ()
 Get pixel data from GPU texture and return an Image.
 
TextureUnmanagedoperator= (const ::Texture &texture)
 
TextureUnmanagedSetFilter (int filterMode)
 Set texture scaling filter mode.
 
TextureUnmanagedSetMaterial (::Material *material, int mapType=MATERIAL_MAP_NORMAL)
 Set texture for a material map type (MAP_DIFFUSE, MAP_SPECULAR...)
 
TextureUnmanagedSetMaterial (const ::Material &material, int mapType=MATERIAL_MAP_NORMAL)
 
TextureUnmanagedSetShaderValue (const ::Shader &shader, int locIndex)
 Set shader uniform value for texture (sampler2d)
 
TextureUnmanagedSetShapes (const ::Rectangle &source)
 Set texture and rectangle to be used on shapes drawing.
 
TextureUnmanagedSetWrap (int wrapMode)
 Set texture wrapping mode.
 
void Unload ()
 Unload texture from GPU memory (VRAM)
 
TextureUnmanagedUpdate (::Rectangle rec, const void *pixels)
 Update GPU texture rectangle with new data.
 
TextureUnmanagedUpdate (const void *pixels)
 Update GPU texture with new data.
 

Additional Inherited Members

- Protected Member Functions inherited from raylib::TextureUnmanaged
void set (const ::Texture &texture)
 

Detailed Description

Texture type.

The texture will be unloaded on object destruction. Use raylib::TextureUnmanaged if you're looking to not unload.

See also
raylib::TextureUnmanaged

Definition at line 14 of file Texture.hpp.

Member Function Documentation

◆ TextureUnmanaged() [1/3]

raylib::TextureUnmanaged::TextureUnmanaged
inline

Creates a texture from the given Image.

Exceptions
raylib::RaylibExceptionThrows if failed to create the texture from the given image.

Definition at line 56 of file TextureUnmanaged.hpp.

◆ TextureUnmanaged() [2/3]

raylib::TextureUnmanaged::TextureUnmanaged
inline

Load cubemap from image, multiple image cubemap layouts supported.

Exceptions
raylib::RaylibExceptionThrows if failed to create the texture from the given cubemap.
See also
LoadTextureCubemap()

Definition at line 65 of file TextureUnmanaged.hpp.

◆ TextureUnmanaged() [3/3]

raylib::TextureUnmanaged::TextureUnmanaged
inline

Load texture from file into GPU memory (VRAM)

Exceptions
raylib::RaylibExceptionThrows if failed to create the texture from the given file.

Definition at line 72 of file TextureUnmanaged.hpp.