This is the documentation for Enlighten.
class Geo GeoV128Texture
class Geo::GeoV128Texture
A really simple texture where all elements are float vectors.
Functions
Name | Description |
---|---|
~GeoRefCount() | Virtual destructor required to make sure that the concrete class destructor gets called. |
AddRef() | Increments the reference count and return new value. |
ClearToValue(v128) | Clear all pixels in this texture to the given value. |
CopyUnscaled(GeoV128Texture *, GeoV128Texture *, GeoRect, GeoRect) | Copy a block from one texture to a different texture. |
CopyUnscaledFromBuffer(v128 *, u32, GeoV128Texture *, GeoRect, GeoRect) | Copies from a buffer of V128s with given pitch, rather than a texture. |
CopyUnscaledWithDestinationMask(GeoV128Texture *, GeoV128Texture *, GeoRect, GeoRect, GeoV128Texture *) | Copy a block from one texture to a different texture, with a mask specified in the destination texture space. |
CopyUnscaledWithSourceMask(GeoV128Texture *, GeoV128Texture *, GeoRect, GeoRect, GeoV128Texture *) | Copy a block from one texture to a different texture, with a mask specified in the source texture space. |
Create(s32, s32) | Create gives you back an uninitialised (values undefined!) texture of the appropriate size with a ref count of 1. |
DeserialiseFrom(FILE *) | Serialise in and out. |
Downsample(GeoV128Texture *) | Dest is half the size of source. Takes the average of the four values. |
DrawRect(s32, s32, s32, s32, v128) | For debugging purposes. |
Exists(s32, s32) | Return true if [x,y] is contained with the image. |
GeoRefCount() | Default constructor. The reference count is initially zero. |
GetHeight() | Return the height of this image. |
GetPixels() | Return a raw pointer to the start of the pixel array. |
GetPixels() | Return a const raw pointer to the start of the pixel array. |
GetWidth() | Return the width of this image. |
IsValid() | Checks if this texture has valid data. |
MaskedIn(s32, s32) | Return true if (x, y) is in bounds for this texture, and the value of the x component is positive. |
MultiplyBy(v128) | Multiply all pixels in this texture by the given value. |
OutputToPFM(const char *) | Output for debugging purposes. |
Release() | Decrements the reference count, deleting the object if it reaches zero. |
Sample(s32, s32) | Return the Sample at position [x,y]. |
SerialiseTo(FILE *) | Serialise in and out. |
SetSample(s32, s32, v128) | For debugging purposes. |
Variables
Name | Description |
---|---|
s32 m_RefCount | The reference count, once it reaches zero the object deletes itself. |
virtual Geo::GeoRefCount::~GeoRefCount
public: virtual ~GeoRefCount()
Virtual destructor required to make sure that the concrete class destructor gets called.
s32 Geo::GeoRefCount::AddRef
public: s32 AddRef()
Increments the reference count and return new value.
Returns
New value of reference count.
void Geo::GeoV128Texture::ClearToValue
public: void ClearToValue
(
v128 v
)
Clear all pixels in this texture to the given value.
static bool Geo::GeoV128Texture::CopyUnscaled
public: bool CopyUnscaled
(
GeoV128Texture * source,
GeoV128Texture * target,
GeoRect sourceBB,
GeoRect targetBB
)
Copy a block from one texture to a different texture.
It expects a one to one correspondence between the pixels in each bounding box - no scaling is applied and it will return false if this isn't met. All parameters must be valid.
static bool Geo::GeoV128Texture::CopyUnscaledFromBuffer
public: bool CopyUnscaledFromBuffer
(
v128 * source,
u32 sourcePitch,
GeoV128Texture * target,
GeoRect sourceBB,
GeoRect targetBB
)
Copies from a buffer of V128s with given pitch, rather than a texture.
Otherwise the same as CopyUnscaled
static bool Geo::GeoV128Texture::CopyUnscaledWithDestinationMask
public: bool CopyUnscaledWithDestinationMask
(
GeoV128Texture * source,
GeoV128Texture * target,
GeoRect sourceBB,
GeoRect targetBB,
GeoV128Texture * mask
)
Copy a block from one texture to a different texture, with a mask specified in the destination texture space.
Same as CopyUnscaled but only copies where the mask is non-zero in the X co-ord.
static bool Geo::GeoV128Texture::CopyUnscaledWithSourceMask
public: bool CopyUnscaledWithSourceMask
(
GeoV128Texture * source,
GeoV128Texture * target,
GeoRect sourceBB,
GeoRect targetBB,
GeoV128Texture * mask
)
Copy a block from one texture to a different texture, with a mask specified in the source texture space.
Same as CopyUnscaled but only copies where the mask is non-zero in the X co-ord.
static GeoV128Texture* Geo::GeoV128Texture::Create
public: GeoV128Texture * Create
(
s32 w,
s32 h
)
Create gives you back an uninitialised (values undefined!) texture of the appropriate size with a ref count of 1.
So no need to AddRef it immediately.
void Geo::GeoV128Texture::DeserialiseFrom
public: void DeserialiseFrom
(
FILE * fp
)
Serialise in and out.
void Geo::GeoV128Texture::Downsample
public: void Downsample
(
GeoV128Texture * dest
) const
Dest is half the size of source. Takes the average of the four values.
void Geo::GeoV128Texture::DrawRect
public: void DrawRect
(
s32 x,
s32 y,
s32 w,
s32 h,
v128 value
)
For debugging purposes.
bool Geo::GeoV128Texture::Exists
public: bool Exists
(
s32 x,
s32 y
) const
Return true if [x,y] is contained with the image.
Geo::GeoRefCount::GeoRefCount
public: GeoRefCount()
Default constructor. The reference count is initially zero.
s32 Geo::GeoV128Texture::GetHeight
public: s32 GetHeight() const
Return the height of this image.
v128* Geo::GeoV128Texture::GetPixels
public: v128 * GetPixels()
Return a raw pointer to the start of the pixel array.
const v128* Geo::GeoV128Texture::GetPixels
public: const v128 * GetPixels() const
Return a const raw pointer to the start of the pixel array.
s32 Geo::GeoV128Texture::GetWidth
public: s32 GetWidth() const
Return the width of this image.
bool Geo::GeoV128Texture::IsValid
public: bool IsValid() const
Checks if this texture has valid data.
bool Geo::GeoV128Texture::MaskedIn
public: bool MaskedIn
(
s32 x,
s32 y
) const
Return true if (x, y) is in bounds for this texture, and the value of the x component is positive.
void Geo::GeoV128Texture::MultiplyBy
public: void MultiplyBy
(
v128 multiplicand
)
Multiply all pixels in this texture by the given value.
bool Geo::GeoV128Texture::OutputToPFM
public: bool OutputToPFM
(
const char * filename
) const
Output for debugging purposes.
s32 Geo::GeoRefCount::Release
public: s32 Release()
Decrements the reference count, deleting the object if it reaches zero.
Returns
Returns reference count after decrement. 0 if deleted.
v128 Geo::GeoV128Texture::Sample
public: v128 Sample
(
s32 x,
s32 y
) const
Return the Sample at position [x,y].
bool Geo::GeoV128Texture::SerialiseTo
public: bool SerialiseTo
(
FILE * fp
) const
Serialise in and out.
void Geo::GeoV128Texture::SetSample
public: void SetSample
(
s32 x,
s32 y,
v128 value
)
For debugging purposes.