Week 16

Graph Editor

The Graph Editor has been improved to support dynamic keyframe manipulation. The user can select an attribute and toggle its visibility. A keyframe can be updated by changing its value. The timeline is connected to the Graph Editor to display a current frame marker.

 

Cubic Interpolation

Animation now supports cubic interpolation. For the time being, translations and scales are calculated using linear interpolation and rotation is calculated using cubic interpolation. In the future, I plan on implementing interpolation support for manipulating keyframe and tangent

 

New Camera / Multiview Implementation

Using QT's dock widget and MDI concepts, I changed the original multi-camera theory, which used GL Scissor Test, to a new camera scheme. Depending on the view mode(single or multiview), each window has a reference to a camera. The original version had a single window with hard-coded scene that required repetitive mouse-checks to determine which window is detected.

The new version brings several new advantages. (1)Each Scene window has a renderable scene and a menubar which makes it easy to automatically switch cameras and views. (2)MDI Support allows the user to switch between single- and multi- views, and resize each window to their needs. (3)Supports creating new camera (implemented in the near future).

 

Shader Support

Raina3D now has its initial Shader support. Using GLEW extensions and a new shader object, it is easy to load shaders. I still need to do more research to create and handle dynamic shaders for multiple objects before further installation into Raina3D.

 

Back-end Maintainance

To improve compile-time, I implemented a PCH to pre-load standard files and libraries, such as QT, streams, and STL. The Global constants object has been cleaned up by grouping the data. The Application Configuration connects directly to the GLConstants settings structure.

 

Improved Light Support

The new Light Listener now supports Spot Light and global light settings. A future version will allow a more OOP standard for creating and manipulating lights. The global light settings include global ambient color, two sided lighting, and viewpoint lighting.

 

Cleaner Timeline

Basic animation settings, such as frame rate and clamped frame values have been removed from the timeline and inserted into a separate dialog. This provides for a cleaner interface and allows easy access to adjust those values.

 

Importing Skeleton

Using the Joint object (created last week), I imported a joint skeleton from Maya from hard-coding the values into XML, by parenting the joints. In the near future, I plan on writing a melscript or plugin to convert a Maya skeleton into an xml file. Currently, joints are represented by lines.

 

 

 

Weekly Notes
Project-specific sections:

> Week 1 Notes
> Week 2 Notes
> Week 3 Notes
> Week 4 Notes
> Week 5 Notes
> Week 6 Notes
> Week 7 Notes
> Week 8 Notes
> Week 9 Notes
> Week 10 Notes
> Week 11 Notes
> Week 12 Notes
> Week 13 Notes
> Week 14 Notes
> Week 15 Notes
> Week 16 Notes
> Week 17 Notes
> Week 18 Notes
> Week 19 Notes
> Week 20 Notes

Home | About Raina3D | About Us | Thanks | Contact
Copyright (c) 2005-2009 Raina3D All rights reserved.