Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
animations [2019/03/12 12:21] – [Model-Animation caching] admin | animations [2019/09/09 09:25] – [Model-Animation caching] admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Model-Animations ====== | ====== Model-Animations ====== | ||
- | If you load a model from DAE or X3D with embedded animations, Gorilla3D will automatically load and add all animations to the model. | + | If you load a model from G3D, DAE or X3D with embedded animations, Gorilla3D will automatically load and add all animations to the model. |
Animations are handled by the TGorillaAnimationManager inside of a TGorillaModel component. | Animations are handled by the TGorillaAnimationManager inside of a TGorillaModel component. | ||
Line 34: | Line 34: | ||
</ | </ | ||
- | ==== Iterating | + | ==== Iterating model-animations ==== |
- | To iterate | + | To iterate the animation |
<file pascal Form1.pas> | <file pascal Form1.pas> | ||
Line 88: | Line 88: | ||
Due to those performance needs, Gorilla3D offers some caching techniques for model animations. | Due to those performance needs, Gorilla3D offers some caching techniques for model animations. | ||
- | As you've seen in the previous examples for loading a model, there was a supplied parameter for animation caching: " | + | As you've seen in the previous examples for loading a model, there was a supplied parameter for animation caching: " |
Gorilla3D offers a configurable caching mechanism to suite your needs. | Gorilla3D offers a configurable caching mechanism to suite your needs. | ||
Line 95: | Line 95: | ||
^ Flag ^ Notes ^ | ^ Flag ^ Notes ^ | ||
- | | TAnimationCachingFlag.AllAttributes | + | | TAnimationCachingFlag.AllAttributes |
- | + | ||
| TAnimationCachingFlag.Compressed | | TAnimationCachingFlag.Compressed | ||
+ | | TAnimationCachingFlag.VertexPosition | Cached frames will ONLY contain the vertex position. The rest of the vertex data will come from a static mesh buffer (not animatable). This is the recommend setting for caching, because in 95% of all cases you only transform vertex position on an animation skin. | | ||
- | | TAnimationCachingFlag.VertexPosition | Cached frames will ONLY contain | + | The constant value " |
- | The other vertex data components | + | < |
+ | GORILLA_ANIMATION_CACHING_DEFAULT : TAnimationCachingFlags = [VertexPosition]; | ||
+ | </ | ||
+ | |||
+ | === Hint === | ||
+ | It is possible to combine compressed and vertex-position | ||
+ | |||
+ | < | ||
+ | GORILLA_ANIMATION_CACHING_COMPRESSEDEX = TAnimationCachingFlags = [TAnimationCachingFlag.Compressed, TAnimationCachingFlag.VertexPosition] | ||
+ | </ | ||
+ | |||
+ | === Framerate === | ||
+ | |||
+ | The caching framerate used is currently fixed to 60 FPS. | ||
+ | But in future | ||
Next step: [[materials|Materials]] | Next step: [[materials|Materials]] |