Files
2025-12-15 23:22:33 +08:00

64 lines
1.7 KiB
C++

/***********************************************************************************************************************
*
* Copyright (c) 2010 - 2025 by Tech Soft 3D, Inc.
* The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., and considered a trade secret
* as defined under civil and criminal statutes. Tech Soft 3D shall pursue its civil and criminal remedies in the event
* of unauthorized use or misappropriation of its trade secrets. Use of this information by anyone other than authorized
* employees of Tech Soft 3D, Inc. is granted only under a written non-disclosure agreement, expressly prescribing the
* scope and manner of such use.
*
***********************************************************************************************************************/
#ifndef PROPERTIES_H
#define PROPERTIES_H
#include <glm/vec4.hpp>
namespace utils
{
namespace properties
{
constexpr unsigned int screen_width = 1200;
constexpr unsigned int screen_height = 800;
namespace style
{
constexpr glm::vec4 default_rgba = glm::vec4(0.7f);
struct Material {
glm::vec4 ambient;
glm::vec4 diffuse;
glm::vec4 specular;
glm::vec4 emissive;
float shininess;
};
constexpr Material default_material = {
glm::vec4(0.25f, 0.25f, 0.25f, 1.f),
glm::vec4(0.40f, 0.40f, 0.40f, 1.f),
glm::vec4(0.5f, 0.5f, 0.5f, 1.f),
glm::vec4(0.f, 0.f, 0.f, 1.f),
5.f
};
struct Graphics
{
enum Type
{
UNDEF = 0,
RGBA,
MATERIAL,
TEXTURE
};
int id = -1;
Type type = Type::UNDEF;
glm::vec4 rgba;
Material material;
bool has_transparency() const;
};
}
}
}
#endif // PROPERTIES_H