Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal for morph/skinning compression #165

Closed
kmammou opened this issue Oct 22, 2013 · 4 comments
Closed

Proposal for morph/skinning compression #165

kmammou opened this issue Oct 22, 2013 · 4 comments

Comments

@kmammou
Copy link

kmammou commented Oct 22, 2013

For morph/skinning compression, I would like to propose the following approach.

Let's say that we have a base mesh M with the following associated attributes:

M.position: vertices positions,
M.normal: vertices normals,
M.floatAttribute0: vertices texCoord set 0,
M.floatAttribute1: vertices texCoord set 1,
M.floatAttribute2: vertices animation weights,
M.intAttribute0: vertices joint IDs.
Let T(0), T(1), ..., T(n) be the associated morphing targets and let's suppose than only the vertices positions and attributes are update by the morphing. Therefore, only the following information need to be stored for each target T(i):

T(i).position: vertices positions, and
T(i).normal: vertices normals.
I propose to encode {M, (Ti)i} in one stream to be able to exploit the correlations between the base mesh M and the targets (Ti)i. More precisely, we will encode a mesh C composed of the following information:

C.position = M.position,
C.normal = M.normal,
C.floatAttribute0: vertices texCoord set 0,
C.floatAttribute1: vertices texCoord set 1,
C.floatAttribute2: vertices animation weights,
C.intAttribute0: vertices joint IDs.
C.floatAttribute3 = T(0).position- M.position,
C.floatAttribute4 = T(0).normal - M.normal,
C.floatAttribute5 = T(1).position - M.position,
C.floatAttribute6 = T(1).normal- M.normal, ...
C.floatAttribute2n+3 = T(n).position - M.position,
C.floatAttribute2n+4 = T(n).normal- M.normal,
Any thoughts?

@pjcozzi
Copy link
Member

pjcozzi commented Nov 25, 2014

@fabrobinet post 1.0?

@fabrobinet
Copy link
Contributor

yes, post 1.0

@fabrobinet fabrobinet modified the milestones: post 1.0, Spec 1.0 Nov 25, 2014
@pjcozzi pjcozzi removed this from the post 1.0 milestone Aug 27, 2015
@pjcozzi
Copy link
Member

pjcozzi commented Dec 23, 2017

@FrankGalligan do you have any interest/plans for morph/skin compression? Is this a useful issue to keep open here?

@donmccurdy
Copy link
Contributor

Closing, I think we have both interest and tentative plans to iterate from KHR_draco_mesh_compression to support morphs, skinning, or both, but probably do not need an issue open at this stage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants