Ptex
|
Pixel resolution of a given texture. More...
#include <Ptexture.h>
Public Member Functions | |
Res () | |
Default constructor, sets res to 0 (1x1 texel). More... | |
Res (int8_t ulog2_, int8_t vlog2_) | |
Constructor. More... | |
Res (uint16_t value) | |
Constructor from 16-bit integer. More... | |
int | u () const |
U resolution in texels. More... | |
int | v () const |
V resolution in texels. More... | |
uint16_t & | val () |
Resolution as a single 16-bit integer value. More... | |
const uint16_t & | val () const |
Resolution as a single 16-bit integer value. More... | |
int | size () const |
Total size of specified texture in texels (u * v). More... | |
bool | operator== (const Res &r) const |
Comparison operator. More... | |
bool | operator!= (const Res &r) const |
Comparison operator. More... | |
bool | operator>= (const Res &r) const |
True if res is >= given res in both u and v directions. More... | |
Res | swappeduv () const |
Get value of resolution with u and v swapped. More... | |
void | swapuv () |
Swap the u and v resolution values in place. More... | |
void | clamp (const Res &r) |
Clamp the resolution value against the given value. More... | |
int | ntilesu (Res tileres) const |
Determine the number of tiles in the u direction for the given tile res. More... | |
int | ntilesv (Res tileres) const |
Determine the number of tiles in the v direction for the given tile res. More... | |
int | ntiles (Res tileres) const |
Determine the total number of tiles for the given tile res. More... | |
Public Attributes | |
int8_t | ulog2 |
log base 2 of u resolution, in texels More... | |
int8_t | vlog2 |
log base 2 of v resolution, in texels More... | |
Pixel resolution of a given texture.
The resolution is stored in log form: ulog2 = log2(ures), vlog2 = log2(vres)). Note: negative ulog2 or vlog2 values are reserved for internal use.
Definition at line 161 of file Ptexture.h.
|
inline |
Default constructor, sets res to 0 (1x1 texel).
Definition at line 166 of file Ptexture.h.
Referenced by swappeduv().
|
inline |
Constructor.
Definition at line 169 of file Ptexture.h.
|
inline |
Constructor from 16-bit integer.
Definition at line 172 of file Ptexture.h.
|
inline |
Clamp the resolution value against the given value.
Definition at line 208 of file Ptexture.h.
|
inline |
Determine the total number of tiles for the given tile res.
Definition at line 220 of file Ptexture.h.
Referenced by PtexReader::TiledFaceBase::reduce().
|
inline |
Determine the number of tiles in the u direction for the given tile res.
Definition at line 214 of file Ptexture.h.
Referenced by PtexReader::getData(), and PtexWriterBase::writeFaceData().
|
inline |
Determine the number of tiles in the v direction for the given tile res.
Definition at line 217 of file Ptexture.h.
References vlog2.
Referenced by PtexReader::getData(), and PtexWriterBase::writeFaceData().
|
inline |
Comparison operator.
Definition at line 196 of file Ptexture.h.
|
inline |
|
inline |
True if res is >= given res in both u and v directions.
Definition at line 199 of file Ptexture.h.
|
inline |
Total size of specified texture in texels (u * v).
Definition at line 190 of file Ptexture.h.
Referenced by PtexWriterBase::calcTileRes(), PtexMainWriter::finish(), PtexMainWriter::generateReductions(), PtexReader::PackedFace::reduce(), PtexReader::TiledFaceBase::reduce(), PtexMainWriter::writeFace(), PtexIncrWriter::writeFace(), and PtexWriterBase::writeReduction().
|
inline |
Get value of resolution with u and v swapped.
Definition at line 202 of file Ptexture.h.
References Res().
|
inline |
Swap the u and v resolution values in place.
Definition at line 205 of file Ptexture.h.
Referenced by PtexReader::blendFaces(), and PtexSeparableKernel::swapUV().
|
inline |
U resolution in texels.
Definition at line 178 of file Ptexture.h.
Referenced by PtexSeparableKernel::adjustMainToSubface(), PtexSeparableKernel::adjustSubfaceToMain(), PtexSeparableFilter::apply(), PtexTriangleFilter::applyIter(), PtexReader::blendFaces(), PtexTriangleFilter::buildKernel(), PtexSeparableKernel::flipU(), PtexMainWriter::generateReductions(), PtexReader::getData(), PtexTriangleKernel::getIterators(), PtexSeparableKernel::mergeR(), PtexReader::readFaceData(), PtexReader::PackedFace::reduce(), PtexReader::TiledFaceBase::reduce(), PtexSeparableFilter::splitAndApply(), PtexSeparableKernel::splitL(), PtexSeparableKernel::splitR(), PtexMainWriter::storeConstValue(), PtexMainWriter::writeFace(), PtexIncrWriter::writeFace(), PtexWriterBase::writeFaceBlock(), PtexWriterBase::writeFaceData(), and PtexWriterBase::writeReduction().
|
inline |
V resolution in texels.
Definition at line 181 of file Ptexture.h.
Referenced by PtexSeparableKernel::adjustMainToSubface(), PtexSeparableKernel::adjustSubfaceToMain(), PtexSeparableFilter::apply(), PtexTriangleFilter::applyIter(), PtexReader::blendFaces(), PtexSeparableKernel::flipV(), PtexReader::getData(), PtexSeparableKernel::mergeT(), PtexReader::readFaceData(), PtexReader::TiledFaceBase::reduce(), PtexSeparableFilter::splitAndApply(), PtexSeparableKernel::splitB(), PtexSeparableKernel::splitT(), PtexMainWriter::storeConstValue(), PtexMainWriter::writeFace(), PtexIncrWriter::writeFace(), PtexWriterBase::writeFaceBlock(), PtexWriterBase::writeFaceData(), and PtexWriterBase::writeReduction().
|
inline |
Resolution as a single 16-bit integer value.
Definition at line 184 of file Ptexture.h.
Referenced by operator==().
|
inline |
Resolution as a single 16-bit integer value.
Definition at line 187 of file Ptexture.h.
int8_t Ptex::Res::ulog2 |
log base 2 of u resolution, in texels
Definition at line 162 of file Ptexture.h.
Referenced by PtexSeparableKernel::adjustMainToSubface(), PtexSeparableKernel::adjustSubfaceToMain(), PtexReader::blendFaces(), PtexWriterBase::calcTileRes(), clamp(), PtexTriangleKernel::clampRes(), PtexSeparableKernel::downresU(), PtexSeparableFilter::eval(), PtexMainWriter::generateReductions(), PtexReader::getData(), PtexReader::getRes(), PtexSeparableKernel::makeSymmetric(), PtexReader::TiledFaceBase::reduce(), PtexWriterBase::storeFaceInfo(), PtexSeparableKernel::upresU(), PtexMainWriter::writeFace(), and PtexWriterBase::writeReduction().
int8_t Ptex::Res::vlog2 |
log base 2 of v resolution, in texels
Definition at line 163 of file Ptexture.h.
Referenced by PtexSeparableKernel::adjustMainToSubface(), PtexSeparableKernel::adjustSubfaceToMain(), PtexReader::blendFaces(), PtexWriterBase::calcTileRes(), clamp(), PtexTriangleKernel::clampRes(), PtexSeparableKernel::downresV(), PtexSeparableFilter::eval(), PtexMainWriter::generateReductions(), PtexReader::getData(), PtexReader::getRes(), PtexSeparableKernel::makeSymmetric(), ntilesv(), PtexReader::TiledFaceBase::reduce(), PtexWriterBase::storeFaceInfo(), PtexSeparableKernel::upresV(), PtexMainWriter::writeFace(), and PtexWriterBase::writeReduction().