Skip to content

Releases: ssell/OcularEngine

Alpha v0.5

14 Jul 01:17
Compare
Choose a tag to compare
Alpha v0.5 Pre-release
Pre-release

Ocular Editor, etc.

... fill me out ...

Alpha v0.4

06 Jan 02:17
Compare
Choose a tag to compare
Alpha v0.4 Pre-release
Pre-release

Ocular Engine v0.4 adds the core Graphics library (Ocular::Graphics) along with a Direct3D 11 implementation (OcularD3D11). It also features numerous additions and fixes to other systems, especially the Scene system.

After more than a year, with over 100,000 lines of code across 322 commits, Ocular can finally be called a Rendering Engine.

DirectX 11

  • Initial version of the OcularD3D11 library that implements a fully-working (albeit basic) Direct3D 11 rendering system

Material Subsystem

  • Materials
    • Combination of Shaders, Uniforms, and Textures
    • Material file format (.omat) for saving and loading
  • Shaders
    • Vertex Shader
    • Geometry Shader
    • Fragment (Pixel) Shader
    • PreTessellation (Hull) Shader
    • PostTessellation (Domain) Shader
  • Shader Loaders
    • D3D11 Uncompiled Loader (.hlsl)
  • Uniforms
    • Uniform Buffers
    • Per Frame
    • Per Camera
    • Per Object
    • Per Material
  • Textures
    • Texture2D
    • DepthTexture
    • RenderTexture
    • NoiseTexture

Meshes

  • Mesh
    • Index Buffer
    • Vertex Buffer
      • Vertex Structure
  • Simple Mesh Loading
    • PLY ASCII (.ply)
  • Simple Mesh Saving
    • PLY ASCII (.ply)

General Graphics System

  • Graphics Driver for generic access to API-specific actions
  • Render State
    • Depth Stencil State
    • Blend State
    • Raster State
  • Viewport
  • Renderables
  • Simple scene rendering (no dedicated renderer yet)

Scene

  • Scene Objects
    • Camera: integrated with the CameraManager and allows drawing to RenderTexture objects
  • Routines
    • FreeFlyController: can be attached to objects to allow keyboard movement and mouse looking
  • Renderables
    • MeshRenderer: renders simple visuals consisting of a single mesh and single material

Misc

  • Fully working input system (mouse was not previously working)
  • Fixed Windows message handling so that the window can now be properly moved, sized, etc. (was actually caused by raw input setup; see commit 7cd175b)
  • Numerous miscellaneous bug fixes and improvements
  • Addition of GLM dependency for certain Math library implementations (Matrix3x3, Matrix4x4, Quaternion). This was done for peace of mind with the critical underlying maths, and for easier integration of OpenGL 4 in the nearish future.
  • Addition of pugixml dependency for XML reading and writing (currently only used in .omat handling, but will be used more extensively in the future)

Alpha v0.3

09 Oct 05:56
Compare
Choose a tag to compare
Alpha v0.3 Pre-release
Pre-release

Ocular Engine v0.3 continues to expand upon the non-rendering capabilities, introducing a powerful scene system, various intersection tests, and keyboard/mouse input handling.

This is the final purely non-rendering release, as v0.4 will begin work on the Graphics interface library and DirectX11 implementation.

Input Handling

  • InputHandler
  • Win32 Input
    • Raw Keyboard
    • Raw Mouse

Scene System

  • SceneManager
  • Scene
  • SceneObject
    • Routine
    • Renderable
  • SceneTree
    • BVH Tree

Intersection Testing

  • Bounding Volumes
    • Sphere
    • AABB
  • Frustum
  • Plane
  • Ray

Expanded Core Functionality

24 May 02:09
Compare
Choose a tag to compare
Pre-release

The Ocular Engine v0.2 provides an expansion of the core non-rendering functionality introduced in v0.1. The following features were added in v0.2:

Resource System

  • Resource, ResourceManager, ResourceLoader, ResourceSaver, etc.
  • Texture Loading
    • BMP
    • TGA
    • PNG
  • Texture Saving
    • BMP
    • PNG

Updated Math Library

  • Quaternions
  • Euler Angles
  • Conversion between Matrices, Quaternions, and Eulers
  • Transforms
  • Additional PRNGS
    • Mersenne Twister (19937)
    • Mersenne Twister (127)
    • PRNGs compatible with STL distributions
  • Noise Generation
    • Perlin
    • Simplex
    • Wavelet

Additional Utilities

  • Additional String Utilities
  • System Information
  • Endianness Conversion
  • Hash Generation

Alpha Core System Functionality

28 Dec 06:01
Compare
Choose a tag to compare
Pre-release

The Ocular Engine v0.1 provides a multitude of core non-rendering capabilities. These features are a requisite part of any engine, despite not having any direct connection to rendering.

This will allow future milestones to focus primarily on development of the rendering engine without having to go back and implement needed miscellaneous systems.

Future versions will expand support to other operating systems (Linux, OS X) but v0.1 focuses on Windows.