/*********************************************************************************************************************** * * 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 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