29 namespace detail {
class Image; }
43 EQ_API
virtual ~Image();
59 const uint32_t internalFormat );
62 EQ_API uint32_t getInternalFormat(
const Frame::Buffer buffer )
const;
75 EQ_API uint32_t getExternalFormat(
const Frame::Buffer buffer )
const;
84 EQ_API uint32_t getPixelSize(
const Frame::Buffer buffer )
const;
91 EQ_API
bool hasAlpha()
const;
104 EQ_API
void setStorageType(
const Frame::Type type );
120 EQ_API
void setPixelViewport(
const PixelViewport& pvp );
123 EQ_API
const PixelViewport& getPixelViewport()
const;
126 EQ_API
void setZoom(
const Zoom& zoom );
129 EQ_API
const Zoom& getZoom()
const;
132 EQ_API
void setContext(
const RenderContext& context );
135 EQ_API
const RenderContext& getContext()
const;
146 EQ_API
void useCompressor(
Frame::Buffer buffer, uint32_t name );
176 EQ_API
void resetPlugins();
182 EQ_API
const uint8_t* getPixelPointer(
const Frame::Buffer buffer )
186 EQ_API uint8_t* getPixelPointer(
const Frame::Buffer buffer );
189 EQ_API uint32_t getPixelDataSize(
const Frame::Buffer buffer )
const;
201 EQ_API
bool hasPixelData(
const Frame::Buffer buffer )
const;
207 EQ_API
bool hasAsyncReadback(
const Frame::Buffer buffer )
const;
213 EQ_API
bool hasAsyncReadback()
const;
248 EQ_API
void setAlphaUsage(
const bool enabled );
251 EQ_API
bool getAlphaUsage()
const;
266 const float quality );
282 EQ_API
bool hasTextureData(
const Frame::Buffer buffer )
const;
298 EQ_API
bool startReadback(
const uint32_t buffers,
const PixelViewport& pvp,
299 const RenderContext& context,
const Zoom& zoom,
305 const GLEWContext* glewContext );
313 EQ_API
void finishReadback(
const GLEWContext* glewContext );
330 const Vector2i& position,
341 EQ_API
bool writeImage(
const std::string& filename,
345 EQ_API
bool writeImages(
const std::string& filenameTemplate )
const;
348 EQ_API
bool readImage(
const std::string& filename,
352 void setOffset( int32_t x, int32_t y );
361 EQ_API std::vector< uint32_t >
368 EQ_API std::vector< uint32_t >
369 findTransferers(
const Frame::Buffer buffer,
const GLEWContext* gl )
374 const uint32_t name );
379 const GLEWContext* glewContext );
382 EQ_API uint32_t getDownloaderName(
const Frame::Buffer buffer )
const;
386 Image(
const Image& ) =
delete;
387 Image& operator=(
const Image& ) =
delete;
388 detail::Image*
const _impl;
391 const void* _getBufferKey(
const Frame::Buffer buffer )
const;
394 const void* _getCompressorKey(
const Frame::Buffer buffer )
const;
407 const uint32_t externalFormat,
408 const uint32_t pixelSize,
409 const bool hasAlpha );
411 bool _readback(
const Frame::Buffer buffer,
const Zoom& zoom,
414 bool _startReadback(
const Frame::Buffer buffer,
const Zoom& zoom,
417 void _finishReadback(
const Frame::Buffer buffer,
const GLEWContext* );
419 bool _writeImage(
const std::string& filename,
const Frame::Buffer buffer,
420 const unsigned char* data )
const;
The pixel data structure manages the pixel information for images.
Buffer
Components of the frame are to be used during readback and assembly.
A wrapper around OpenGL textures.
Type
The storage type for pixel data.
The Equalizer client library.
A facility class to manage OpenGL objects across shared contexts.