Skinning Sample


Category:  Visuals
Min PC GPU: Fermi-based (GTX 4xx)
Min Tegra Device: Tegra 3

Description

This sample demonstrates how to render skinned meshes using both one or two bones in a vertex shader. Skinning allows organic shapes (such as humans) to deform nicely around joints as they bend. Without skinning, joints have a rigid appearance that is more similar to a mechanical joint like you would see in a robot.

APIs Used

Shared User Interface

The OpenGL samples all share a common app framework and certain user interface elements, centered around the "Tweakbar" panel on the left side of the screen, which lets you interactively control certain variables in each sample.

To show and hide the Tweakbar, simply click or touch the triangular button positioned in the top-left of the view.

Other controls are listed below:

Device Input Result
touch 1-Finger Drag Orbit-rotate the camera
2-Finger Drag Move up/down/left/right
2-Finger Pinch Scale the view
mouse Left-Button Drag Orbit-rotate the camera
Right-Button Drag Move up/down/left/right
Middle-Click Drag Scale the view (up:out, down:in)
keyboard Escape Quit the application
  Tab Toggle Tweakbar visibility
gamepad Start Toggle Tweakbar visibility
  Right Thumbstick Orbit-rotate the camera
  Left Thumbstick Move forward/backward. Slide left/right
  Left/Right Triggers Move up/down

App-Specific Controls

This sample has the following app-specific controls:

Device Input Result
keyboard M Cycle Rendering Mode
B Toggle Single Bone Skinning
[ and ] Adjust Animation Speed Slower/Faster
gamepad Y Cycle Rendering Mode
X Toggle Single Bone Skinning
  Left/Right Shoulder Buttons Adjust Animation Speed Slower/Faster

Technical Details

Skinning methods

  1. Two bone skinning
  2. One bone skinning

Adjustable Options

The TweakBar features the following options you can adjust:

Conclusion

Skinning is a good way to improve the quality of animated, organic meshes at a reasonable vertex shader cost.

 

 


NVIDIA® GameWorks™ Documentation Rev. 1.0.200608 ©2014-2020. NVIDIA Corporation. All Rights Reserved.