Shkyera Engine
Easy to use, game engine for Python
Loading...
Searching...
No Matches
shkyera Namespace Reference

Namespaces

namespace  clock
 
namespace  common
 
namespace  Logger
 
namespace  random
 
namespace  serialization
 
namespace  simd
 
namespace  style
 
namespace  utils
 

Classes

struct  AABB
 
struct  AmbientLightComponent
 
class  AmbientLightComponentUI
 
struct  AssetComponent
 
class  AssetLoader
 
struct  AssetRoot
 
class  AssetSelector
 
class  Audio
 Audio asset that manages a single audio file. More...
 
class  AudioSourceComponent
 Component that enables audio playback for an entity. More...
 
class  AudioSourceComponentUI
 
class  AudioSystem
 System that manages audio playback and spatial audio. More...
 
class  BaseComponent
 Base component for implementing update functionality. More...
 
struct  BillboardComponent
 
class  BillboardComponentUI
 
class  BooleanSelector
 
struct  BoxColliderComponent
 
class  CameraComponent
 
class  CameraComponentUI
 
class  CameraMovementSystem
 
class  CameraPropertiesWidget
 
struct  Clock
 
class  ColorSelector
 
class  ComponentUI
 
class  ConsoleWidget
 A user interface widget for the console, used for logging and displaying messages. More...
 
class  CubeMap
 
class  DepthAtlasFrameBuffer
 
class  DepthCubeMapFrameBuffer
 
struct  DirectionalLightComponent
 
class  DirectionalLightComponentUI
 
struct  DirectoryComponent
 
class  EntityHierarchy
 
class  EntityProvider
 
class  EnumSelector
 
struct  Environment
 
class  EnvironmentPropertiesWidget
 
class  FilesystemWidget
 A user interface widget for interacting with the filesystem. More...
 
class  FloatSlider
 
class  GizmoHandleComponent
 
class  GizmoSystem
 
struct  GlobalPathEqual
 
struct  GlobalPathHash
 
class  Image
 A class for working with images and textures. More...
 
class  InputManager
 
class  InspectorWidget
 
struct  InstanceCounter
 
class  JobSystem
 
class  Log
 A base class for logs that contain textual content. More...
 
class  LogError
 A log representing error messages. More...
 
class  LogInfo
 A log representing informational messages. More...
 
class  LogSuccess
 A log representing success messages. More...
 
class  LogVerbose
 A log representing verbose messages. More...
 
struct  Material
 
class  Mesh
 
class  ModelComponent
 
class  ModelComponentUI
 
class  NameComponent
 
class  ObjectSelectionSystem
 
class  ObjectsWidget
 A user interface widget for managing game objects. More...
 
struct  OpenGLResourceTag
 
class  OverlayModelComponent
 
struct  ParticleEmitterComponent
 
class  ParticleEmitterComponentUI
 
class  ParticleSystem
 
struct  PointLightComponent
 
class  PointLightComponentUI
 
struct  Policy
 
struct  PostProcessingVolumeComponent
 
class  PostProcessingVolumeComponentUI
 
struct  ProfileBlock
 
class  ProfileGuard
 
class  Profiler
 
class  ProfilerWidget
 
class  PropertiesWidget
 A user interface widget for managing game object properties. More...
 
struct  Ray
 
struct  ReadAccess
 
class  Registry
 
class  RegistryViewer
 
class  RenderingSystem
 
struct  RenderingTextureComponent
 
struct  ResourceTag
 
struct  RuntimeCamera
 
class  RuntimeWidget
 A user interface widget for running and rendering the game runtime. More...
 
struct  SceneCamera
 
class  SceneFrameBuffer
 
class  SceneWidget
 A user interface widget for rendering scenes. More...
 
struct  SelectedAssetComponent
 
struct  SelectedEntityComponent
 
class  Shader
 
class  ShaderProgram
 
struct  SingletonComponent
 Marker to denote Singleton Component. More...
 
struct  SkyboxComponent
 
struct  Sound
 Sound instance that manages playback of an audio asset. More...
 
class  SparseSet
 
class  SparseSetBase
 
struct  SpotLightComponent
 
class  SpotLightComponentUI
 
