OGRE-Next 3.0.0
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::TextureBox Struct Reference

For cubemaps, the face is in sliceStart, (see CubemapSide::CubemapSide) For cubemap arrays, the cubemaps are addressed as sliceStart * 6. More...

#include <OgreTextureBox.h>

Public Member Functions

 TextureBox ()
 
 TextureBox (uint32 _width, uint32 _height, uint32 _depth, uint32 _numSlices, uint32 _bytesPerPixel, uint32 _bytesPerRow, size_t _bytesPerImage)
 
void * at (size_t xPos, size_t yPos, size_t zPos) const
 x, y & z are in pixels.
 
void * atFromOffsettedOrigin (size_t xPos, size_t yPos, size_t zPos) const
 
void copyFrom (const TextureBox &src)
 
void copyFrom (const void *srcData, uint32 _width, uint32 _height, uint32 _bytesPerRow)
 
bool equalSize (const TextureBox &other) const
 Returns true if 'other' & 'this' have the same dimensions.
 
bool fullyContains (const TextureBox &other) const
 Returns true if 'other' fits inside 'this' (fully, not partially)
 
ColourValue getColourAt (size_t _x, size_t _y, size_t _z, PixelFormatGpu pixelFormat) const
 Get colour value from a certain location in the image.
 
PixelFormatGpu getCompressedPixelFormat () const
 
uint32 getDepthOrSlices () const
 
uint32 getMaxSlice () const
 
uint32 getMaxX () const
 
uint32 getMaxY () const
 
uint32 getMaxZ () const
 
size_t getSizeBytes () const
 
uint32 getZOrSlice () const
 
bool isCompressed () const
 
bool isSubtextureRegion () const
 Returns true if this TextureBox does not represent a contiguous region of a single slice of full texture, and is instead a 2D subregion of a larger texture.
 
bool overlaps (const TextureBox &other) const
 Returns true if 'this' and 'other' are in partial or full collision.
 
void setColourAt (const ColourValue &cv, size_t _x, size_t _y, size_t _z, PixelFormatGpu pixelFormat)
 Set colour value at a certain location in the image.
 
void setCompressedPixelFormat (PixelFormatGpu pixelFormat)
 

Public Attributes

size_t bytesPerImage
 
uint32 bytesPerPixel
 When TextureBox contains a compressed format, bytesPerPixel contains the pixel format instead.
 
uint32 bytesPerRow
 
void * data
 Pointer is never owned by us.
 
uint32 depth
 
uint32 height
 
uint32 numSlices
 
uint32 sliceStart
 
uint32 width
 
uint32 x
 
uint32 y
 
uint32 z
 

Detailed Description

For cubemaps, the face is in sliceStart, (see CubemapSide::CubemapSide) For cubemap arrays, the cubemaps are addressed as sliceStart * 6.

Constructor & Destructor Documentation

◆ TextureBox() [1/2]

Ogre::TextureBox::TextureBox ( )
inline

◆ TextureBox() [2/2]

Ogre::TextureBox::TextureBox ( uint32 _width,
uint32 _height,
uint32 _depth,
uint32 _numSlices,
uint32 _bytesPerPixel,
uint32 _bytesPerRow,
size_t _bytesPerImage )
inline

Member Function Documentation

◆ at()

void * Ogre::TextureBox::at ( size_t xPos,
size_t yPos,
size_t zPos ) const
inline

◆ atFromOffsettedOrigin()

void * Ogre::TextureBox::atFromOffsettedOrigin ( size_t xPos,
size_t yPos,
size_t zPos ) const
inline

References at(), getZOrSlice(), x, and y.

◆ copyFrom() [1/2]

◆ copyFrom() [2/2]

void Ogre::TextureBox::copyFrom ( const void * srcData,
uint32 _width,
uint32 _height,
uint32 _bytesPerRow )
inline

References TextureBox(), copyFrom(), and data.

◆ equalSize()

bool Ogre::TextureBox::equalSize ( const TextureBox & other) const
inline

Returns true if 'other' & 'this' have the same dimensions.

References TextureBox(), depth, height, numSlices, and width.

◆ fullyContains()

bool Ogre::TextureBox::fullyContains ( const TextureBox & other) const
inline

Returns true if 'other' fits inside 'this' (fully, not partially)

References TextureBox(), getMaxSlice(), getMaxX(), getMaxY(), getMaxZ(), sliceStart, x, y, and z.

◆ getColourAt()

