length
This commit is contained in:
16
skin.cm
16
skin.cm
@@ -13,7 +13,7 @@ function prepare_skins(model) {
|
||||
|
||||
var prepared = []
|
||||
|
||||
for (var si = 0; si < g.skins.length; si++) {
|
||||
for (var si = 0; si < length(g.skins); si++) {
|
||||
var skin = g.skins[si]
|
||||
|
||||
// Extract inverse bind matrices
|
||||
@@ -37,7 +37,7 @@ function prepare_skins(model) {
|
||||
prepared.push({
|
||||
name: skin.name,
|
||||
joints: skin.joints,
|
||||
joint_count: skin.joints.length,
|
||||
joint_count: length(skin.joints),
|
||||
inv_bind: inv_bind_blob,
|
||||
skeleton: skin.skeleton,
|
||||
palette: null // Will be built each frame
|
||||
@@ -50,11 +50,11 @@ function prepare_skins(model) {
|
||||
// Build joint palette for a skin
|
||||
// This computes world * inv_bind for each joint
|
||||
function build_palette(skin, model, retro3d) {
|
||||
if (!skin || !skin.joints || skin.joints.length == 0) return null
|
||||
if (!skin || !skin.joints || length(skin.joints) == 0) return null
|
||||
|
||||
// Collect world matrices for each joint
|
||||
var world_matrices = []
|
||||
for (var j = 0; j < skin.joints.length; j++) {
|
||||
for (var j = 0; j < length(skin.joints); j++) {
|
||||
var node_idx = skin.joints[j]
|
||||
var node = model.nodes[node_idx]
|
||||
if (node) {
|
||||
@@ -71,7 +71,7 @@ function build_palette(skin, model, retro3d) {
|
||||
|
||||
// Get a joint's world matrix (for attachments)
|
||||
function get_joint_world(skin, joint_index, model, retro3d) {
|
||||
if (!skin || joint_index >= skin.joints.length) {
|
||||
if (!skin || joint_index >= length(skin.joints)) {
|
||||
return model_c.mat4_identity()
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ function get_joint_world(skin, joint_index, model, retro3d) {
|
||||
function find_joint(skin, name, model) {
|
||||
if (!skin || !skin.joints) return -1
|
||||
|
||||
for (var j = 0; j < skin.joints.length; j++) {
|
||||
for (var j = 0; j < length(skin.joints); j++) {
|
||||
var node_idx = skin.joints[j]
|
||||
var node = model.nodes[node_idx]
|
||||
if (node && node.name == name) return j
|
||||
@@ -98,7 +98,7 @@ function find_joint(skin, name, model) {
|
||||
function joint_from_node(skin, node_idx) {
|
||||
if (!skin || !skin.joints) return -1
|
||||
|
||||
for (var j = 0; j < skin.joints.length; j++) {
|
||||
for (var j = 0; j < length(skin.joints); j++) {
|
||||
if (skin.joints[j] == node_idx) return j
|
||||
}
|
||||
return -1
|
||||
@@ -106,7 +106,7 @@ function joint_from_node(skin, node_idx) {
|
||||
|
||||
// Get node index from joint index
|
||||
function node_from_joint(skin, joint_idx) {
|
||||
if (!skin || !skin.joints || joint_idx >= skin.joints.length) return -1
|
||||
if (!skin || !skin.joints || joint_idx >= length(skin.joints)) return -1
|
||||
return skin.joints[joint_idx]
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user