Ocular Engine
Ocular

Modules

 Graphics
 
 Core
 

Namespaces

 Ocular
 Note: Once this library is made dynamic, this will no longer be needed.
 

Classes

class  Ocular::Core::AEvent
 
class  Ocular::Core::AEventListener
 
class  Ocular::Core::EventManager
 Abstract base class of all event objects. More...
 
class  Ocular::Core::KeyboardInputEvent
 
class  Ocular::Core::MouseButtonInputEvent
 
class  Ocular::Core::MouseMoveInputEvent
 
class  Ocular::Core::MouseScrollInputEvent
 
class  Ocular::Core::SceneObjectAddedEvent
 
class  Ocular::Core::SceneObjectRemovedEvent
 
class  Ocular::Core::ShutdownEvent
 
class  Ocular::Core::WindowResizeEvent
 
class  Ocular::Core::EventSnooper
 
class  Ocular::Core::Exception
 
class  Ocular::Core::FileReadWriteException
 
class  Ocular::Core::Directory
 
class  Ocular::Core::File
 
struct  Ocular::Graphics::DebugShape
 
class  Ocular::Graphics::Debug
 Draws debug graphics such as lines, points, bounding volumes, axis, etc. More...
 
struct  Ocular::Graphics::FrameStats
 
class  Ocular::Graphics::GraphicsDriver
 
struct  Ocular::Graphics::TextureSamplerInfo
 
class  Ocular::Graphics::Material
 
class  Ocular::Graphics::MaterialEmpty
 Special default 'empty' Material. Typically used internally. More...
 
class  Ocular::Graphics::MaterialMissing
 Special default 'missing' Material. Typically used internally. More...
 
class  Ocular::Graphics::MaterialResourceLoader
 Creates Material objects from Ocular Material files (.omat) More...
 
class  Ocular::Graphics::MaterialResourceSaver
 Saves a Material object to an Ocular Material file (.omat) More...
 
class  Ocular::Graphics::IndexBuffer
 
class  Ocular::Graphics::Mesh
 Combination of a VertexBuffer and IndexBuffer. More...
 
class  Ocular::Graphics::MeshEmpty
 Special default 'empty' Mesh. Typically used internally. More...
 
class  Ocular::Graphics::MeshResourceLoader
 
class  Ocular::Graphics::OBJImporter
 
class  Ocular::Graphics::OBJMeshMetadata
 
class  Ocular::Graphics::ResourceLoader_OBJ
 
class  Ocular::Graphics::MeshResourceLoader_PLY
 
class  Ocular::Graphics::PLYElementListParser
 
class  Ocular::Graphics::PLYElementParser
 
class  Ocular::Graphics::PLYParser
 
class  Ocular::Graphics::MeshMissing
 Special default 'missing' Mesh. Typically used internally. More...
 
class  Ocular::Graphics::MeshResourceSaver
 
class  Ocular::Graphics::MeshResourceSaver_PLY
 
class  Ocular::Graphics::SubMesh
 Combination of a VertexBuffer and IndexBuffer. More...
 
struct  Ocular::Graphics::Vertex
 
class  Ocular::Graphics::VertexBuffer
 
struct  Ocular::Graphics::BlendState
 
struct  Ocular::Graphics::DepthBiasState
 
struct  Ocular::Graphics::StencilFaceDescr
 
struct  Ocular::Graphics::DepthStencilState
 
struct  Ocular::Graphics::RasterState
 
class  Ocular::Graphics::RenderState
 
struct  Ocular::Graphics::GPUBufferDescriptor
 
class  Ocular::Graphics::GPUBuffer
 A generic buffer that can be uploaded to the GPU. More...
 
class  Ocular::Graphics::FragmentShader
 
class  Ocular::Graphics::GeometryShader
 
class  Ocular::Graphics::PostTessellationShader
 
class  Ocular::Graphics::PreTessellationShader
 
class  Ocular::Graphics::Shader
 
class  Ocular::Graphics::ShaderProgram
 
class  Ocular::Graphics::Uniform
 
class  Ocular::Graphics::UniformBuffer
 Generic buffer for storing and binding of shader uniforms. More...
 
struct  Ocular::Graphics::UniformPerCamera
 The fixed struct for all Uniform data for Cameras/Views. More...
 
struct  Ocular::Graphics::UniformPerObject
 The fixed struct for all Uniform data for Objects. More...
 
struct  Ocular::Graphics::UniformPerFrame
 The fixed struct for all global per-frame Uniform data. More...
 
class  Ocular::Graphics::VertexShader
 
