Find Jobs
Hire Freelancers

Animation toolkit in C++

$100-500 USD

Completed
Posted over 17 years ago

$100-500 USD

Paid on delivery
The scope of the toolkit is code and data whose purpose is to alter a data set according to time. A very simple example is when a function is used to change the position of an object within a 3D scene. A more complex example is a humanoid 3D character walking and waving her hand. An unusual example is a flickering light, i.e. the intensity of the light is changed according to time. The toolkit is designed fit all needs. When extreme constraints are to be obeyed, a function may be extracted from the sources without dragging the whole toolkit with it. The library binary may be customized at compile time to strip out unecessary features or to sacrifice genericity in favor of speed. The toolkit is made of a core and a set of optional extensions that depend on the core. The extensions are loaded from a single directory when the library initializes (unlike plugins that are loaded on demand). ## Deliverables The core is made of the animation functions and data structure and an abstract scheduler with a default implementation. The extensions provided are: - skinned animation - osg adapter - osg skinned animation adapter (based on osg adapter) Core: -------------------- Data structures: An animation is a named set of channels and a optional fade in / fade out time. A channel is an time2value class and a data target. An time2value class is a function and optional data members (typically keyframes) input is time output is either a delta or a absolute value A keyframe is a pair of value and time ([0, 1]) A value is a a float, vector (3f), quaternion, matrix. Skinned animation: ------------------- Apply a track to the object at a given time with a given weight. A bone is defined as size, rotation and scale (matrix 1) and pivot point (matrix 2). A bone must be defined at least as size and rotation only. Each bone has a single parent. Each bone may have a name. Each bone must have a uniq id. A skeleton is defined as exactly one hierarchy of bones, a single root, a set of values defined as the rest position. ---------------------------------------------------------------------- Tests must be written to demonstrate the use of the API in the following cases: - animation of a fixed object within a 3D osg scene - animation of a skinned object within a 3D osg scene, with or without hardware acceleration ---------------------------------------------------------------------- The project must be structured with autotools and linux kernel like compile time configuration. It is understood that this work is a first iteration on the toolkit architecture. The scheduler may be copied from cal3d or underware or omitted. The most important part is to get the test working. A1) Complete and precise implementation of the description of the bid request. A2) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. A3) Deliverables must be in ready-to-run condition, as follows: a software installation package that will install the software in ready-to-run condition for Debian GNU/Linux. A4) The software package source form must be suitable for the debuild command, be lintian clean and install properly with pbuilder. A5) The software installation package must be provided with the first status report and updated for each status report. A6) Buyer will receive exclusive and complete copyrights to all work purchased. Third party software may be included as long as they are published under a license compatible with the GNU GPL. A7) Software must obey the GNU coding standards as found at [login to view URL] A8) Software must be platform and os independent. A9) Software must be commited to the CVS repository defined in the bid request description. A10) All commits to the CVS must be tested to pass the distcheck target (make distcheck) as defined by autotools ([login to view URL]) A11) The reason for each change (not the change itself) must be explained in the ChangeLog file at the root the package tree. ## Platform GNU/Linux
Project ID: 3887958

About the project

1 proposal
Remote project
Active 17 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
See private message.
$437.50 USD in 15 days
5.0 (5 reviews)
4.1
4.1

About the client

Flag of FRANCE
Paris, France
5.0
81
Member since Jun 26, 2005

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.