ColourValue Ogre::TextureBox::getColourAt ( size_t _x,
size_t _y,
size_t _z,
PixelFormatGpu pixelFormat ) const

Get colour value from a certain location in the image.

◆ getCompressedPixelFormat()

PixelFormatGpu Ogre::TextureBox::getCompressedPixelFormat ( ) const
inline

References bytesPerPixel, and Ogre::PFG_UNKNOWN.

Referenced by at(), copyFrom(), and isSubtextureRegion().

◆ getDepthOrSlices()

uint32 Ogre::TextureBox::getDepthOrSlices ( ) const
inline

References depth, and numSlices.

Referenced by copyFrom().

◆ getMaxSlice()

uint32 Ogre::TextureBox::getMaxSlice ( ) const
inline

References numSlices, and sliceStart.

Referenced by fullyContains(), and overlaps().

◆ getMaxX()

uint32 Ogre::TextureBox::getMaxX ( ) const
inline

References width, and x.

Referenced by fullyContains(), and overlaps().

◆ getMaxY()

uint32 Ogre::TextureBox::getMaxY ( ) const
inline

References height, and y.

Referenced by fullyContains(), and overlaps().

◆ getMaxZ()

uint32 Ogre::TextureBox::getMaxZ ( ) const
inline

References depth, and z.

Referenced by fullyContains(), and overlaps().

◆ getSizeBytes()

size_t Ogre::TextureBox::getSizeBytes ( ) const
inline

References bytesPerImage, depth, and numSlices.

◆ getZOrSlice()

uint32 Ogre::TextureBox::getZOrSlice ( ) const
inline

References sliceStart, and z.

Referenced by atFromOffsettedOrigin(), and copyFrom().

◆ isCompressed()

bool Ogre::TextureBox::isCompressed ( ) const
inline

References bytesPerPixel.

Referenced by at(), copyFrom(), and isSubtextureRegion().

◆ isSubtextureRegion()

bool Ogre::TextureBox::isSubtextureRegion ( ) const
inline

Returns true if this TextureBox does not represent a contiguous region of a single slice of full texture, and is instead a 2D subregion of a larger texture.

References bytesPerImage, bytesPerPixel, bytesPerRow, Ogre::PixelFormatGpuUtils::getCompressedBlockHeight(), Ogre::PixelFormatGpuUtils::getCompressedBlockSize(), Ogre::PixelFormatGpuUtils::getCompressedBlockWidth(), getCompressedPixelFormat(), height, isCompressed(), width, x, and y.

Referenced by copyFrom().

◆ overlaps()

bool Ogre::TextureBox::overlaps ( const TextureBox & other) const
inline

Returns true if 'this' and 'other' are in partial or full collision.

References TextureBox(), getMaxSlice(), getMaxX(), getMaxY(), getMaxZ(), sliceStart, x, y, and z.

◆ setColourAt()

void Ogre::TextureBox::setColourAt ( const ColourValue & cv,
size_t _x,
size_t _y,
size_t _z,
PixelFormatGpu pixelFormat )

Set colour value at a certain location in the image.

◆ setCompressedPixelFormat()

void Ogre::TextureBox::setCompressedPixelFormat ( PixelFormatGpu pixelFormat)
inline

Member Data Documentation

◆ bytesPerImage

size_t Ogre::TextureBox::bytesPerImage

◆ bytesPerPixel

uint32 Ogre::TextureBox::bytesPerPixel

When TextureBox contains a compressed format, bytesPerPixel contains the pixel format instead.

See getCompressedPixelFormat.

Referenced by TextureBox(), TextureBox(), at(), getCompressedPixelFormat(), isCompressed(), isSubtextureRegion(), and setCompressedPixelFormat().

◆ bytesPerRow

uint32 Ogre::TextureBox::bytesPerRow

◆ data

void* Ogre::TextureBox::data

Pointer is never owned by us.

Do not alter where data points to (e.g. do not increment it)

Referenced by TextureBox(), TextureBox(), at(), and copyFrom().

◆ depth

uint32 Ogre::TextureBox::depth

◆ height

uint32 Ogre::TextureBox::height

◆ numSlices

uint32 Ogre::TextureBox::numSlices

◆ sliceStart

uint32 Ogre::TextureBox::sliceStart

◆ width

uint32 Ogre::TextureBox::width

◆ x

◆ y

◆ z

uint32 Ogre::TextureBox::z

The documentation for this struct was generated from the following file: