64 lines
1.7 KiB
C++
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
|