Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Annwvyn Experimental 0.2.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@Ybalrid Ybalrid released this 07 May 00:03
· 1990 commits to master since this release

Annwvyn 0.2.2

Yes, it's time for 0.2.2!

Things are going the same way as the previous one. Lots of API change, the engine init has been redone, more segmentation of functionality into subsystems, improved compatibility with the Consumer Version of the Oculus Rift I FINALY GOT MINE!!!!!!, and a bunch of stuff as listed below, in commit order.

The two main things for this release are the fact that an abstraction layer as been added between the "OgreOculusRender" object and AnnEngine. Now AnnEngine wants an "OgreVRRender" object. This class is abstract, it's only child for now is the older OgreOculusRender. The API of OgreVRRender is generic and doesn't reference anything from the Oculus Rift. Same goes for the rest of the engine.

Direct access to the renderer can be made with AnnGetRenderer(); This gives you a pointer to the renderer as a generic VRRenderer. You shouldn't need to call anything from a specific renderer so that's all good.

A scenery manager handles skyboxes/domes. The VRRenderer handles the (few) camera config' you are allowed to touch (near/far clip planes)

The whole developement environement has been moved to Visual Studio 2015. I will rebuild from scratch the binary installers of the SDK and complettely eratdicate VS2012 (exept the legacy branch from a school project)

The good stuff (changelog):

  • LightObjects and TriggerObjects are handelend by the GameObjectManager
  • Default EventListener is handeled by the EventManager
  • Memory leaks on the physics engine when creating/destroying bodies and reseting the player have been dealt with.
  • Added AnnSceneryManager. The ScenereyManager handles :
    • SkyDome
    • SkyBox
    • AmbiantLighting
  • Cleaned the defautl resources. Deleted old glsl shaders from old rift implementation
  • Useless members of OculusInterface are gone. You don't need to get a position vector from the rift library.
  • The engine uses the DefaultEyeFov setting instead of the Max one. This should keep from wasting time rendering non displayed pixels
  • Added OgreVRRender abstract class
    • Made OgreOculusRender inherit from it
    • Cleaned the API to be generic, instead of Oculus Rift specific
    • Maximum of stuff is handeled by the parent class instead of the specific children class.
  • Audio Engine search for HMD audio device if the selected VR Renderer want one
  • Modified resource manager to load core resources on a ANNWVYN_CORE resource group and init them automatically. This permit to init the engine in one go! (it was about time to fix that!)
  • The initialization of the engine is now dealt with in one single line.
  • Removed old project and solution files. Now VS2015 is the way to go
  • Template project has been updated to work with the changes in engine's API.

Engines feature did not evolve. I think I'm mostly done with this refactoring frenzy... So, let me check the todolist... mh... AnnGameObjectManager is a factory for GameObject, LightObject and TriggerObject, so that thing is done. ObjectParenting is not important for now, and it's a matter of playing with Ogre SceneNodes (the tree allready exist, it's Ogre's SceneManager. 😉 ) So, the next things on the list are to fix the way the animation system works (= create an animation system that works, or see if Ogre's animation state system is less stupid than I thought) and some work on the physics engine, that is boring, and that I will do later...

When I'll found the time, I'm going to build the SDK installer for this version and put it on http://annwvyn.org/ Then I will concentrate into writing on the wiki here : http://wiki.annwvyn.org/