class  Ocular::Graphics::DepthTexture
 A special texture that stores high precision depth information for each pixel. More...
 
class  Ocular::Graphics::NoiseTexture2D
 
class  Ocular::Graphics::RenderTexture
 A special texture that can be rendered directly to. More...
 
class  Ocular::Graphics::Texture
 Base class for all texture objects. More...
 
class  Ocular::Graphics::Texture2D
 
struct  Ocular::Graphics::TextureDescriptor
 
class  Ocular::Graphics::TextureResourceLoader
 
class  Ocular::Graphics::TextureResourceLoader_BMP
 
class  Ocular::Graphics::TextureResourceLoader_PNG
 
class  Ocular::Graphics::TextureResourceLoader_TGA
 
class  Ocular::Graphics::TextureResourceSaver
 
class  Ocular::Graphics::TextureResourceSaver_BMP
 
class  Ocular::Graphics::TextureResourceSaver_PNG
 
class  Ocular::Graphics::Viewport
 
class  Ocular::Core::InputHandler
 
class  Ocular::Core::ConsoleLoggerListener
 
class  Ocular::Core::ILoggerListener
 
class  Ocular::Core::Logger
 
class  Ocular::Core::LoggerMessage
 
class  Ocular::Core::VSConsoleLoggerListener
 
class  Ocular::Math::Bounds
 
class  Ocular::Math::BoundsAABB
 
class  Ocular::Math::BoundsOBB
 
class  Ocular::Math::BoundsSphere
 
class  Ocular::Math::Ray
 
class  Ocular::Core::Color
 
class  Ocular::Math::Euler
 
class  Ocular::Math::ConvexHull2D
 
class  Ocular::Math::Frustum
 
class  Ocular::Math::HEMesh
 
class  Ocular::Math::HEVertex
 
class  Ocular::Math::HEEdge
 
class  Ocular::Math::HEFace
 
class  Ocular::Math::LineSegment2D< T >
 
class  Ocular::Math::Plane
 
class  Ocular::Math::Polygon2D
 
struct  Ocular::Math::Matrix3x3_Internal
 
struct  Ocular::Math::Matrix4x4_Internal
 
struct  Ocular::Math::Quaternion_Internal
 
class  Ocular::Math::Matrix3x3
 A 3x3 column-major float matrix. More...
 
class  Ocular::Math::Matrix4x4
 A 4x4 column-major float matrix. More...
 
class  Ocular::Math::MatrixStack
 
class  Ocular::Math::MortonCode
 
class  Ocular::Math::Noise::ANoise
 
class  Ocular::Math::Noise::PerlinNoise
 
class  Ocular::Math::Noise::SimplexNoise
 
class  Ocular::Math::Noise::WaveletNoise
 
class  Ocular::Math::Noise::WorleyNoise
 
class  Ocular::Math::Quaternion
 
class  Ocular::Math::Random::ARandom
 
class  Ocular::Math::Random::CMWC131104
 
class  Ocular::Math::Random::MersenneTwister127
 
class  Ocular::Math::Random::MersenneTwister19937
 
class  Ocular::Math::Random::WELL512
 
class  Ocular::Math::Random::XorShift96
 
class  Ocular::Math::Transform
 
class  Ocular::Math::Vector2< T >
 
class  Ocular::Math::Vector3< T >
 
class  Ocular::Math::Vector4< T >
 
class  Ocular::Core::Object
 Base class of all representable Ocular constructs. More...
 
class  Ocular::Core::Buildable
 
class  Ocular::Core::BuilderNode
 Generic node system used for loading and saving SceneObjects and their components. More...
 
class  Ocular::Core::Exposable
 
struct  Ocular::Core::ExposedVariable
 
class  Ocular::Core::ObjectIO
 
class  Ocular::Engine
 
class  Ocular::Core::Profiler
 
class  Ocular::Core::ProfilerNode
 
class  Ocular::Core::ProfilerScope
 
class  Ocular::Core::ForwardRenderer
 
class  Ocular::Core::Renderer
 
class  Ocular::Core::RendererRegistrar< T >
 
class  Ocular::Core::AWindow
 
struct  Ocular::Core::WindowDescriptor
 
class  Ocular::Core::WindowManager
 
class  Ocular::Core::MultiResource
 
class  Ocular::Core::Resource
 
class  Ocular::Core::ResourceDefaults
 
class  Ocular::Core::ResourceDetails
 Maintains a resource and usage details. More...
 
class  Ocular::Core::ResourceExplorer
 
