rendering improvements
This commit is contained in:
parent
789bb307d5
commit
7f46ac13fa
14 changed files with 296 additions and 179 deletions
|
|
@ -42,8 +42,9 @@ export namespace Crafter {
|
|||
Buffer
|
||||
};
|
||||
|
||||
template<std::uint8_t Alignment = 0>
|
||||
struct RenderElement2DScalingOwning {
|
||||
std::vector<Vector<std::uint8_t, 4>> scalingBuffer;
|
||||
std::vector<Vector<std::uint8_t, 4, Alignment>> scalingBuffer;
|
||||
std::uint32_t bufferWidth;
|
||||
std::uint32_t bufferHeight;
|
||||
bool bufferUpdated = true;
|
||||
|
|
@ -53,13 +54,14 @@ export namespace Crafter {
|
|||
}
|
||||
};
|
||||
|
||||
template<std::uint8_t Alignment = 0>
|
||||
struct RenderElement2DScalingNonOwning {
|
||||
Vector<std::uint8_t, 4>* scalingBuffer;
|
||||
Vector<std::uint8_t, 4, Alignment>* scalingBuffer;
|
||||
std::uint32_t bufferWidth;
|
||||
std::uint32_t bufferHeight;
|
||||
bool bufferUpdated = true;
|
||||
RenderElement2DScalingNonOwning() = default;
|
||||
RenderElement2DScalingNonOwning(Vector<std::uint8_t, 4>* scalingBuffer, std::uint32_t bufferWidth, std::uint32_t bufferHeight) : scalingBuffer(scalingBuffer), bufferWidth(bufferWidth), bufferHeight(bufferHeight) {
|
||||
RenderElement2DScalingNonOwning(Vector<std::uint8_t, 4, Alignment>* scalingBuffer, std::uint32_t bufferWidth, std::uint32_t bufferHeight) : scalingBuffer(scalingBuffer), bufferWidth(bufferWidth), bufferHeight(bufferHeight) {
|
||||
|
||||
}
|
||||
};
|
||||
|
|
@ -77,13 +79,13 @@ export namespace Crafter {
|
|||
struct EmptyScalingBase {};
|
||||
struct EmptyRotatingBase {};
|
||||
|
||||
template<bool Scaling, bool Owning>
|
||||
template<bool Scaling, bool Owning, std::uint8_t Alignment = 0>
|
||||
using ScalingBase =
|
||||
std::conditional_t<
|
||||
Scaling,
|
||||
std::conditional_t<Owning,
|
||||
RenderElement2DScalingOwning,
|
||||
RenderElement2DScalingNonOwning>,
|
||||
RenderElement2DScalingOwning<Alignment>,
|
||||
RenderElement2DScalingNonOwning<Alignment>>,
|
||||
EmptyScalingBase
|
||||
>;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue