All Projects → pmbittner → OptimisedCentresOfRotationSkinning

pmbittner / OptimisedCentresOfRotationSkinning

Licence: other
Library to Compute Centres of Rotation for Optimised Centres of Rotation Skinning by Le and Hodgins 2016 "Real-time Skeletal Skinning with Optimized Centers of Rotation"

Programming Languages

C++
36643 projects - #6 most used programming language
GLSL
2045 projects
CMake
9771 projects

Projects that are alternatives of or similar to OptimisedCentresOfRotationSkinning

FNode
Tool based in nodes to build GLSL shaders without any programming knowledge written in C using OpenGL and GLFW.
Stars: ✭ 81 (+189.29%)
Mutual labels:  glsl, glsl-shaders
glsl-doodle
Drawing patterns with glsl shaders on modern browsers.
Stars: ✭ 53 (+89.29%)
Mutual labels:  glsl, glsl-shaders
qml-glsl-coder
live editor of GLSL fragment shaders based on Qt / QML
Stars: ✭ 19 (-32.14%)
Mutual labels:  glsl, glsl-shaders
React Regl
React Fiber Reconciler Renderer for Regl WebGL
Stars: ✭ 171 (+510.71%)
Mutual labels:  glsl, glsl-shaders
YALCT
Yet Another Live Coding Tool - Powered by Veldrid and elbow grease
Stars: ✭ 25 (-10.71%)
Mutual labels:  glsl, glsl-shaders
glNoise
A collection of GLSL noise functions for use with WebGL with an easy to use API.
Stars: ✭ 185 (+560.71%)
Mutual labels:  glsl, glsl-shaders
3D interactive graphics rendering engine
Develop a 3D interactive graphics rendering engine
Stars: ✭ 31 (+10.71%)
Mutual labels:  glsl, glsl-shaders
Thebookofshaders
Step-by-step guide through the abstract and complex universe of Fragment Shaders.
Stars: ✭ 4,070 (+14435.71%)
Mutual labels:  glsl, glsl-shaders
kotlin-glsl
Write your GLSL shaders in Kotlin.
Stars: ✭ 30 (+7.14%)
Mutual labels:  glsl, glsl-shaders
limitless-engine
OpenGL C++ Graphics Engine
Stars: ✭ 95 (+239.29%)
Mutual labels:  glsl, skeletal-animation
Radiance
Radiance is video art software for VJs. It supports beat detection, animated GIFs, YouTube video, OpenGL shader effects. It is designed for live performance and runs on Linux and MacOS.
Stars: ✭ 109 (+289.29%)
Mutual labels:  glsl, glsl-shaders
deffx
A collection of useful shader effects made ready to be used with the Defold game engine
Stars: ✭ 33 (+17.86%)
Mutual labels:  glsl, glsl-shaders
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+41678.57%)
Mutual labels:  glsl, glsl-shaders
ModularMusicVisualizer
Project in Hiatus, unmaintained, being rewritten privately. Will Open Source when stuff is ready. Project will be Renamed.
Stars: ✭ 81 (+189.29%)
Mutual labels:  glsl, glsl-shaders
Shaderkit
A library of fragment shaders you can use in any SpriteKit project.
Stars: ✭ 488 (+1642.86%)
Mutual labels:  glsl, glsl-shaders
ShaderBoy
Simple text editor that lets you write Shadertoy shaders more comfortably, anytime, anywhere.
Stars: ✭ 133 (+375%)
Mutual labels:  glsl, glsl-shaders
Vuh
Vulkan compute for people
Stars: ✭ 264 (+842.86%)
Mutual labels:  glsl, glsl-shaders
Webgl Fundamentals
WebGL lessons that start with the basics
Stars: ✭ 3,315 (+11739.29%)
Mutual labels:  glsl, glsl-shaders
gamedex
👾 The code for my game dev + computer graphics experiments on YouTube.
Stars: ✭ 165 (+489.29%)
Mutual labels:  glsl, glsl-shaders
ShaderView
ShaderView is an Android View that makes it easy to use GLSL shaders for your app. It's the modern way to use shaders for Android instead of RenderScript.
Stars: ✭ 53 (+89.29%)
Mutual labels:  glsl, glsl-shaders

CoRCalculator - Library to Compute Centres of Rotation for Optimised Centres of Rotation Skinning

An example on how to use the library is given in example.cpp.

The CMake file is tested on Linux and Windows.

When compiled with the flag COR_ENABLE_PROFILING, the CoRCalculator will print the times it has needed for each step.

The library has to be linked with the option -pthread, as it uses multithreading (std::async).

Dependencies

This library solely depends on the header-only library glm. On Linux, installing libglm-dev with apt suffices. On Windows, finding glm may require some changes, as we do it manually.

Shader

We provide GLSL vertex shader logic for these three skeletal skinning techniques:

The file skeletons.glsl contains the perform_skinning function, that computes one of these three methods, depending on a uniform variable. The files quaternion.glsl and dualquaternion.glsl each contain utility functions for their respective mathematics and have to be compiled together with the vertex shader because they are required by skeletons.glsl. We split these files so that you may pick what you need, since the skeletons.glsl file has to be customized anyway (especially the layout locations of the attributes).

Citation

This repository contains code corresponding to:

P. Bittner, JP Tauscher, S. Grogorick, M. Magnor. Evaluation of Optimised Centres of Rotation Skinning. Poster @ International Conference on Computational Visual Media (CVM) 2019

N. Magnenat-Thalmann, R. Laperrire, and D. Thalmann. Joint-dependent local deformations for hand animation and object grasping. In Proceedings on Graphics interface’88. Citeseer, 1988

L. Kavan, S. Collins, J.Žára, and C. O'Sullivan. Skinning with dual quaternions. In Proceedings of the 2007 symposium on Interactive 3D graphics and games, pages 39–46.ACM, 2007

B. H. Le and J. K. Hodgins. Real-time skeletal skinning with optimized centers of rotation. ACM Transactions on Graphics (TOG), 35(4):37, 2016

Please cite as:

@misc{bittner2019evaluation,
  title = {Evaluation of Optimised Centres of Rotation Skinning},
  author = {Bittner, Paul Maximilian and Tauscher, Jan-Philipp and Grogorick, Steve and Magnor, Marcus},
  howpublished = {Poster @ International Conference on Computational Visual Media 2019},
  month = {Apr},
  year = {2019}
}

License

Copyright (c) 2019 Paul Maximilian Bittner, Technische Universität Braunschweig

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

You understand and agree that the authors are under no obligation to provide either maintenance services, update services, notices of latent defects, or corrections of defects with regard to the Software. The authors nevertheless reserve the right to update, modify, or discontinue the Software at any time.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. You agree to cite the papers "Evaluation of Optimised Centres of Rotation Skinning", "Joint-dependent local deformations for hand animation and object grasping", "Skinning with dual quaternions" and "Real-time skeletal skinning with optimized centers of rotation" in documents and papers that report on research using this Software.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].