An instance of this object is returned by Texture::peek(). More...
#include "texturePeeker.h"
Public Member Functions | |
void | fetch_pixel (LColor &color, int x, int y) const |
Works like TexturePeeker::lookup(), but instead uv-coordinates integer coordinates are used. More... | |
void | filter_rect (LColor &color, PN_stdfloat min_u, PN_stdfloat min_v, PN_stdfloat max_u, PN_stdfloat max_v) const |
Fills "color" with the average RGBA color of the texels within the rectangle defined by the specified coordinate range. More... | |
void | filter_rect (LColor &color, PN_stdfloat min_u, PN_stdfloat min_v, PN_stdfloat min_w, PN_stdfloat max_u, PN_stdfloat max_v, PN_stdfloat max_w) const |
Fills "color" with the average RGBA color of the texels within the rectangle defined by the specified coordinate range. More... | |
int | get_x_size () const |
Returns the width of the texture image that is contributing to the TexturePeeker's information. More... | |
int | get_y_size () const |
Returns the height of the texture image that is contributing to the TexturePeeker's information. More... | |
int | get_z_size () const |
Returns the depth of the texture image that is contributing to the TexturePeeker's information. More... | |
bool | has_pixel (int x, int y) const |
Returns whether a given coordinate is inside of the texture dimensions. More... | |
bool | is_valid () const |
Returns true if the TexturePeeker was able to initialize itself and is ready to return texel colors. More... | |
void | lookup (LColor &color, PN_stdfloat u, PN_stdfloat v) const |
Fills "color" with the RGBA color of the texel at point (u, v). More... | |
void | lookup (LColor &color, PN_stdfloat u, PN_stdfloat v, PN_stdfloat w) const |
Fills "color" with the RGBA color of the texel at point (u, v, w). More... | |
bool | lookup_bilinear (LColor &color, PN_stdfloat u, PN_stdfloat v) const |
Performs a bilinear lookup to retrieve the color value stored at the uv coordinate (u, v). More... | |
Public Member Functions inherited from ReferenceCount | |
int | get_ref_count () const |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
void | ref () const |
Explicitly increments the reference count. More... | |
bool | ref_if_nonzero () const |
Atomically increases the reference count of this object if it is not zero. More... | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
virtual bool | unref () const |
Explicitly decrements the reference count. More... | |
WeakReferenceList * | weak_ref () |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref () |
Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Friends | |
class | Texture |
Additional Inherited Members | |
Static Public Member Functions inherited from ReferenceCount | |
static TypeHandle | get_class_type () |
static void | init_type () |
Public Attributes inherited from ReferenceCount | |
get_ref_count | |
Returns the current reference count. More... | |
An instance of this object is returned by Texture::peek().
This object allows quick and easy inspection of a texture's texels by (u, v) coordinates.
Definition at line 27 of file texturePeeker.h.
void TexturePeeker::fetch_pixel | ( | LColor & | color, |
int | x, | ||
int | y | ||
) | const |
Works like TexturePeeker::lookup(), but instead uv-coordinates integer coordinates are used.
Definition at line 221 of file texturePeeker.cxx.
Referenced by lookup_bilinear().
void TexturePeeker::filter_rect | ( | LColor & | color, |
PN_stdfloat | min_u, | ||
PN_stdfloat | min_v, | ||
PN_stdfloat | max_u, | ||
PN_stdfloat | max_v | ||
) | const |
Fills "color" with the average RGBA color of the texels within the rectangle defined by the specified coordinate range.
The texel color is linearly filtered over the entire region. u, v, and w will wrap around regardless of the texture's wrap mode.
Definition at line 306 of file texturePeeker.cxx.
void TexturePeeker::filter_rect | ( | LColor & | color, |
PN_stdfloat | min_u, | ||
PN_stdfloat | min_v, | ||
PN_stdfloat | min_w, | ||
PN_stdfloat | max_u, | ||
PN_stdfloat | max_v, | ||
PN_stdfloat | max_w | ||
) | const |
Fills "color" with the average RGBA color of the texels within the rectangle defined by the specified coordinate range.
The texel color is linearly filtered over the entire region. u, v, and w will wrap around regardless of the texture's wrap mode.
Definition at line 334 of file texturePeeker.cxx.
|
inline |
Returns the width of the texture image that is contributing to the TexturePeeker's information.
This may be either the Texture's full width, or its simple ram image's width.
Definition at line 29 of file texturePeeker.I.
|
inline |
Returns the height of the texture image that is contributing to the TexturePeeker's information.
This may be either the Texture's full height, or its simple ram image's height.
Definition at line 39 of file texturePeeker.I.
|
inline |
Returns the depth of the texture image that is contributing to the TexturePeeker's information.
Definition at line 48 of file texturePeeker.I.
|
inline |
Returns whether a given coordinate is inside of the texture dimensions.
Definition at line 56 of file texturePeeker.I.
Referenced by lookup_bilinear().
|
inline |
Returns true if the TexturePeeker was able to initialize itself and is ready to return texel colors.
Definition at line 19 of file texturePeeker.I.
References PointerToVoid::is_null().
void TexturePeeker::lookup | ( | LColor & | color, |
PN_stdfloat | u, | ||
PN_stdfloat | v | ||
) | const |
Fills "color" with the RGBA color of the texel at point (u, v).
The texel color is determined via nearest-point sampling (no filtering of adjacent pixels), regardless of the filter type associated with the texture. u, v, and w will wrap around regardless of the texture's wrap mode.
Definition at line 210 of file texturePeeker.cxx.
void TexturePeeker::lookup | ( | LColor & | color, |
PN_stdfloat | u, | ||
PN_stdfloat | v, | ||
PN_stdfloat | w | ||
) | const |
Fills "color" with the RGBA color of the texel at point (u, v, w).
The texel color is determined via nearest-point sampling (no filtering of adjacent pixels), regardless of the filter type associated with the texture. u, v, and w will wrap around regardless of the texture's wrap mode.
Definition at line 286 of file texturePeeker.cxx.
bool TexturePeeker::lookup_bilinear | ( | LColor & | color, |
PN_stdfloat | u, | ||
PN_stdfloat | v | ||
) | const |
Performs a bilinear lookup to retrieve the color value stored at the uv coordinate (u, v).
In case the point is outside of the uv range, color is set to zero, and false is returned. Otherwise true is returned.
Definition at line 236 of file texturePeeker.cxx.
References fetch_pixel(), and has_pixel().