14template<
typename T, std::
size_t N>
18 "Number of pixel components exceeded allowed number");
38template<
typename T, std::
size_t N>
45 m_frame(
std::move(frame))
48template<
typename T, std::
size_t N>
55template<
typename T, std::
size_t N>
62 if constexpr(std::is_same_v<T, uint8>)
73template<
typename T, std::
size_t N>
81 const auto bufferUsage = numPixels * (
sizeof(T) * N);
83 return baseUsage + frameUsage + bufferUsage;
Definition PixelBuffer2D.h:153
virtual std::size_t estimateMemoryUsageBytes() const
Definition PixelBuffer2D.h:232
Definition TFrameBuffer2D.h:16
pixel_buffer::TPixel< float64 > fetchPixel(math::TVector2< uint32 > xy, std::size_t mipLevel) const override
Definition TFrameBuffer2D.h:49
auto getFramePixel(math::TVector2< uint32 > xy, std::size_t mipLevel) const
Directly get pixel value stored in the frame.
Definition TFrameBuffer2D.h:56
std::size_t estimateMemoryUsageBytes() const override
Definition TFrameBuffer2D.h:74
TFrameBuffer2D(TFrame< T, N > frame)
Definition TFrameBuffer2D.h:39
TPixelType< T > PixelType
Definition TFrame.h:28
Definition TArithmeticArray.h:13
Represents a 2-D vector.
Definition TVector2.h:19
T product() const
Definition TArithmeticArrayBase.ipp:358
Represent a pixel from pixel buffer.
Definition PixelBuffer2D.h:27
TVector2< std::size_t > Vector2S
Definition math_fwd.h:48
constexpr uint8 MAX_PIXEL_ELEMENTS
Definition PixelBuffer2D.h:21
The root for all renderer implementations.
Definition EEngineProject.h:6