33 lines
969 B
C++
33 lines
969 B
C++
// Copyright (c) 2023 Dominic Masters
|
|
//
|
|
// This software is released under the MIT License.
|
|
// https://opensource.org/licenses/MIT
|
|
|
|
#pragma once
|
|
#include "UIShader.hpp"
|
|
#include "util/macro.hpp"
|
|
|
|
#define FONT_SHADER_PARTS_MAX 8
|
|
#define FONT_SHADER_QUADS_MAX 1024
|
|
#define FONT_SHADER_TEXTURE_MAX 4
|
|
|
|
namespace Dawn {
|
|
SHADER_PARAMETER_BUFFER_DEFINE(FontShaderBuffer, \
|
|
SHADER_PARAMETER_BUFFER_COLOR_ARRAY(colors, FONT_SHADER_PARTS_MAX);
|
|
SHADER_PARAMETER_BUFFER_INTEGER_ARRAY(textures, FONT_SHADER_PARTS_MAX);
|
|
SHADER_PARAMETER_BUFFER_INTEGER_ARRAY(quadMappings, FONT_SHADER_QUADS_MAX);
|
|
);
|
|
|
|
class FontShader : public Shader {
|
|
public:
|
|
shaderparameter_t paramModel;
|
|
shaderparameter_t paramTexture0;
|
|
shaderparameter_t paramTexture1;
|
|
shaderparameter_t paramTexture2;
|
|
shaderparameter_t paramTexture3;
|
|
shaderbufferlocation_t bufferUiCanvas;
|
|
shaderbufferlocation_t bufferFont;
|
|
|
|
void compile() override;
|
|
};
|
|
} |