class  Ocular::Core::AResourceLoader
 
class  Ocular::Core::ResourceLoaderManager
 
class  Ocular::Core::ResourceLoaderRegistrar< T >
 
class  Ocular::Core::ResourceManager
 
class  Ocular::Core::ResourceMemoryDetails
 
class  Ocular::Core::ResourceMetadata
 
class  Ocular::Core::AResourceSaver
 
class  Ocular::Core::ResourceSaverManager
 
class  Ocular::Core::ResourceSaverRegistrar< T >
 
class  Ocular::Core::ARenderable
 
class  Ocular::Core::ARoutine
 
class  Ocular::Core::BVHSceneNode
 
class  Ocular::Core::BVHSceneTree
 
struct  Ocular::Core::PerspectiveProjection
 
struct  Ocular::Core::OrthographicProjection
 
class  Ocular::Core::Camera
 
class  Ocular::Core::CameraManager
 
class  Ocular::Core::CameraRenderable
 
class  Ocular::Core::ComponentFactory< T >
 
class  Ocular::Core::ISceneTree
 
class  Ocular::Core::DirectionalLight
 
struct  Ocular::Core::GPULight
 Structure of generic light data passed to the GPU. More...
 
class  Ocular::Core::LightManager
 
class  Ocular::Core::LightSource
 
class  Ocular::Core::PointLight
 
class  Ocular::Core::PointLightRenderable
 
class  Ocular::Core::SpotLight
 
class  Ocular::Core::RenderableRegistrar< T >
 
class  Ocular::Core::MeshRenderable
 
class  Ocular::Core::RoutineRegistrar< T >
 
class  Ocular::Core::FreeFlyController
 
class  Ocular::Core::Scene
 
class  Ocular::Core::SceneLoader
 Handles the loading of .oscene files (Ocular Scene) More...
 
struct  Ocular::Core::Node_Internal
 
class  Ocular::Core::SceneObjectLoader
 Handles the loading of .opre files (Ocular Predefined Scene Object) More...
 
class  Ocular::Core::SceneManager
 
class  Ocular::Core::SceneNode
 
class  Ocular::Core::SceneObject
 
class  Ocular::Core::SceneObjectRegistrar< T >
 
class  Ocular::Core::SceneObjectSaver
 
class  Ocular::Core::SceneSaver
 Handles the saving of .oscene files (Ocular Scene) More...
 
class  Ocular::Core::SystemInfo
 
class  Ocular::Core::Clock
 
class  Ocular::Core::DateTime
 
class  Ocular::Core::Timer
 
class  Ocular::Utils::ColorPicker
 
class  Ocular::Utils::Config
 
class  Ocular::Utils::HashGenerator
 
class  Ocular::Utils::StringComposer
 
class  Ocular::Utils::ToStringRegistrar< T >
 
class  Ocular::Utils::FromStringRegistrar< T >
 
class  Ocular::Utils::String
 Collection of helper string-related utilities. More...
 
class  Ocular::Utils::CircularQueue< T, MAX_ELEMENTS >
 
class  Ocular::Utils::PriorityList< T, MAX_ELEMENTS >
 
class  Ocular::Utils::PriorityMultiQueue< T, MAX_ELEMENTS >
 
struct  Ocular::Utils::TypeName< T >
 Utility structure to convert a type T to a string representation. More...
 
class  Ocular::Core::UUID
 
class  Ocular::Graphics::D3D11GraphicsDriver
 
class  Ocular::Graphics::D3D11Viewport
 
class  Ocular::Graphics::D3D11Material
 
class  Ocular::Graphics::D3D11IndexBuffer
 
class  Ocular::Graphics::D3D11VertexBuffer
 
class  Ocular::Graphics::D3D11RenderState
 
class  Ocular::Graphics::D3D11StructuredBuffer
 
class  Ocular::Graphics::D3D11FragmentShader
 
class  Ocular::Graphics::D3D11GeometryShader
 
class  Ocular::Graphics::D3D11PostTessellationShader
 
class  Ocular::Graphics::D3D11PreTessellationShader
 
class  Ocular::Graphics::D3D11UncompiledShaderResourceLoader
 
class  Ocular::Graphics::D3D11VertexShader
 
class  Ocular::Graphics::D3D11UniformBuffer
 D3D11 implementation of a UniformBuffer (ie Shader Constant Buffer) More...
 
class  Ocular::Graphics::D3D11DepthTexture
 
class  Ocular::Graphics::D3D11RenderTexture
 
class  Ocular::Graphics::D3D11Texture
 
