15 #ifndef TEXTUREPEEKER_H 16 #define TEXTUREPEEKER_H 18 #include "pandabase.h" 20 #include "referenceCount.h" 35 INLINE
bool is_valid()
const;
38 INLINE
int get_x_size()
const;
39 INLINE
int get_y_size()
const;
40 INLINE
int get_z_size()
const;
42 void lookup(
LColor &
color, PN_stdfloat u, PN_stdfloat v)
const;
43 void lookup(
LColor &color, PN_stdfloat u, PN_stdfloat v, PN_stdfloat w)
const;
44 void filter_rect(
LColor &color,
45 PN_stdfloat min_u, PN_stdfloat min_v,
46 PN_stdfloat max_u, PN_stdfloat max_v)
const;
47 void filter_rect(
LColor &color,
48 PN_stdfloat min_u, PN_stdfloat min_v, PN_stdfloat min_w,
49 PN_stdfloat max_u, PN_stdfloat max_v, PN_stdfloat max_w)
const;
52 static void init_rect_minmax(
int &min_x,
int &max_x,
53 PN_stdfloat &min_u, PN_stdfloat &max_u,
56 void accum_filter_z(
LColor &color, PN_stdfloat &net,
57 int min_x,
int max_x, PN_stdfloat min_u, PN_stdfloat max_u,
58 int min_y,
int max_y, PN_stdfloat min_v, PN_stdfloat max_v,
59 int min_z,
int max_z, PN_stdfloat min_w, PN_stdfloat max_w)
const;
60 void accum_filter_y(
LColor &color, PN_stdfloat &net,
int zi,
61 int min_x,
int max_x, PN_stdfloat min_u, PN_stdfloat max_u,
62 int min_y,
int max_y, PN_stdfloat min_v, PN_stdfloat max_v,
63 PN_stdfloat weight)
const;
64 void accum_filter_x(
LColor &color, PN_stdfloat &net,
int yi,
int zi,
65 int min_x,
int max_x, PN_stdfloat min_u, PN_stdfloat max_u,
66 PN_stdfloat weight)
const;
67 void accum_texel(
LColor &color, PN_stdfloat &net,
const unsigned char *&p,
68 PN_stdfloat weight)
const;
70 typedef double GetComponentFunc(
const unsigned char *&p);
71 typedef void GetTexelFunc(
LColor &color,
const unsigned char *&p,
72 GetComponentFunc *get_component);
74 static void get_texel_r(
LColor &color,
const unsigned char *&p, GetComponentFunc *get_component);
75 static void get_texel_g(
LColor &color,
const unsigned char *&p, GetComponentFunc *get_component);
76 static void get_texel_b(
LColor &color,
const unsigned char *&p, GetComponentFunc *get_component);
77 static void get_texel_a(
LColor &color,
const unsigned char *&p, GetComponentFunc *get_component);
78 static void get_texel_l(
LColor &color,
const unsigned char *&p, GetComponentFunc *get_component);
79 static void get_texel_la(
LColor &color,
const unsigned char *&p, GetComponentFunc *get_component);
80 static void get_texel_rgb(
LColor &color,
const unsigned char *&p, GetComponentFunc *get_component);
81 static void get_texel_rgba(
LColor &color,
const unsigned char *&p, GetComponentFunc *get_component);
89 Texture::Format _format;
90 Texture::ComponentType _component_type;
93 GetComponentFunc *_get_component;
94 GetTexelFunc *_get_texel;
99 #include "texturePeeker.I"
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
An instance of this object is returned by Texture::peek().
This is the base class for all three-component vectors and points.
A base class for all things that want to be reference-counted.