40 lines
894 B
C++
40 lines
894 B
C++
#pragma once
|
|
|
|
#include "dvc_config.h"
|
|
#include "dvc_pre_declare.h"
|
|
#include "math/dvc_vector2.h"
|
|
#include "math/dvc_vector4.h"
|
|
|
|
DV_CORE_BEGIN_NAMESPACE
|
|
|
|
class DV_CORE_API Image
|
|
{
|
|
public:
|
|
int32_t getID(void) const { return m_id; }
|
|
int32_t getWidth(void) const { return m_width; }
|
|
int32_t getHeight(void) const { return m_height; }
|
|
PixelFormat getPixelFormat(void) const { return m_pixelFormat; }
|
|
DeviceBufferConstPtr getPixelBuffer(void) const { return m_pixelBuffer; }
|
|
|
|
fVector4 getPixel(int32_t u, int32_t v) const;
|
|
|
|
void clear();
|
|
|
|
bool initWithPixelData(Device& device, int32_t width, int32_t height,
|
|
PixelFormat pixelFormat, const uint8_t* data, size_t dataSize);
|
|
|
|
protected:
|
|
int32_t m_id;
|
|
int32_t m_width;
|
|
int32_t m_height;
|
|
PixelFormat m_pixelFormat;
|
|
size_t m_pixelByteSize;
|
|
DeviceBufferPtr m_pixelBuffer;
|
|
|
|
public:
|
|
Image(int32_t id);
|
|
~Image();
|
|
};
|
|
|
|
DV_CORE_END_NAMESPACE
|