class  Texture
 
class  TextureAssetSelector
 
class  ThreadWorker
 
class  TransformComponent
 
class  TransformComponentUI
 
struct  TypeInfo
 
class  UI
 A class responsible for managing the user interface (UI) of the application. More...
 
class  UseShader
 
class  Widget
 An abstract base class representing a GUI widget. More...
 
class  Wireframe
 
struct  WireframeComponent
 
class  WireframeComponentUI
 
struct  WriteAccess
 

Concepts

concept  PathConstructible
 
concept  SingletonComponentType
 
concept  NonSingletonComponentType
 

Typedefs

using AssetHandle = Entity
 
using OptionalAssetHandle = std::optional< AssetHandle >
 
template<typename AssetType >
using AssetRef = std::shared_ptr< AssetType >
 
template<typename AssetType >
using HandleAndAsset = std::pair< OptionalAssetHandle, AssetRef< AssetType > >
 
using TypeID = uint64_t
 
using TypeSet = std::set< TypeID >
 
using Entity = uint32_t
 
using JobHandle = Entity
 
using JobExecutor = std::function< void()>
 
using JobBuilder = JobSystem::JobBuilder
 

Enumerations

enum class  RuntimeMode { DEVELOPMENT , PRODUCTION }
 

Functions

template<typename T >
constexpr uint64_t getId ()
 
float toRadians (float degrees)
 
float toDegrees (float radians)
 
float angleAroundAxis (const glm::vec3 &v1, const glm::vec3 &v2, const glm::vec3 &axis)
 
glm::vec3 angleAxisRotation (const glm::vec3 &eulerAngles, const glm::vec3 &axis, float angle)
 
glm::vec3 eulerAnglesFromRotationMatrix (const glm::mat3 &rotationMat)
 

Variables

constexpr Entity InvalidEntity = 0
 
thread_local const std::thread::id THREAD_ID = std::this_thread::get_id()
 
template<typename T >
constexpr bool OnlyMainThread = false
 
template<>
constexpr bool OnlyMainThread< OpenGLResourceTag > = true
 

Typedef Documentation

◆ AssetHandle

◆ AssetRef

template<typename AssetType >
using shkyera::AssetRef = typedef std::shared_ptr<AssetType>

◆ Entity

◆ HandleAndAsset

◆ JobBuilder

◆ JobExecutor

using shkyera::JobExecutor = typedef std::function<void()>

◆ JobHandle

◆ OptionalAssetHandle

◆ TypeID

◆ TypeSet

Enumeration Type Documentation

◆ RuntimeMode

Enumerator
DEVELOPMENT 
PRODUCTION 

Function Documentation

◆ angleAroundAxis()

float shkyera::angleAroundAxis ( const glm::vec3 &  v1,
const glm::vec3 &  v2,
const glm::vec3 &  axis 
)

◆ angleAxisRotation()

glm::vec3 shkyera::angleAxisRotation ( const glm::vec3 &  eulerAngles,
const glm::vec3 &  axis,
float  angle 
)

◆ eulerAnglesFromRotationMatrix()

glm::vec3 shkyera::eulerAnglesFromRotationMatrix ( const glm::mat3 &  rotationMat)

◆ getId()

template<typename T >
constexpr uint64_t shkyera::getId ( )
constexpr

◆ toDegrees()

float shkyera::toDegrees ( float  radians)

◆ toRadians()

float shkyera::toRadians ( float  degrees)

Variable Documentation

◆ InvalidEntity

constexpr Entity shkyera::InvalidEntity = 0
constexpr

◆ OnlyMainThread

template<typename T >
constexpr bool shkyera::OnlyMainThread = false
constexpr

Template variable indicating if a resource type must be accessed only on the main thread. This is used to enforce thread safety for resources that can only be accessed from the main thread.

If a resource requires the main thread, the specialization of that resource type must be true.

Template Parameters
TThe resource type to check

◆ OnlyMainThread< OpenGLResourceTag >

template<>
constexpr bool shkyera::OnlyMainThread< OpenGLResourceTag > = true
inlineconstexpr

◆ THREAD_ID

thread_local const std::thread::id shkyera::THREAD_ID = std::this_thread::get_id()