class  Ocular::Graphics::D3D11Texture2D
 
class  Ocular::Editor::MaterialSelectedEvent
 
class  Ocular::Editor::SceneObjectFocusedEvent
 
class  Ocular::Editor::SceneObjectSelectedEvent
 
class  Ocular::Editor::AxisComponentGizmo
 
class  Ocular::Editor::AxisGizmo
 
class  Ocular::Editor::AxisGizmoRenderable
 
class  Ocular::Editor::AxisGizmoRoutine
 
class  Ocular::Editor::Gizmo
 
class  Ocular::Editor::InputTranslator
 Translates QT input events into Ocular input events. More...
 
class  Ocular::Editor::Editor
 
class  Ocular::Editor::ForwardRenderer
 
class  Ocular::Editor::EditorCameraController
 
class  Ocular::Editor::SceneObjectImporter
 
class  Ocular::Editor::GeneralStyles
 
class  Ocular::Editor::ConsoleBox
 
class  Ocular::Editor::ConsoleText
 
class  Ocular::Editor::ContentFrame
 
class  Ocular::Editor::DetailsFrame
 
class  Ocular::Editor::MainMenuBar
 The primary menu bar in the MainWindow widget. More...
 
class  Ocular::Editor::MainStatusBar
 Main status bar for the Ocular Editor application. More...
 
class  Ocular::Editor::MainWindow
 Main window for the Ocular Editor application. More...
 
class  Ocular::Editor::MaterialEditorDialog
 Dialog to view and editor Material resource objects. More...
 
class  Ocular::Editor::MaterialPropertiesDisplayBox
 
class  Ocular::Editor::MaterialPropertiesPanel
 
class  Ocular::Editor::MaterialTree
 
struct  Ocular::Editor::MaterialTreeItemDescriptor
 
class  Ocular::Editor::MaterialTreeItem
 
class  Ocular::Editor::RenderStatesDisplayBox
 
class  Ocular::Editor::ShadersDisplayBox
 
class  Ocular::Editor::TexturesDisplayBox
 
class  Ocular::Editor::UniformsDisplayBox
 
class  Ocular::Editor::CommonDisplay
 
class  Ocular::Editor::CustomDisplayRegistrar< T >
 
class  Ocular::Editor::CustomObjectDisplay
 
class  Ocular::Editor::CameraDisplay
 
class  Ocular::Editor::PropertiesDisplayBox
 
class  Ocular::Editor::PropertiesDisplayTitleBar
 
class  Ocular::Editor::PropertyWidget
 Parent class for all general property widgets. More...
 
class  Ocular::Editor::PropertyWidgetRegistrar< T >
 
class  Ocular::Editor::MeshRenderableDisplay
 
class  Ocular::Editor::MeshRenderableDisplayMaterial
 
class  Ocular::Editor::RenderableDisplay
 
class  Ocular::Editor::RenderableDisplayRegistrar< T >
 
class  Ocular::Editor::RoutineDisplay
 
class  Ocular::Editor::SelectResourceDialog
 
class  Ocular::Editor::DoubleProperty
 
class  Ocular::Editor::FloatProperty
 
class  Ocular::Editor::Int16Property
 
class  Ocular::Editor::Int32Property
 
class  Ocular::Editor::Int8Property
 
class  Ocular::Editor::UInt16Property
 
class  Ocular::Editor::UInt32Property
 
class  Ocular::Editor::UInt32Validator
 
class  Ocular::Editor::UInt8Property
 
class  Ocular::Editor::BoolProperty
 
class  Ocular::Editor::ColorProperty
 
class  Ocular::Editor::DirectoryProperty
 
class  Ocular::Editor::EulerProperty
 
class  Ocular::Editor::FileProperty
 
class  Ocular::Editor::MultiProperty
 
class  Ocular::Editor::QuatAsEulerProperty
 
class  Ocular::Editor::QuaternionProperty
 
class  Ocular::Editor::ResourceProperty
 
class  Ocular::Editor::StringProperty
 
class  Ocular::Editor::Vector2Property
 
class  Ocular::Editor::Vector3Property
 
class  Ocular::Editor::Vector4Property
 
class  Ocular::Editor::PropertiesBox
 
class  Ocular::Editor::PropertiesPanel
 
class  Ocular::Editor::RenderFrame
 
class  Ocular::Editor::SceneBox
 
class  Ocular::Editor::SceneFrame
 
class  Ocular::Editor::ScenePropertiesDialog
 Dialog that displays various scene-based properties (Main Menu -> Scene -> Scene Properties) More...
 
