Introduction to Mesh Skinning
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:01Welcome to the off-topic stream on mesh skinning
🗩
0:01Welcome to the off-topic stream on mesh skinning
🗩
0:01Welcome to the off-topic stream on mesh skinning
🗩
1:31Our professional experience of mesh skinning
🗩
1:31Our professional experience of mesh skinning
🗩
1:31Our professional experience of mesh skinning
🗩
4:31Introduction to Mesh Skinning
4:31Introduction to Mesh Skinning
4:31Introduction to Mesh Skinning
5:33The bases for 3D graphics: Basic Transform
5:33The bases for 3D graphics: Basic Transform
5:33The bases for 3D graphics: Basic Transform
9:44Matrix multiplication
9:44Matrix multiplication
9:44Matrix multiplication
12:01The bases for 3D graphics: Linear Blend
12:01The bases for 3D graphics: Linear Blend
12:01The bases for 3D graphics: Linear Blend
15:56Convex (or Interpolated) Linear Blending
15:56Convex (or Interpolated) Linear Blending
15:56Convex (or Interpolated) Linear Blending
21:27Thinking of convex linear blending as a sum of terms
21:27Thinking of convex linear blending as a sum of terms
21:27Thinking of convex linear blending as a sum of terms
25:27Euclidean Norms
25:27Euclidean Norms
25:27Euclidean Norms
31:27Understanding norm(1), the Manhattan Distance
31:27Understanding norm(1), the Manhattan Distance
31:27Understanding norm(1), the Manhattan Distance
32:59Using norm(1) to produce a coherent convex blend equation
32:59Using norm(1) to produce a coherent convex blend equation
32:59Using norm(1) to produce a coherent convex blend equation
36:31Applying our norm(1) convex blend equation
36:31Applying our norm(1) convex blend equation
36:31Applying our norm(1) convex blend equation
39:01We've got a puss situation
🗩
39:01We've got a puss situation
🗩
39:01We've got a puss situation
🗩
39:17Simplifying our norm(1) convex blend equation
39:17Simplifying our norm(1) convex blend equation
39:17Simplifying our norm(1) convex blend equation
41:38Understanding why our norm(1) equation constrains us within 0 and 1
41:38Understanding why our norm(1) equation constrains us within 0 and 1
41:38Understanding why our norm(1) equation constrains us within 0 and 1
45:24Convex Multi-Point Blend
45:24Convex Multi-Point Blend
45:24Convex Multi-Point Blend
48:52General Blend Equation
48:52General Blend Equation
48:52General Blend Equation
52:56Mesh Skinning: The problem of disjoint objects when transformed
52:56Mesh Skinning: The problem of disjoint objects when transformed
52:56Mesh Skinning: The problem of disjoint objects when transformed
55:10Mesh Skinning: Sharing vertices, producing an undesirable collapse
55:10Mesh Skinning: Sharing vertices, producing an undesirable collapse
55:10Mesh Skinning: Sharing vertices, producing an undesirable collapse
58:14Mesh Skinning: Subtly blending between multiple collapses
58:14Mesh Skinning: Subtly blending between multiple collapses
58:14Mesh Skinning: Subtly blending between multiple collapses
1:01:02Mesh Skinning: Applying our General Blend Equation
1:01:02Mesh Skinning: Applying our General Blend Equation
1:01:02Mesh Skinning: Applying our General Blend Equation
1:05:54Traditional application of mesh skinning: Input - Rest Pose, Skeleton and Mesh
1:05:54Traditional application of mesh skinning: Input - Rest Pose, Skeleton and Mesh
1:05:54Traditional application of mesh skinning: Input - Rest Pose, Skeleton and Mesh
1:09:53Traditional application of mesh skinning: Output - Pose
1:09:53Traditional application of mesh skinning: Output - Pose
1:09:53Traditional application of mesh skinning: Output - Pose
1:11:25Using the inverse of the rest pose to pin a mesh to a skeleton
1:11:25Using the inverse of the rest pose to pin a mesh to a skeleton
1:11:25Using the inverse of the rest pose to pin a mesh to a skeleton
1:17:06The problem of storing the relative positions of multiple bones
1:17:06The problem of storing the relative positions of multiple bones
1:17:06The problem of storing the relative positions of multiple bones
1:20:14Composite Matrix / Transform: Model and store both the skeleton and mesh in the same space
1:20:14Composite Matrix / Transform: Model and store both the skeleton and mesh in the same space
1:20:14Composite Matrix / Transform: Model and store both the skeleton and mesh in the same space
1:26:50Preparing and applying the Composite Transform
1:26:50Preparing and applying the Composite Transform
1:26:50Preparing and applying the Composite Transform
1:30:49Practical considerations of handling many bones
1:30:49Practical considerations of handling many bones
1:30:49Practical considerations of handling many bones
1:34:32The End...?
1:34:32The End...?
1:34:32The End...?
1:35:00Critiquing Mesh Skinning
1:35:00Critiquing Mesh Skinning
1:35:00Critiquing Mesh Skinning
1:40:01Beyond Mesh Skinning: Simulation
1:40:01Beyond Mesh Skinning: Simulation
1:40:01Beyond Mesh Skinning: Simulation
1:42:57Beyond Mesh Skinning: Double Down Art Input
1:42:57Beyond Mesh Skinning: Double Down Art Input
1:42:57Beyond Mesh Skinning: Double Down Art Input
1:46:00Recommend Pose Space Deformation1
1:46:00Recommend Pose Space Deformation1
1:46:00Recommend Pose Space Deformation1
1:48:05Q&A
🗩
1:48:05Q&A
🗩
1:48:05Q&A
🗩
1:48:19vaualbus Q: For what version of granny had you worked?2
🗪
1:48:19vaualbus Q: For what version of granny had you worked?2
🗪
1:48:19vaualbus Q: For what version of granny had you worked?2
🗪
1:49:42somebody_took_my_name Q: Are the bone transform inverses stored relative to the mesh center?
🗪
1:49:42somebody_took_my_name Q: Are the bone transform inverses stored relative to the mesh center?
🗪
1:49:42somebody_took_my_name Q: Are the bone transform inverses stored relative to the mesh center?
🗪
1:50:13frostyninja Q: Please let Molly look out the window. She was trying so hard
🗪
1:50:13frostyninja Q: Please let Molly look out the window. She was trying so hard
🗪
1:50:13frostyninja Q: Please let Molly look out the window. She was trying so hard
🗪
1:50:17codeslasher Q: What file format would you recommend for beginners, and for someone not willing to use a lib like Assimp?
🗪
1:50:17codeslasher Q: What file format would you recommend for beginners, and for someone not willing to use a lib like Assimp?
🗪
1:50:17codeslasher Q: What file format would you recommend for beginners, and for someone not willing to use a lib like Assimp?
🗪
1:51:24lspaceyl Q: Would Bézier curves work for the fatty part of the arm? Probably be terrible3
🗪
1:51:24lspaceyl Q: Would Bézier curves work for the fatty part of the arm? Probably be terrible3
🗪
1:51:24lspaceyl Q: Would Bézier curves work for the fatty part of the arm? Probably be terrible3
🗪
1:53:13tetorashi Q: How often would composite bone matrices usually be updated? Per frame?
🗪
1:53:13tetorashi Q: How often would composite bone matrices usually be updated? Per frame?
🗪
1:53:13tetorashi Q: How often would composite bone matrices usually be updated? Per frame?
🗪
1:53:45bulmanator Q: How do quaternions fit into this?4
🗪
1:53:45bulmanator Q: How do quaternions fit into this?4
🗪
1:53:45bulmanator Q: How do quaternions fit into this?4
🗪
1:55:40devsigner Q: What kind of skinning will you use for Handmade Hero? Just basic bones and weights, and will you do this in the vertex shader?
🗪
1:55:40devsigner Q: What kind of skinning will you use for Handmade Hero? Just basic bones and weights, and will you do this in the vertex shader?
🗪
1:55:40devsigner Q: What kind of skinning will you use for Handmade Hero? Just basic bones and weights, and will you do this in the vertex shader?
🗪
1:55:53gaius_is_best_colossus Q: How do you recommend to go about learning a new language or technology? Is there a "wrong" way to do it?
🗪
1:55:53gaius_is_best_colossus Q: How do you recommend to go about learning a new language or technology? Is there a "wrong" way to do it?
🗪
1:55:53gaius_is_best_colossus Q: How do you recommend to go about learning a new language or technology? Is there a "wrong" way to do it?
🗪
1:56:01roam00010011 Q: Not on-topic but: Did I miss live Chartreuse?
🗪
1:56:01roam00010011 Q: Not on-topic but: Did I miss live Chartreuse?
🗪
1:56:01roam00010011 Q: Not on-topic but: Did I miss live Chartreuse?
🗪
1:56:25edvinholm Q: If you send a lot of data to the GPU and it doesn't have that much memory, is there some sort of virtual memory that will be used or will it crash?
🗪
1:56:25edvinholm Q: If you send a lot of data to the GPU and it doesn't have that much memory, is there some sort of virtual memory that will be used or will it crash?
🗪
1:56:25edvinholm Q: If you send a lot of data to the GPU and it doesn't have that much memory, is there some sort of virtual memory that will be used or will it crash?
🗪
1:57:22vaualbus Q: So the lerp vs slerp is in the animation system and not in the skinning system? Or I missed when you said the revelation you had back in the time?
🗪
1:57:22vaualbus Q: So the lerp vs slerp is in the animation system and not in the skinning system? Or I missed when you said the revelation you had back in the time?
🗪
1:57:22vaualbus Q: So the lerp vs slerp is in the animation system and not in the skinning system? Or I missed when you said the revelation you had back in the time?
🗪
2:00:00roam00010011 Q: Coordinates, you've drawn Z as up, while in OpenGL Z is deep
🗪
2:00:00roam00010011 Q: Coordinates, you've drawn Z as up, while in OpenGL Z is deep
🗪
2:00:00roam00010011 Q: Coordinates, you've drawn Z as up, while in OpenGL Z is deep
🗪
2:00:40Mirror Analogy: In Your Head vs In Reality
2:00:40Mirror Analogy: In Your Head vs In Reality
2:00:40Mirror Analogy: In Your Head vs In Reality
2:04:23lspaceyl Q: The ligament seem to have a bearing on the arm movement. Also the pivot of the arm, knee, shoulder seem to be on the outside and not the centre. Which makes me think we are thinking about the problem naively. Who knows?
🗪
2:04:23lspaceyl Q: The ligament seem to have a bearing on the arm movement. Also the pivot of the arm, knee, shoulder seem to be on the outside and not the centre. Which makes me think we are thinking about the problem naively. Who knows?
🗪
2:04:23lspaceyl Q: The ligament seem to have a bearing on the arm movement. Also the pivot of the arm, knee, shoulder seem to be on the outside and not the centre. Which makes me think we are thinking about the problem naively. Who knows?
🗪
2:04:43Bone placement in a mesh skinning system
2:04:43Bone placement in a mesh skinning system
2:04:43Bone placement in a mesh skinning system
2:05:09roam00010011 Q: And last, I'm in Redmond, so if you want to use that Chartreuse...
🗪
2:05:09roam00010011 Q: And last, I'm in Redmond, so if you want to use that Chartreuse...
🗪
2:05:09roam00010011 Q: And last, I'm in Redmond, so if you want to use that Chartreuse...
🗪
2:05:19Brian Q: Greetings Casey. I've been going through the multithreading code and remember one episode you were talking about loading the asset files in chunks (not all at once). Did you go over how to have one thread read from disk, while another thread processes the data? I'm just trying to wrap my head around doing it in parallel (making sure data processed is in correct order)
🗪
2:05:19Brian Q: Greetings Casey. I've been going through the multithreading code and remember one episode you were talking about loading the asset files in chunks (not all at once). Did you go over how to have one thread read from disk, while another thread processes the data? I'm just trying to wrap my head around doing it in parallel (making sure data processed is in correct order)
🗪
2:05:19Brian Q: Greetings Casey. I've been going through the multithreading code and remember one episode you were talking about loading the asset files in chunks (not all at once). Did you go over how to have one thread read from disk, while another thread processes the data? I'm just trying to wrap my head around doing it in parallel (making sure data processed is in correct order)
🗪
2:05:35codeslasher Q: Following on from what you've explained about coordinate systems in OpenGL and how we choose it: What do we need to do to setup Z up instead?
🗪
2:05:35codeslasher Q: Following on from what you've explained about coordinate systems in OpenGL and how we choose it: What do we need to do to setup Z up instead?
🗪
2:05:35codeslasher Q: Following on from what you've explained about coordinate systems in OpenGL and how we choose it: What do we need to do to setup Z up instead?
🗪
2:06:18sagian2005 Q: Your electrical storm yesterday actually made national headlines
🗪
2:06:18sagian2005 Q: Your electrical storm yesterday actually made national headlines
🗪
2:06:18sagian2005 Q: Your electrical storm yesterday actually made national headlines
🗪
2:06:22Wrap it up
🗩
2:06:22Wrap it up
🗩
2:06:22Wrap it up
🗩
You have arrived at the (current) end of Handmade Chat