Ogre Skeletal Animation in Vega Prime
Posted: Wed Nov 19, 2014 5:25 pm
It has been a while but I am back. The last time I used Ogre I was impressed with the ease of use. Here's what I want to do in a nutshell. I want characters in our simulation application which uses the latest Vega Prime libraries. Vega Prime from Presagis is a high commercial license cost graphics library based on scene graph concepts. Most features are a licensed plug-in including their human character add-on. So I am exploring what I can do with an open source approach as far as adding animated characters. Creating movements paths and scenarios is a whole other thing but first I need animated character models in the scene.
I understand a big chunk of the integration involves the Vega Prime side and luckily their API allows for custom geometry to be added as nodes to their scene graph. I will use the Ogre .mesh and .skeleton file formats and most likely start out with your XML based formats.
What I am trying to understand is how to render the models in Vega Prime. If you make a Vega Prime-based object the rendering is done under the hood. I found an article where someone manually loaded the XML-based model and rendered it using immediate mode OpenGL. That is certainly one approach that might work here. In our simulation application I have resorted to manual OpenGL rendering but mainly for post processed effects and screen space graphics. If I can get some direction on how Ogre renders the animated entity maybe I can figure out where to use Ogre with Vega Prime, if that is even possible. My first thoughts are Ogre would handle model loading, manage bone matrices, etc, manage skeletal animations and blending while Vega Prime does the rendering or maybe even better yet Ogre can do its own model rendering. I know Ogre is a "Rendering Engine" so using it as the renderer may simply not work with Vega Prime since it wants to be the renderer. (ie. OpenGL context is created and controlled by VP, ... )
I am continuing to dive through code in Ogre and through documentation and header files in Vega Prime to better understand if and how this might be done.
-Steve
I understand a big chunk of the integration involves the Vega Prime side and luckily their API allows for custom geometry to be added as nodes to their scene graph. I will use the Ogre .mesh and .skeleton file formats and most likely start out with your XML based formats.
What I am trying to understand is how to render the models in Vega Prime. If you make a Vega Prime-based object the rendering is done under the hood. I found an article where someone manually loaded the XML-based model and rendered it using immediate mode OpenGL. That is certainly one approach that might work here. In our simulation application I have resorted to manual OpenGL rendering but mainly for post processed effects and screen space graphics. If I can get some direction on how Ogre renders the animated entity maybe I can figure out where to use Ogre with Vega Prime, if that is even possible. My first thoughts are Ogre would handle model loading, manage bone matrices, etc, manage skeletal animations and blending while Vega Prime does the rendering or maybe even better yet Ogre can do its own model rendering. I know Ogre is a "Rendering Engine" so using it as the renderer may simply not work with Vega Prime since it wants to be the renderer. (ie. OpenGL context is created and controlled by VP, ... )
I am continuing to dive through code in Ogre and through documentation and header files in Vega Prime to better understand if and how this might be done.
-Steve