class  Ocular::Editor::SceneTree
 
class  Ocular::Editor::SceneTreeItem
 
class  Ocular::Editor::ButtonColorPicker
 
class  Ocular::Editor::ButtonDirectoryBrowse
 
class  Ocular::Editor::ButtonFileBrowse
 
class  Ocular::Editor::ButtonResourceBrowse
 
class  Ocular::Editor::CheckBox
 
class  Ocular::Editor::ColorPreview
 
class  Ocular::Editor::ComboBox
 
class  Ocular::Editor::LineEdit
 
class  Ocular::Editor::ToolbarCommon
 Tool Bar for common actions (save, camera behaviour, etc.) More...
 

Functions

std::shared_ptr< AWindow > Ocular::Core::WindowManager::openWindow (WindowDescriptor const &descriptor)
 
std::shared_ptr< AWindow > Ocular::Core::WindowManager::connectWindow (WindowDescriptor const &descriptor, void *windowID)
 
void Ocular::Core::WindowManager::closeWindow (UUID const &uuid)
 
void Ocular::Core::WindowManager::closeAllWindows ()
 
std::list< std::shared_ptr< AWindow > > Ocular::Core::WindowManager::listWindows () const
 
uint32_t Ocular::Core::WindowManager::getNumWindows () const
 
std::shared_ptr< AWindow > Ocular::Core::WindowManager::getWindow (UUID const &uuid)
 
std::shared_ptr< AWindow > Ocular::Core::WindowManager::getWindow (void *osPointer)
 
std::shared_ptr< AWindow > Ocular::Core::WindowManager::getMainWindow ()
 
void Ocular::Core::WindowManager::setMainWindow (UUID const &uuid)
 
void Ocular::Core::WindowManager::updateWindows (int64_t time)
 

Detailed Description

Copyright 2014-2016 Steven T Sell (ssell.nosp@m.@ver.nosp@m.texfr.nosp@m.agme.nosp@m.nt.co.nosp@m.m)

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

void Ocular::Core::WindowManager::closeAllWindows ( )

Destroys all windows.

void Ocular::Core::WindowManager::closeWindow ( UUID const &  uuid)

Destroys the Window with the specified UID.

Parameters
uid
std::shared_ptr< AWindow > Ocular::Core::WindowManager::connectWindow ( WindowDescriptor const &  descriptor,
void *  windowID 
)

Connects to a pre-existing window.

Parameters
[in]windowIDThe system specific window identifier (HWND in Windows, etc.)
Returns
A pointer to the new Ocular window context. If nullptr, then an error occurred during connection.
std::shared_ptr< AWindow > Ocular::Core::WindowManager::getMainWindow ( )

Returns a pointer to the main/primary window.

Returns
A pointer to the main window. If nullptr, then no windows are being managed.
uint32_t Ocular::Core::WindowManager::getNumWindows ( ) const
Returns
Number of windows tracked by this manager instance.
std::shared_ptr< AWindow > Ocular::Core::WindowManager::getWindow ( UUID const &  uuid)

Returns a pointer to the Window with the specified UID.

The returned pointer should not be destroyed as object management is performed by the WindowManager to which the Window belongs.

Parameters
uid
Returns
A pointer to the window. If nullptr, then no window matches the specified UID.
std::shared_ptr< AWindow > Ocular::Core::WindowManager::getWindow ( void *  osPointer)

Returns a pointer to the Winodw matching the specified OS window pointer.

The returned pointer should not be destroyed as object management is performed by the WindowManager to which the Window belongs.

Parameters
osPointer
Returns
A pointer to the window. If nullptr, then no window matches the specified OS pointer.
std::list< std::shared_ptr< AWindow > > Ocular::Core::WindowManager::listWindows ( ) const
Returns
A list of all windows tracked by this manager instance.
std::shared_ptr< AWindow > Ocular::Core::WindowManager::openWindow ( WindowDescriptor const &  descriptor)

Creates and returns a reference to a new window.

The returned pointer should not be destroyed as object management is performed by the WindowManager to which the Window belongs.

Parameters
descriptor
Returns
A pointer to the new window. If nullptr, then an error occurred during creation.
void Ocular::Core::WindowManager::setMainWindow ( UUID const &  uuid)

Sets the main window.

Parameters
uid
void Ocular::Core::WindowManager::updateWindows ( int64_t  time)

Calls the update method for all tracked windows.
This ensures that all system messages get properly dispatched and handled.

Parameters
[in]timeThe amount of time (in MS) to allow a window to digest and dispatch system messages.