mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-29 15:32:38 +00:00
ea08fa0a4e
Most of what got added is still unused. # Conflicts: # source/build/src/palette.cpp # Conflicts: # source/build/src/palette.cpp # Conflicts: # source/common/engine/i_interface.h
33 lines
636 B
C++
33 lines
636 B
C++
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include "tflags.h"
|
|
|
|
// A render queue is what contains all render commands.
|
|
// On Vulkan there can be several of them so this interface is needed to allow for the needed parallelism.
|
|
// On OpenGL the render state is global so all this will do is to translate the system independent calls into OpenGL API calls.
|
|
|
|
enum class ColormaskBits
|
|
{
|
|
RED = 1,
|
|
GREEN = 2,
|
|
BLUE = 4,
|
|
ALPHA = 8
|
|
};
|
|
|
|
typedef TFlags<ColormaskBits, uint8_t> Colormask;
|
|
|
|
class IRenderQueue
|
|
{
|
|
Colormask mColorMask;
|
|
|
|
|
|
Colormask GetColorMask() const
|
|
{
|
|
return mColorMask;
|
|
}
|
|
|
|
virtual void SetColorMask(Colormask mask) = 0;
|
|
|
|
|
|
};
|