Find Jobs
Hire Freelancers

Animation toolkit in C++

$100-500 USD

Ukończony
Opublikowano ponad 17 lat temu

$100-500 USD

Płatne przy odbiorze
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
Identyfikator projektu: 3887958

Informację o projekcie

1 oferta
Zdalny projekt
Aktywny 18 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
Przyznano:
Awatar Użytkownika
See private message.
$437,50 USD w 15 dni
5,0 (5 opinii)
4,1
4,1

O kliencie

Flaga FRANCE
Paris, France
5,0
81
Członek od cze 26, 2005

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.