3#ifndef GDK_GRAPHICS_LIMITS_H
4#define GDK_GRAPHICS_LIMITS_H
9namespace gdk::graphics {
14 static constexpr std::size_t
UNRESTRICTED = std::numeric_limits<std::size_t>::max();
45 [[nodiscard]]
bool operator==(
const limits &)
const =
default;
50 const auto least = [](
const std::size_t aX,
const std::size_t aY) {
return aX < aY ? aX : aY; };
used to (optionally) enforce limits on graphical types used across graphics apis
Definition limits.h:12
static constexpr std::size_t UNRESTRICTED
no limit at all
Definition limits.h:14
std::size_t vertex_texture_units
samplers a vertex shader may declare (GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS)
Definition limits.h:37
std::size_t vertex_uniform_vectors
uniform vectors a vertex shader may declare (GL_MAX_VERTEX_UNIFORM_VECTORS)
Definition limits.h:28
std::size_t fragment_uniform_vectors
uniform vectors a fragment shader may declare (GL_MAX_FRAGMENT_UNIFORM_VECTORS)
Definition limits.h:31
std::size_t varying_vectors
varying vectors between the stages (GL_MAX_VARYING_VECTORS)
Definition limits.h:43
bool non_power_of_two_textures
whether a texture may be other than a power of two wide and tall with any filter and wrapping
Definition limits.h:25
std::size_t vertex_attributes
attribute vectors a vertex shader, or a model, may have (GL_MAX_VERTEX_ATTRIBS)
Definition limits.h:40
std::size_t texture_size
the widest and tallest a texture may be, in texels (GL_MAX_TEXTURE_SIZE)
Definition limits.h:17
std::size_t texture_units
samplers a fragment shader may declare (GL_MAX_TEXTURE_IMAGE_UNITS)
Definition limits.h:34