tec
Namespaces
Name |
---|
tec::manipulator |
tec::networking |
tec::system |
tec::user |
tec::util |
tec::vertex |
Classes
Types
Name | |
---|---|
enum int | PATH_OPEN_FLAGS { FS_DEFAULT = 0, FS_READONLY = 0, FS_READWRITE = 1, FS_CREATE = 2, FS_APPEND = 4} |
enum | ENGINE_ENTITIES { MANIPULATOR = 1} |
enum class std::uint32_t | ImageColorMode { UNKNOWN_MODE = 0xffffffffu, MODEFLAG_COLOR = 2, MODEFLAG_ALPHA = 4, MODEFLAG_GAMMA = 8, MONOCHROME = 0, MONOCHROME_A = MODEFLAG_ALPHA, COLOR_RGB = MODEFLAG_COLOR, COLOR_RGBA = MODEFLAG_COLOR |
enum class | AUDIOSOURCE_STATE { PLAYING, PAUSED, STOPPED} |
using Multiton< eid, Position * > | PositionMap |
using Multiton< eid, Orientation * > | OrientationMap |
using Multiton< eid, LuaScript * > | LuaScriptMap |
typedef Command< LuaSystem > | LuaCommand |
using Multiton< eid, CollisionBody * > | CollisionBodyMap |
typedef Multiton< std::string, std::shared_ptr< MeshFile > > | MeshMap |
typedef Multiton< std::string, std::shared_ptr< ScriptFile > > | ScriptMap |
using std::codecvt_utf8< wchar_t > | convert_utf8 |
typedef std::uint64_t | state_id_t |
typedef std::int64_t | GUID |
typedef std::int64_t | eid Global Unique ID. |
typedef std::uint32_t | tid |
typedef std::string | uid Type ID. |
typedef Command< VComputerSystem > | VComputerCommand |
typedef Multiton< std::string, std::shared_ptr< Material > > | MaterialMap |
typedef Multiton< std::string, std::shared_ptr< Shader > > | ShaderMap |
typedef Multiton< std::string, std::string > | ShaderIncludes |
typedef Multiton< std::string, std::shared_ptr< TextureObject > > | TextureMap |
typedef Multiton< eid, Renderable * > | RenderableMap |
using Multiton< eid, PointLight * > | PointLightMap |
using Multiton< eid, DirectionalLight * > | DirectionalLightMap |
typedef Multiton< eid, Animation * > | AnimationMap |
using Multiton< eid, Scale * > | ScaleMap |
typedef Command< RenderSystem > | RenderCommand |
typedef Multiton< std::string, std::shared_ptr< PixelBuffer > > | PixelBufferMap |
typedef Multiton< std::string, std::shared_ptr< VorbisStream > > | SoundMap |
typedef Multiton< eid, std::shared_ptr< VoxelVolume > > | VoxelVolumeMap |
typedef Command< VoxelVolume > | VoxelCommand |
Functions
Name | |
---|---|
ATTRIBUTE_ALIGNED16(struct ) | |
void | InvokeFileFactory(const std::string & file_name) |
template <typename T > std::shared_ptr< T > |
GetResource(const std::string & res_name) |
template <typename T > void |
AddFileFactory() |
const std::string_view | app_name("trillek" ) tec Path separator |
PATH_OPEN_FLAGS | **[operator |
PATH_OPEN_FLAGS | operator+(PATH_OPEN_FLAGS a, PATH_OPEN_FLAGS b) |
Path | operator/(const Path & lhs, const Path & rhs) Append a subdirectory or file. |
template <size_t N> Path |
operator/(const Path & lhs, const char(&) cstr[N]) Append a subdirectory or file. |
Path | operator/(const Path & lhs, const std::string_view strv) Append a subdirectory or file. |
Path | operator/(const Path & lhs, std::string & str) Append a subdirectory or file. |
Path | operator/(const Path & lhs, const std::wstring & wstr) Append a subdirectory or file. |
template <typename charT ,typename traits > std::basic_ostream< charT, traits > & |
operator<<(std::basic_ostream< charT, traits > & os, const Path & path) Output to a stream. |
std::ostream & | operator<<(std::ostream & os, const Path & path) |
template <typename charT ,typename traits > std::basic_istream< charT, traits > & |
operator>>(std::basic_istream< charT, traits > & is, Path & path) Input from a stream. |
int | LuaSystemPanicHandler(sol::optional< std::string > maybe_msg) |
glm::vec3 | GetRayDirection(float mouse_x, float mouse_y, float screen_width, float screen_height, glm::mat4 view, glm::mat4 projection) |
std::string | LoadAsString(const Path & fname) |
bool | SaveFromString(const Path & fname, std::string contents) |
bool | LoadProtoPack(const Path & fname, proto::Entity & entity) |
void | ProtoLoadEntity(const Path & fname) |
void | ProtoLoad(std::string filename) |
std::string | utf8_encode(const std::wstring & wstr) Convert a wide Unicode string to an UTF8 string. |
std::wstring | utf8_decode(const std::string & str) Convert an UTF8 string to a wide Unicode String. |
std::vector< std::string > | SplitString(std::string args, std::string deliminator) |
template <class T > bool |
IsBetween(T value, T lower, T upper) User ID. |
template <class TYPE > constexpr const char * |
GetTypeName(void ) Returns the name of an component on compile time. |
template <class TYPE > constexpr tid |
GetTypeID(void ) Returns the TypeID of a component on compile time. |
template <class TYPE > constexpr const char * |
GetTypeEXT(void ) Returns the name of a resource type on Compile time. |
MAKE_IDTYPE(Renderable ) | |
MAKE_IDTYPE(Position ) | |
MAKE_IDTYPE(Orientation ) | |
MAKE_IDTYPE(View ) | |
MAKE_IDTYPE(Animation ) | |
MAKE_IDTYPE(Scale ) | |
MAKE_IDTYPE(CollisionBody ) | |
MAKE_IDTYPE(Velocity ) | |
MAKE_IDTYPE(AudioSource ) | |
MAKE_IDTYPE(PointLight ) | |
MAKE_IDTYPE(DirectionalLight ) | |
MAKE_IDTYPE(Computer ) | |
MAKE_IDTYPE(VoxelVolume ) | |
MAKE_IDTYPE(LuaScript ) | |
MAKE_EXTTYPE(MD5Mesh , "md5mesh" ) | |
MAKE_EXTTYPE(MD5Anim , "md5anim" ) | |
MAKE_EXTTYPE(OBJ , "obj" ) | |
MAKE_EXTTYPE(VorbisStream , "ogg" ) | |
MAKE_EXTTYPE(ScriptFile , "lua" ) | |
void | CreateManipulatorEntity() |
void | CreateEngineEntities() |
void | RegisterFileFactories() |
void | BuildTestVoxelVolume() |
Renderable * | GetRenderable() |
void | ErrorCallback(int error_no, const char * description) |
GLFWmonitor * | get_current_monitor(GLFWwindow * window) |
void | ActivateTextureUnit(const GLuint unit, const GLuint texture_name) |
std::string | CleanString(std::string str) Cleans an input string by removing certain grouping characters. |
void | ComputeWNeg(glm::quat & q) Compute the quaternion's W component on interval [-1, 0], MD5 style. |
MD5Mesh::Joint | ParseJoint(std::stringstream & ss) Parses a joint line. |
MD5Mesh::Vertex | ParseVertex(std::stringstream & ss) Parses a vertex line. |
MD5Mesh::Triangle | ParseTriangle(std::stringstream & ss) Parses a triangle line. |
MD5Mesh::Weight | ParsesWeight(std::stringstream & ss) Parses a weight line. |
std::size_t | find_first_eol(std::string_view buffer, std::size_t offset =0) |
uint32_t | BytesForBitSize(uint32_t bits) |
std::string | VorbisErrorToString(int error) |
void | alCheckError() |
eid | GetNextEntityId() |
Attributes
Name | |
---|---|
const glm::vec3 | FORWARD_VECTOR |
const glm::vec3 | UP_VECTOR |
const glm::vec3 | RIGHT_VECTOR |
std::unordered_map< std::string, std::function< void(std::string)> > | file_factories |
const char | WIN_PATH_CHAR |
constexpr std::string_view | PATH_NATIVE_SEPARATOR |
constexpr std::string_view | PATH_SEPARATOR OS File system path separator. |
double | UPDATE_RATE |
double | TICKS_PER_SECOND |
const std::unordered_map< tid, const char * > | TypeName Maps on runtime the Type ID with the name. |
const std::map< std::string_view, GLint > | engine_constants |
char[64] | connect_username |
std::string | inifilename |
std::string | logfilename |
Detailed Description
Lua system
Ring buffer implementation
String handling stuff
Abstract base class for GUI windows
Types Documentation
enum PATH_OPEN_FLAGS
Enumerator | Value | Description |
---|---|---|
FS_DEFAULT | 0 | |
FS_READONLY | 0 | |
FS_READWRITE | 1 | |
FS_CREATE | 2 | |
FS_APPEND | 4 |
enum ENGINE_ENTITIES
Enumerator | Value | Description |
---|---|---|
MANIPULATOR | 1 |
enum ImageColorMode
Enumerator | Value | Description |
---|---|---|
UNKNOWN_MODE | 0xffffffffu | |
MODEFLAG_COLOR | 2 | |
MODEFLAG_ALPHA | 4 | |
MODEFLAG_GAMMA | 8 | |
MONOCHROME | 0 | |
MONOCHROME_A | MODEFLAG_ALPHA | |
COLOR_RGB | MODEFLAG_COLOR | |
COLOR_RGBA | MODEFLAG_COLOR | MODEFLAG_ALPHA |
GAMMA_RGB | MODEFLAG_COLOR | MODEFLAG_GAMMA |
GAMMA_RGBA | MODEFLAG_COLOR | MODEFLAG_GAMMA |
enum AUDIOSOURCE_STATE
Enumerator | Value | Description |
---|---|---|
PLAYING | ||
PAUSED | ||
STOPPED |
using PositionMap
using tec::PositionMap = typedef Multiton<eid, Position*>;
using OrientationMap
using tec::OrientationMap = typedef Multiton<eid, Orientation*>;
using LuaScriptMap
using tec::LuaScriptMap = typedef Multiton<eid, LuaScript*>;
typedef LuaCommand
typedef Command<LuaSystem> tec::LuaCommand;
using CollisionBodyMap
using tec::CollisionBodyMap = typedef Multiton<eid, CollisionBody*>;
typedef MeshMap
typedef Multiton<std::string, std::shared_ptr<MeshFile> > tec::MeshMap;
typedef ScriptMap
typedef Multiton<std::string, std::shared_ptr<ScriptFile> > tec::ScriptMap;
using convert_utf8
using tec::convert_utf8 = typedef std::codecvt_utf8<wchar_t>;
typedef state_id_t
typedef std::uint64_t tec::state_id_t;
typedef GUID
typedef std::int64_t tec::GUID;
typedef eid
typedef std::int64_t tec::eid;
Global Unique ID.
typedef tid
typedef std::uint32_t tec::tid;
typedef uid
typedef std::string tec::uid;
Type ID.
typedef VComputerCommand
typedef Command<VComputerSystem> tec::VComputerCommand;
typedef MaterialMap
typedef Multiton<std::string, std::shared_ptr<Material> > tec::MaterialMap;
typedef ShaderMap
typedef Multiton<std::string, std::shared_ptr<Shader> > tec::ShaderMap;
typedef ShaderIncludes
typedef Multiton<std::string, std::string> tec::ShaderIncludes;
typedef TextureMap
typedef Multiton<std::string, std::shared_ptr<TextureObject> > tec::TextureMap;
typedef RenderableMap
typedef Multiton< eid, Renderable * > tec::RenderableMap;
using PointLightMap
using tec::PointLightMap = typedef Multiton<eid, PointLight*>;
using DirectionalLightMap
using tec::DirectionalLightMap = typedef Multiton<eid, DirectionalLight*>;
typedef AnimationMap
typedef Multiton< std::string, std::shared_ptr< MD5Anim > > tec::AnimationMap;
using ScaleMap
using tec::ScaleMap = typedef Multiton<eid, Scale*>;
typedef RenderCommand
typedef Command<RenderSystem> tec::RenderCommand;
typedef PixelBufferMap
typedef Multiton<std::string, std::shared_ptr<PixelBuffer> > tec::PixelBufferMap;
typedef SoundMap
typedef Multiton< std::string, std::shared_ptr< VorbisStream > > tec::SoundMap;
typedef VoxelVolumeMap
typedef Multiton<eid, std::shared_ptr<VoxelVolume> > tec::VoxelVolumeMap;
typedef VoxelCommand
typedef Command<VoxelVolume> tec::VoxelCommand;
Functions Documentation
function ATTRIBUTE_ALIGNED16
ATTRIBUTE_ALIGNED16(
struct
)
function InvokeFileFactory
void InvokeFileFactory(
const std::string & file_name
)
function GetResource
template <typename T >
std::shared_ptr< T > GetResource(
const std::string & res_name
)
function AddFileFactory
template <typename T >
void AddFileFactory()
function app_name
const std::string_view app_name(
"trillek"
)
tec Path separator
function operator|
inline PATH_OPEN_FLAGS operator|(
PATH_OPEN_FLAGS a,
PATH_OPEN_FLAGS b
)
function operator+
inline PATH_OPEN_FLAGS operator+(
PATH_OPEN_FLAGS a,
PATH_OPEN_FLAGS b
)
function operator/
inline Path operator/(
const Path & lhs,
const Path & rhs
)
Append a subdirectory or file.
function operator/
template <size_t N>
inline Path operator/(
const Path & lhs,
const char(&) cstr[N]
)
Append a subdirectory or file.
function operator/
inline Path operator/(
const Path & lhs,
const std::string_view strv
)
Append a subdirectory or file.
function operator/
inline Path operator/(
const Path & lhs,
std::string & str
)
Append a subdirectory or file.
function operator/
inline Path operator/(
const Path & lhs,
const std::wstring & wstr
)
Append a subdirectory or file.
function operator<<
template <typename charT ,
typename traits >
std::basic_ostream< charT, traits > & operator<<(
std::basic_ostream< charT, traits > & os,
const Path & path
)
Output to a stream.
function operator<<
inline std::ostream & operator<<(
std::ostream & os,
const Path & path
)
function operator>>
template <typename charT ,
typename traits >
std::basic_istream< charT, traits > & operator>>(
std::basic_istream< charT, traits > & is,
Path & path
)
Input from a stream.
function LuaSystemPanicHandler
static int LuaSystemPanicHandler(
sol::optional< std::string > maybe_msg
)
function GetRayDirection
glm::vec3 GetRayDirection(
float mouse_x,
float mouse_y,
float screen_width,
float screen_height,
glm::mat4 view,
glm::mat4 projection
)
function LoadAsString
std::string LoadAsString(
const Path & fname
)
function SaveFromString
bool SaveFromString(
const Path & fname,
std::string contents
)
function LoadProtoPack
bool LoadProtoPack(
const Path & fname,
proto::Entity & entity
)
function ProtoLoadEntity
void ProtoLoadEntity(
const Path & fname
)
function ProtoLoad
void ProtoLoad(
std::string filename
)
function utf8_encode
std::string utf8_encode(
const std::wstring & wstr
)
Convert a wide Unicode string to an UTF8 string.
Parameters:
- wstr wide string on unicode. On Windows -> UTF16. On Linux -> UTF32
Return: std::string with UTF-8 encoding. Empty string if fails
function utf8_decode
std::wstring utf8_decode(
const std::string & str
)
Convert an UTF8 string to a wide Unicode String.
Parameters:
- str UTF8 string
Return: std::wstring on unicode system encoding. Empty string if fails
function SplitString
std::vector< std::string > SplitString(
std::string args,
std::string deliminator
)
function IsBetween
template <class T >
bool IsBetween(
T value,
T lower,
T upper
)
User ID.
function GetTypeName
template <class TYPE >
constexpr const char * GetTypeName(
void
)
Returns the name of an component on compile time.
function GetTypeID
template <class TYPE >
constexpr tid GetTypeID(
void
)
Returns the TypeID of a component on compile time.
function GetTypeEXT
template <class TYPE >
constexpr const char * GetTypeEXT(
void
)
Returns the name of a resource type on Compile time.
function MAKE_IDTYPE
MAKE_IDTYPE(
Renderable
)
function MAKE_IDTYPE
MAKE_IDTYPE(
Position
)
function MAKE_IDTYPE
MAKE_IDTYPE(
Orientation
)
function MAKE_IDTYPE
MAKE_IDTYPE(
View
)
function MAKE_IDTYPE
MAKE_IDTYPE(
Animation
)
function MAKE_IDTYPE
MAKE_IDTYPE(
Scale
)
function MAKE_IDTYPE
MAKE_IDTYPE(
CollisionBody
)
function MAKE_IDTYPE
MAKE_IDTYPE(
Velocity
)
function MAKE_IDTYPE
MAKE_IDTYPE(
AudioSource
)
function MAKE_IDTYPE
MAKE_IDTYPE(
PointLight
)
function MAKE_IDTYPE
MAKE_IDTYPE(
DirectionalLight
)
function MAKE_IDTYPE
MAKE_IDTYPE(
Computer
)
function MAKE_IDTYPE
MAKE_IDTYPE(
VoxelVolume
)
function MAKE_IDTYPE
MAKE_IDTYPE(
LuaScript
)
function MAKE_EXTTYPE
MAKE_EXTTYPE(
MD5Mesh ,
"md5mesh"
)
function MAKE_EXTTYPE
MAKE_EXTTYPE(
MD5Anim ,
"md5anim"
)
function MAKE_EXTTYPE
MAKE_EXTTYPE(
OBJ ,
"obj"
)
function MAKE_EXTTYPE
MAKE_EXTTYPE(
VorbisStream ,
"ogg"
)
function MAKE_EXTTYPE
MAKE_EXTTYPE(
ScriptFile ,
"lua"
)
function CreateManipulatorEntity
void CreateManipulatorEntity()
function CreateEngineEntities
void CreateEngineEntities()
function RegisterFileFactories
void RegisterFileFactories()
function BuildTestVoxelVolume
void BuildTestVoxelVolume()
function GetRenderable
Renderable * GetRenderable()
function ErrorCallback
static void ErrorCallback(
int error_no,
const char * description
)
function get_current_monitor
GLFWmonitor * get_current_monitor(
GLFWwindow * window
)
function ActivateTextureUnit
void ActivateTextureUnit(
const GLuint unit,
const GLuint texture_name
)
function CleanString
std::string CleanString(
std::string str
)
Cleans an input string by removing certain grouping characters.
Parameters:
- std::string str The string to clean.
Return: The cleaned string
These characters include ", ', (, and ).
function ComputeWNeg
void ComputeWNeg(
glm::quat & q
)
Compute the quaternion's W component on interval [-1, 0], MD5 style.
Return: void
function ParseJoint
MD5Mesh::Joint ParseJoint(
std::stringstream & ss
)
Parses a joint line.
Parameters:
- std::stringstream& ss The stream that contains the joint to parse.
Return: The parsed joint or a default one if the parsing failed.
joints { "name" parent(pos.x pos.y pos.z) (orient.x orient.y orient.z) ... }
function ParseVertex
MD5Mesh::Vertex ParseVertex(
std::stringstream & ss
)
Parses a vertex line.
Parameters:
- std::stringstream& ss The stream that contains the vertex to parse.
Return: The parsed vertex or a default one if the parsing failed.
vert vertIndex ( s t ) startWeight countWeight
function ParseTriangle
MD5Mesh::Triangle ParseTriangle(
std::stringstream & ss
)
Parses a triangle line.
Parameters:
- std::stringstream& ss The stream that contains the triangle to parse.
Return: The parsed triangle or a default one if the parsing failed.
tri triIndex vertIndex[0] vertIndex[1] vertIndex[2]
function ParsesWeight
MD5Mesh::Weight ParsesWeight(
std::stringstream & ss
)
Parses a weight line.
Parameters:
- std::stringstream& ss The stream that contains the weight to parse.
Return: The parsed weight or a default one if the parsing failed.
weight weightIndex joint bias ( pos.x pos.y pos.z )
function find_first_eol
std::size_t find_first_eol(
std::string_view buffer,
std::size_t offset =0
)
function BytesForBitSize
static uint32_t BytesForBitSize(
uint32_t bits
)
function VorbisErrorToString
inline std::string VorbisErrorToString(
int error
)
function alCheckError
inline void alCheckError()
function GetNextEntityId
eid GetNextEntityId()
Attributes Documentation
variable FORWARD_VECTOR
static const glm::vec3 FORWARD_VECTOR = {0.0f, 0.0f, -1.0f};
variable UP_VECTOR
static const glm::vec3 UP_VECTOR = {0.0f, 1.0f, 0.0f};
variable RIGHT_VECTOR
static const glm::vec3 RIGHT_VECTOR = {1.0f, 0.0f, 0.0f};
variable file_factories
std::unordered_map< std::string, std::function< void(std::string)> > file_factories;
variable WIN_PATH_CHAR
const char WIN_PATH_CHAR = '\\';
variable PATH_NATIVE_SEPARATOR
constexpr std::string_view PATH_NATIVE_SEPARATOR = "/";
variable PATH_SEPARATOR
constexpr std::string_view PATH_SEPARATOR = "/";
OS File system path separator.
variable UPDATE_RATE
double UPDATE_RATE = 1.0 / 8.0;
variable TICKS_PER_SECOND
double TICKS_PER_SECOND = 60.0 * UPDATE_RATE;
variable TypeName
const std::unordered_map< tid, const char * > TypeName = {
MAKE_MAPPAIR(void),
MAKE_MAPPAIR(Renderable),
MAKE_MAPPAIR(Position),
MAKE_MAPPAIR(Orientation),
MAKE_MAPPAIR(View),
MAKE_MAPPAIR(Animation),
MAKE_MAPPAIR(Scale),
MAKE_MAPPAIR(CollisionBody),
MAKE_MAPPAIR(Velocity),
MAKE_MAPPAIR(AudioSource),
MAKE_MAPPAIR(PointLight),
MAKE_MAPPAIR(DirectionalLight),
MAKE_MAPPAIR(VoxelVolume),
MAKE_MAPPAIR(Computer),
MAKE_MAPPAIR(LuaScript)};
Maps on runtime the Type ID with the name.
variable engine_constants
static const std::map< std::string_view, GLint > engine_constants {
{"gCompositeMap", (GLint)GBuffer::TEXTURE_TYPE::TEXTURE_TYPE_LAST},
{"gPositionMap", (GLint)GBuffer::TEXTURE_TYPE::POSITION},
{"gNormalMap", (GLint)GBuffer::TEXTURE_TYPE::NORMAL},
{"gColorMap", (GLint)GBuffer::TEXTURE_TYPE::DIFFUSE},
{"gEmissionMap", (GLint)GBuffer::TEXTURE_TYPE::EMISSION},
{"gDepthMap", (GLint)GBuffer::DEPTH_TYPE::DEPTH},
{"mColorMap", 0},
{"mSPMap", 1},
{"mNormalMap", 2},
{"mMap0", 0},
{"mMap1", 1},
{"mMap2", 2},
{"mMap3", 3},
};
variable connect_username
static char[64] connect_username {""};
variable inifilename
std::string inifilename;
variable logfilename
std::string logfilename;
Updated on 2022-07-24 at 19:27:35 +0000