46 EQ_API Image(
const Image&);
49 EQ_API Image& operator=(Image&& rhs);
52 EQ_API
virtual ~Image();
68 const uint32_t internalFormat);
71 EQ_API uint32_t getInternalFormat(
const Frame::Buffer buffer)
const;
84 EQ_API uint32_t getExternalFormat(
const Frame::Buffer buffer)
const;
93 EQ_API uint32_t getPixelSize(
const Frame::Buffer buffer)
const;
100 EQ_API
bool hasAlpha()
const;
113 EQ_API
void setStorageType(
const Frame::Type type);
129 EQ_API
void setPixelViewport(
const PixelViewport& pvp);
132 EQ_API
const PixelViewport& getPixelViewport()
const;
135 EQ_API
void setZoom(
const Zoom& zoom);
138 EQ_API
const Zoom& getZoom()
const;
141 EQ_API
void setContext(
const RenderContext& context);
144 EQ_API
const RenderContext& getContext()
const;
155 EQ_API
void useCompressor(
Frame::Buffer buffer, uint32_t name);
185 EQ_API
void resetPlugins();
191 EQ_API
const uint8_t* getPixelPointer(
const Frame::Buffer buffer)
const;
197 EQ_API uint32_t getPixelDataSize(
const Frame::Buffer buffer)
const;
215 EQ_API
bool hasAsyncReadback(
const Frame::Buffer buffer)
const;
221 EQ_API
bool hasAsyncReadback()
const;
255 EQ_API
void setAlphaUsage(
const bool enabled);
258 EQ_API
bool getAlphaUsage()
const;
272 EQ_API
void setQuality(
const Frame::Buffer buffer,
const float quality);
287 EQ_API
bool hasTextureData(
const Frame::Buffer buffer)
const;
304 const PixelViewport& pvp,
305 const RenderContext& context,
const Zoom& zoom,
310 const GLEWContext* glewContext);
318 EQ_API
void finishReadback(
const GLEWContext* glewContext);
335 const Vector2i& position,
346 EQ_API
bool writeImage(
const std::string& filename,
350 EQ_API
bool writeImages(
const std::string& filenameTemplate)
const;
353 EQ_API
bool readImage(
const std::string& filename,
357 void setOffset(int32_t x, int32_t y);
366 EQ_API std::vector<uint32_t> findCompressors(
373 EQ_API std::vector<uint32_t> findTransferers(
const Frame::Buffer buffer,
374 const GLEWContext* gl)
const;
378 const uint32_t name);
381 EQ_API
bool allocDownloader(
const Frame::Buffer buffer,
const uint32_t name,
382 const GLEWContext* glewContext);
385 EQ_API uint32_t getDownloaderName(
const Frame::Buffer buffer)
const;
389 Image& operator=(
const Image&) =
delete;
390 detail::Image* _impl;
393 friend co::DataOStream&
operator<<(co::DataOStream& os,
const Image&);
395 friend co::DataIStream&
operator>>(co::DataIStream& is, Image&);
401 const void* _getCompressorKey(
const Frame::Buffer buffer)
const;
414 const uint32_t externalFormat,
415 const uint32_t pixelSize,
const bool hasAlpha);
420 bool _startReadback(
const Frame::Buffer buffer,
const Zoom& zoom,
423 void _finishReadback(
const Frame::Buffer buffer,
const GLEWContext*);
425 bool _writeImage(
const std::string& filename,
const Frame::Buffer buffer,
426 const unsigned char* data)
const;
EQ_API std::ostream & operator<<(std::ostream &os, const EventICommand &command)
Print the event command to the given output stream.
The pixel data structure manages the pixel information for images.
A wrapper around OpenGL textures.
Type
The storage type for pixel data.
The Equalizer client library.
Buffer
Components of the frame are to be used during readback and assembly.
A facility class to manage OpenGL objects across shared contexts.
EQ_API co::DataIStream & operator>>(co::DataIStream &is, Image &)
eq::Image deserializer.