window['packerplugin'] = {
'textures': ['texture']
};
window['packerplugin']['json'] = {};
window['packerplugin']['json']['texture'] = '{\x22frames\x22:\x20{\x22media/graphics/sprites/button-continue.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x202,\x20\x22x\x22:\x201962,\x20\x22w\x22:\x2084,\x20\x22h\x22:\x2079},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2079,\x20\x22w\x22:\x2084},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2084,\x20\x22h\x22:\x2079}},\x20\x22media/graphics/sprites/button-reset-game.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x201931,\x20\x22x\x22:\x20676,\x20\x22w\x22:\x20120,\x20\x22h\x22:\x20113},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20113,\x20\x22w\x22:\x20120},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20120,\x20\x22h\x22:\x20113}},\x20\x22media/graphics/sprites/icon-sfx.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20128,\x20\x22x\x22:\x20808,\x20\x22w\x22:\x2038,\x20\x22h\x22:\x2037},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2037,\x20\x22w\x22:\x2038},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2038,\x20\x22h\x22:\x2037}},\x20\x22media/graphics/opening/kittytitle.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20640,\x20\x22x\x22:\x20546,\x20\x22w\x22:\x20380,\x20\x22h\x22:\x20296},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20296,\x20\x22w\x22:\x20380},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20380,\x20\x22h\x22:\x20296}},\x20\x22media/graphics/sprites/coin.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20364,\x20\x22x\x22:\x20546,\x20\x22w\x22:\x2051,\x20\x22h\x22:\x2054},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2054,\x20\x22w\x22:\x2051},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2051,\x20\x22h\x22:\x2054}},\x20\x22media/graphics/sprites/gameover-bg.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x202,\x20\x22x\x22:\x201535,\x20\x22w\x22:\x20423,\x20\x22h\x22:\x20147},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20147,\x20\x22w\x22:\x20423},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20423,\x20\x22h\x22:\x20147}},\x20\x22media/graphics/sprites/button-exit.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20128,\x20\x22x\x22:\x20724,\x20\x22w\x22:\x2040,\x20\x22h\x22:\x2040},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2040,\x20\x22w\x22:\x2040},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2040,\x20\x22h\x22:\x2040}},\x20\x22media/graphics/sprites/icon-bgm.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20128,\x20\x22x\x22:\x20768,\x20\x22w\x22:\x2036,\x20\x22h\x22:\x2039},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2039,\x20\x22w\x22:\x2036},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2036,\x20\x22h\x22:\x2039}},\x20\x22media/graphics/sprites/title.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20353,\x20\x22x\x22:\x20924,\x20\x22w\x22:\x20389,\x20\x22h\x22:\x20242},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20242,\x20\x22w\x22:\x20389},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20389,\x20\x22h\x22:\x20242}},\x20\x22media/graphics/sprites/button-reward-collect.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20435,\x20\x22x\x22:\x201944,\x20\x22w\x22:\x2090,\x20\x22h\x22:\x2031},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2031,\x20\x22w\x22:\x2090},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2090,\x20\x22h\x22:\x2031}},\x20\x22media/graphics/sprites/booster-popup.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x201620,\x20\x22x\x22:\x20552,\x20\x22w\x22:\x20467,\x20\x22h\x22:\x20307},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20307,\x20\x22w\x22:\x20467},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20467,\x20\x22h\x22:\x20307}},\x20\x22media/graphics/sprites/button-play.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x202,\x20\x22x\x22:\x20546,\x20\x22w\x22:\x20174,\x20\x22h\x22:\x20164},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20164,\x20\x22w\x22:\x20174},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20174,\x20\x22h\x22:\x20164}},\x20\x22media/graphics/sprites/button-buy.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20305,\x20\x22x\x22:\x20546,\x20\x22w\x22:\x20120,\x20\x22h\x22:\x2055},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2055,\x20\x22w\x22:\x20120},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20120,\x20\x22h\x22:\x2055}},\x20\x22media/graphics/sprites/hand.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20470,\x20\x22x\x22:\x201944,\x20\x22w\x22:\x2078,\x20\x22h\x22:\x2092},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2092,\x20\x22w\x22:\x2078},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2078,\x20\x22h\x22:\x2092}},\x20\x22media/graphics/sprites/button-more-games.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x201931,\x20\x22x\x22:\x20552,\x20\x22w\x22:\x20120,\x20\x22h\x22:\x20113},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20113,\x20\x22w\x22:\x20120},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20120,\x20\x22h\x22:\x20113}},\x20\x22media/graphics/sprites/button-booster-2.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20501,\x20\x22x\x22:\x20672,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20122,\x20\x22w\x22:\x20122},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122}},\x20\x22media/graphics/sprites/game-over.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20153,\x20\x22x\x22:\x201535,\x20\x22w\x22:\x20418,\x20\x22h\x22:\x2070},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2070,\x20\x22w\x22:\x20418},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20418,\x20\x22h\x22:\x2070}},\x20\x22media/graphics/sprites/extra-life-splash.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x202,\x20\x22x\x22:\x20878,\x20\x22w\x22:\x20150,\x20\x22h\x22:\x20166},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20166,\x20\x22w\x22:\x20150},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20150,\x20\x22h\x22:\x20166}},\x20\x22media/graphics/sprites/icon-booster-2.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20305,\x20\x22x\x22:\x20798,\x20\x22w\x22:\x2070,\x20\x22h\x22:\x2070},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2070,\x20\x22w\x22:\x2070},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2070,\x20\x22h\x22:\x2070}},\x20\x22media/graphics/sprites/button-pause.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20245,\x20\x22x\x22:\x201256,\x20\x22w\x22:\x2057,\x20\x22h\x22:\x2062},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2062,\x20\x22w\x22:\x2057},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2057,\x20\x22h\x22:\x2062}},\x20\x22media/graphics/sprites/lock.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20245,\x20\x22x\x22:\x201078,\x20\x22w\x22:\x2050,\x20\x22h\x22:\x2070},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2070,\x20\x22w\x22:\x2050},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2050,\x20\x22h\x22:\x2070}},\x20\x22media/graphics/sprites/dot.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20227,\x20\x22x\x22:\x201004,\x20\x22w\x22:\x2028,\x20\x22h\x22:\x2032},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2032,\x20\x22w\x22:\x2028},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2028,\x20\x22h\x22:\x2032}},\x20\x22media/graphics/sprites/button-home.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x2085,\x20\x22x\x22:\x201962,\x20\x22w\x22:\x2084,\x20\x22h\x22:\x2079},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2079,\x20\x22w\x22:\x2084},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2084,\x20\x22h\x22:\x2079}},\x20\x22media/graphics/sprites/tutorial-bg.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x202,\x20\x22x\x22:\x201047,\x20\x22w\x22:\x20484,\x20\x22h\x22:\x20239},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20239,\x20\x22w\x22:\x20484},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20484,\x20\x22h\x22:\x20239}},\x20\x22media/graphics/sprites/icon-booster-1.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20566,\x20\x22x\x22:\x201944,\x20\x22w\x22:\x2076,\x20\x22h\x22:\x2070},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2070,\x20\x22w\x22:\x2076},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2076,\x20\x22h\x22:\x2070}},\x20\x22media/graphics/sprites/button-start-drift.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20227,\x20\x22x\x22:\x20546,\x20\x22w\x22:\x20303,\x20\x22h\x22:\x2074},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2074,\x20\x22w\x22:\x20303},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20303,\x20\x22h\x22:\x2074}},\x20\x22media/graphics/sprites/reward-box.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20251,\x20\x22x\x22:\x201944,\x20\x22w\x22:\x20100,\x20\x22h\x22:\x20180},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20180,\x20\x22w\x22:\x20100},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20100,\x20\x22h\x22:\x20180}},\x20\x22media/graphics/sprites/select-boosters.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20172,\x20\x22x\x22:\x20546,\x20\x22w\x22:\x20477,\x20\x22h\x22:\x2051},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2051,\x20\x22w\x22:\x20477},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20477,\x20\x22h\x22:\x2051}},\x20\x22media/graphics/sprites/dailyreward-popup.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x201620,\x20\x22x\x22:\x202,\x20\x22w\x22:\x20546,\x20\x22h\x22:\x20402},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20402,\x20\x22w\x22:\x20546},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20546,\x20\x22h\x22:\x20402}},\x20\x22media/graphics/sprites/buy-disable.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20362,\x20\x22x\x22:\x20670,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x2053},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2053,\x20\x22w\x22:\x20122},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x2053}},\x20\x22media/graphics/sprites/button-reward.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x201931,\x20\x22x\x22:\x20800,\x20\x22w\x22:\x20120,\x20\x22h\x22:\x20113},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20113,\x20\x22w\x22:\x20120},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20120,\x20\x22h\x22:\x20113}},\x20\x22media/graphics/sprites/button-minimize.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20245,\x20\x22x\x22:\x201194,\x20\x22w\x22:\x2058,\x20\x22h\x22:\x2062},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2062,\x20\x22w\x22:\x2058},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2058,\x20\x22h\x22:\x2062}},\x20\x22media/graphics/sprites/slider.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20453,\x20\x22x\x22:\x20546,\x20\x22w\x22:\x20210,\x20\x22h\x22:\x2027},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2027,\x20\x22w\x22:\x20210},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20210,\x20\x22h\x22:\x2027}},\x20\x22media/graphics/splash/loading.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x202,\x20\x22x\x22:\x202,\x20\x22w\x22:\x20540,\x20\x22h\x22:\x20960},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20960,\x20\x22w\x22:\x20540},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20540,\x20\x22h\x22:\x20960}},\x20\x22media/graphics/sprites/booster-disable.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x202,\x20\x22x\x22:\x20724,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20122,\x20\x22w\x22:\x20122},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122}},\x20\x22media/graphics/sprites/bg-popup.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20227,\x20\x22x\x22:\x201535,\x20\x22w\x22:\x20405,\x20\x22h\x22:\x20270},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20270,\x20\x22w\x22:\x20405},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20405,\x20\x22h\x22:\x20270}},\x20\x22media/graphics/opening/kitty.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20966,\x20\x22x\x22:\x202,\x20\x22w\x22:\x20872,\x20\x22h\x22:\x20650},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20650,\x20\x22w\x22:\x20872},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20872,\x20\x22h\x22:\x20650}},\x20\x22media/graphics/sprites/button-buy-booster.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20305,\x20\x22x\x22:\x20670,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x2053},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2053,\x20\x22w\x22:\x20122},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x2053}},\x20\x22media/graphics/sprites/button-maximize.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20245,\x20\x22x\x22:\x201132,\x20\x22w\x22:\x2058,\x20\x22h\x22:\x2062},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2062,\x20\x22w\x22:\x2058},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2058,\x20\x22h\x22:\x2062}},\x20\x22media/graphics/sprites/icon-check.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20263,\x20\x22x\x22:\x201004,\x20\x22w\x22:\x2070,\x20\x22h\x22:\x2070},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2070,\x20\x22w\x22:\x2070},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2070,\x20\x22h\x22:\x2070}},\x20\x22media/graphics/sprites/left.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20353,\x20\x22x\x22:\x20872,\x20\x22w\x22:\x2040,\x20\x22h\x22:\x2060},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2060,\x20\x22w\x22:\x2040},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2040,\x20\x22h\x22:\x2060}},\x20\x22media/graphics/sprites/button-booster-3.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20501,\x20\x22x\x22:\x20798,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20122,\x20\x22w\x22:\x20122},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122}},\x20\x22media/graphics/sprites/booster-selected.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20227,\x20\x22x\x22:\x20878,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20122,\x20\x22w\x22:\x20122},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122}},\x20\x22media/graphics/sprites/button-settings.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x201931,\x20\x22x\x22:\x20924,\x20\x22w\x22:\x20119,\x20\x22h\x22:\x20113},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20113,\x20\x22w\x22:\x20119},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20119,\x20\x22h\x22:\x20113}},\x20\x22media/graphics/sprites/button-restart.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20168,\x20\x22x\x22:\x201957,\x20\x22w\x22:\x2084,\x20\x22h\x22:\x2079},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2079,\x20\x22w\x22:\x2084},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2084,\x20\x22h\x22:\x2079}},\x20\x22media/graphics/sprites/button-booster-1.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20501,\x20\x22x\x22:\x20546,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x20122,\x20\x22w\x22:\x20122},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x20122,\x20\x22h\x22:\x20122}},\x20\x22media/graphics/sprites/icon-booster-3.png\x22:\x20{\x22frame\x22:\x20{\x22y\x22:\x20379,\x20\x22x\x22:\x20798,\x20\x22w\x22:\x2070,\x20\x22h\x22:\x2070},\x20\x22rotated\x22:\x20false,\x20\x22trimmed\x22:\x20false,\x20\x22pivot\x22:\x20{\x22y\x22:\x200.5,\x20\x22x\x22:\x200.5},\x20\x22sourceSize\x22:\x20{\x22h\x22:\x2070,\x20\x22w\x22:\x2070},\x20\x22spriteSourceSize\x22:\x20{\x22y\x22:\x200,\x20\x22x\x22:\x200,\x20\x22w\x22:\x2070,\x20\x22h\x22:\x2070}}},\x20\x22meta\x22:\x20{\x22scale\x22:\x201,\x20\x22format\x22:\x20\x22RGBA8888\x22,\x20\x22app\x22:\x20\x22http://github.com/odrick/free-tex-packer-cli\x22,\x20\x22version\x22:\x20\x220.3.0\x22,\x20\x22image\x22:\x20\x22texture.png\x22,\x20\x22size\x22:\x20{\x22h\x22:\x202046,\x20\x22w\x22:\x202048}}}';
!function(_0x4d69d3, _0x142339) {
'object' == typeof exports && 'object' == typeof module ? module['exports'] = _0x142339() : 'function' == typeof define && define['amd'] ? define('babylonjs', [], _0x142339) : 'object' == typeof exports ? exports['babylonjs'] = _0x142339() : _0x4d69d3['BABYLON'] = _0x142339();
}('undefined' != typeof self ? self : 'undefined' != typeof global ? global : this, function() {
return function(_0x2a84bf) {
var _0x41f161 = {};
function _0x142f48(_0xf01f76) {
if (_0x41f161[_0xf01f76])
return _0x41f161[_0xf01f76]['exports'];
var _0x4fd0f2 = _0x41f161[_0xf01f76] = {
'i': _0xf01f76,
'l': !0x1,
'exports': {}
};
return _0x2a84bf[_0xf01f76]['call'](_0x4fd0f2['exports'], _0x4fd0f2, _0x4fd0f2['exports'], _0x142f48),
_0x4fd0f2['l'] = !0x0,
_0x4fd0f2['exports'];
}
return _0x142f48['m'] = _0x2a84bf,
_0x142f48['c'] = _0x41f161,
_0x142f48['d'] = function(_0x53b9da, _0x20d078, _0x526c5a) {
_0x142f48['o'](_0x53b9da, _0x20d078) || Object['defineProperty'](_0x53b9da, _0x20d078, {
'enumerable': !0x0,
'get': _0x526c5a
});
}
,
_0x142f48['r'] = function(_0x4facea) {
'undefined' != typeof Symbol && Symbol['toStringTag'] && Object['defineProperty'](_0x4facea, Symbol['toStringTag'], {
'value': 'Module'
}),
Object['defineProperty'](_0x4facea, '__esModule', {
'value': !0x0
});
}
,
_0x142f48['t'] = function(_0x3f142d, _0x40532d) {
if (0x1 & _0x40532d && (_0x3f142d = _0x142f48(_0x3f142d)),
0x8 & _0x40532d)
return _0x3f142d;
if (0x4 & _0x40532d && 'object' == typeof _0x3f142d && _0x3f142d && _0x3f142d['__esModule'])
return _0x3f142d;
var _0x35b2ac = Object['create'](null);
if (_0x142f48['r'](_0x35b2ac),
Object['defineProperty'](_0x35b2ac, 'default', {
'enumerable': !0x0,
'value': _0x3f142d
}),
0x2 & _0x40532d && 'string' != typeof _0x3f142d)
for (var _0x4f630e in _0x3f142d)
_0x142f48['d'](_0x35b2ac, _0x4f630e, function(_0x3f7c61) {
return _0x3f142d[_0x3f7c61];
}
['bind'](null, _0x4f630e));
return _0x35b2ac;
}
,
_0x142f48['n'] = function(_0x2922b3) {
var _0x1a0505 = _0x2922b3 && _0x2922b3['__esModule'] ? function() {
return _0x2922b3['default'];
}
: function() {
return _0x2922b3;
}
;
return _0x142f48['d'](_0x1a0505, 'a', _0x1a0505),
_0x1a0505;
}
,
_0x142f48['o'] = function(_0x25e1a0, _0x2bf4bd) {
return Object['prototype']['hasOwnProperty']['call'](_0x25e1a0, _0x2bf4bd);
}
,
_0x142f48['p'] = '',
_0x142f48(_0x142f48['s'] = 0x81);
}([function(_0x41b357, _0x9cec24, _0x229f34) {
'use strict';
_0x229f34['d'](_0x9cec24, 'u', function() {
return _0x53f190;
}),
_0x229f34['d'](_0x9cec24, 'v', function() {
return _0x5e9455;
}),
_0x229f34['d'](_0x9cec24, 'h', function() {
return _0x3e57e9;
}),
_0x229f34['d'](_0x9cec24, 'e', function() {
return _0x30c94a;
}),
_0x229f34['d'](_0x9cec24, 'f', function() {
return _0x3acf15;
}),
_0x229f34['d'](_0x9cec24, 'w', function() {
return _0x461b0a;
}),
_0x229f34['d'](_0x9cec24, 'x', function() {
return _0x3fbe20;
}),
_0x229f34['d'](_0x9cec24, 'y', function() {
return _0x298fee;
}),
_0x229f34['d'](_0x9cec24, 'r', function() {
return _0x1232e4;
}),
_0x229f34['d'](_0x9cec24, 'q', function() {
return _0x897ad5;
}),
_0x229f34['d'](_0x9cec24, 'j', function() {
return _0x5e57bc;
}),
_0x229f34['d'](_0x9cec24, 'n', function() {
return _0x289f15;
}),
_0x229f34['d'](_0x9cec24, 'z', function() {
return _0x34efa7;
}),
_0x229f34['d'](_0x9cec24, 'i', function() {
return _0x4a31f7;
}),
_0x229f34['d'](_0x9cec24, 's', function() {
return _0x51c4bf;
}),
_0x229f34['d'](_0x9cec24, 'c', function() {
return _0x5cc191;
}),
_0x229f34['d'](_0x9cec24, 'd', function() {
return _0x36e0cc;
}),
_0x229f34['d'](_0x9cec24, 'k', function() {
return _0x388ee5;
}),
_0x229f34['d'](_0x9cec24, 'a', function() {
return _0x21c421;
}),
_0x229f34['d'](_0x9cec24, 'b', function() {
return _0x2333b1;
}),
_0x229f34['d'](_0x9cec24, 'l', function() {
return _0x23ab56;
}),
_0x229f34['d'](_0x9cec24, 'm', function() {
return _0x1679c4;
}),
_0x229f34['d'](_0x9cec24, 'g', function() {
return _0x4c8767;
}),
_0x229f34['d'](_0x9cec24, 'p', function() {
return _0x251d0b;
}),
_0x229f34['d'](_0x9cec24, 'o', function() {
return _0x1a40e0;
}),
_0x229f34['d'](_0x9cec24, 't', function() {
return _0x503241;
});
var _0x51c4bf, _0x1528c3 = _0x229f34(0x22), _0x15f609 = _0x229f34(0xc), _0x53f190 = 0x1 / 2.2, _0x5e9455 = 2.2, _0x3e57e9 = 0.001, _0x30c94a = function() {
function _0x4f9672(_0xfa3b0, _0x3322e1, _0x2a6e1d) {
void 0x0 === _0xfa3b0 && (_0xfa3b0 = 0x0),
void 0x0 === _0x3322e1 && (_0x3322e1 = 0x0),
void 0x0 === _0x2a6e1d && (_0x2a6e1d = 0x0),
this['r'] = _0xfa3b0,
this['g'] = _0x3322e1,
this['b'] = _0x2a6e1d;
}
return _0x4f9672['prototype']['toString'] = function() {
return '{R:\x20' + this['r'] + '\x20G:' + this['g'] + '\x20B:' + this['b'] + '}';
}
,
_0x4f9672['prototype']['getClassName'] = function() {
return 'Color3';
}
,
_0x4f9672['prototype']['getHashCode'] = function() {
var _0x51beae = this['r'] || 0x0;
return _0x51beae = 0x18d * (_0x51beae = 0x18d * _0x51beae ^ (this['g'] || 0x0)) ^ (this['b'] || 0x0);
}
,
_0x4f9672['prototype']['toArray'] = function(_0x46ffe8, _0x53fd33) {
return void 0x0 === _0x53fd33 && (_0x53fd33 = 0x0),
_0x46ffe8[_0x53fd33] = this['r'],
_0x46ffe8[_0x53fd33 + 0x1] = this['g'],
_0x46ffe8[_0x53fd33 + 0x2] = this['b'],
this;
}
,
_0x4f9672['prototype']['toColor4'] = function(_0x4b2a94) {
return void 0x0 === _0x4b2a94 && (_0x4b2a94 = 0x1),
new _0x3acf15(this['r'],this['g'],this['b'],_0x4b2a94);
}
,
_0x4f9672['prototype']['asArray'] = function() {
var _0x78c971 = new Array();
return this['toArray'](_0x78c971, 0x0),
_0x78c971;
}
,
_0x4f9672['prototype']['toLuminance'] = function() {
return 0.3 * this['r'] + 0.59 * this['g'] + 0.11 * this['b'];
}
,
_0x4f9672['prototype']['multiply'] = function(_0x5a83a4) {
return new _0x4f9672(this['r'] * _0x5a83a4['r'],this['g'] * _0x5a83a4['g'],this['b'] * _0x5a83a4['b']);
}
,
_0x4f9672['prototype']['multiplyToRef'] = function(_0x20801c, _0x23cfaf) {
return _0x23cfaf['r'] = this['r'] * _0x20801c['r'],
_0x23cfaf['g'] = this['g'] * _0x20801c['g'],
_0x23cfaf['b'] = this['b'] * _0x20801c['b'],
this;
}
,
_0x4f9672['prototype']['equals'] = function(_0x2a3896) {
return _0x2a3896 && this['r'] === _0x2a3896['r'] && this['g'] === _0x2a3896['g'] && this['b'] === _0x2a3896['b'];
}
,
_0x4f9672['prototype']['equalsFloats'] = function(_0x513f2b, _0x20a623, _0x497da8) {
return this['r'] === _0x513f2b && this['g'] === _0x20a623 && this['b'] === _0x497da8;
}
,
_0x4f9672['prototype']['scale'] = function(_0x5e8b1d) {
return new _0x4f9672(this['r'] * _0x5e8b1d,this['g'] * _0x5e8b1d,this['b'] * _0x5e8b1d);
}
,
_0x4f9672['prototype']['scaleToRef'] = function(_0x52c4d0, _0x23f75d) {
return _0x23f75d['r'] = this['r'] * _0x52c4d0,
_0x23f75d['g'] = this['g'] * _0x52c4d0,
_0x23f75d['b'] = this['b'] * _0x52c4d0,
this;
}
,
_0x4f9672['prototype']['scaleAndAddToRef'] = function(_0x6c7a9b, _0x49411f) {
return _0x49411f['r'] += this['r'] * _0x6c7a9b,
_0x49411f['g'] += this['g'] * _0x6c7a9b,
_0x49411f['b'] += this['b'] * _0x6c7a9b,
this;
}
,
_0x4f9672['prototype']['clampToRef'] = function(_0x434477, _0x5cbc79, _0x59db6c) {
return void 0x0 === _0x434477 && (_0x434477 = 0x0),
void 0x0 === _0x5cbc79 && (_0x5cbc79 = 0x1),
_0x59db6c['r'] = _0x15f609['a']['Clamp'](this['r'], _0x434477, _0x5cbc79),
_0x59db6c['g'] = _0x15f609['a']['Clamp'](this['g'], _0x434477, _0x5cbc79),
_0x59db6c['b'] = _0x15f609['a']['Clamp'](this['b'], _0x434477, _0x5cbc79),
this;
}
,
_0x4f9672['prototype']['add'] = function(_0x43ded7) {
return new _0x4f9672(this['r'] + _0x43ded7['r'],this['g'] + _0x43ded7['g'],this['b'] + _0x43ded7['b']);
}
,
_0x4f9672['prototype']['addToRef'] = function(_0x471f2d, _0x3469ea) {
return _0x3469ea['r'] = this['r'] + _0x471f2d['r'],
_0x3469ea['g'] = this['g'] + _0x471f2d['g'],
_0x3469ea['b'] = this['b'] + _0x471f2d['b'],
this;
}
,
_0x4f9672['prototype']['subtract'] = function(_0x54daf9) {
return new _0x4f9672(this['r'] - _0x54daf9['r'],this['g'] - _0x54daf9['g'],this['b'] - _0x54daf9['b']);
}
,
_0x4f9672['prototype']['subtractToRef'] = function(_0x24a62c, _0x43cbf6) {
return _0x43cbf6['r'] = this['r'] - _0x24a62c['r'],
_0x43cbf6['g'] = this['g'] - _0x24a62c['g'],
_0x43cbf6['b'] = this['b'] - _0x24a62c['b'],
this;
}
,
_0x4f9672['prototype']['clone'] = function() {
return new _0x4f9672(this['r'],this['g'],this['b']);
}
,
_0x4f9672['prototype']['copyFrom'] = function(_0x4e0552) {
return this['r'] = _0x4e0552['r'],
this['g'] = _0x4e0552['g'],
this['b'] = _0x4e0552['b'],
this;
}
,
_0x4f9672['prototype']['copyFromFloats'] = function(_0x1cfa38, _0x5bbbd9, _0x590820) {
return this['r'] = _0x1cfa38,
this['g'] = _0x5bbbd9,
this['b'] = _0x590820,
this;
}
,
_0x4f9672['prototype']['set'] = function(_0x3e4175, _0x599cc3, _0x59cab3) {
return this['copyFromFloats'](_0x3e4175, _0x599cc3, _0x59cab3);
}
,
_0x4f9672['prototype']['toHexString'] = function() {
var _0x458aa9 = 0xff * this['r'] | 0x0
, _0x46f22b = 0xff * this['g'] | 0x0
, _0x14b11b = 0xff * this['b'] | 0x0;
return '#' + _0x15f609['a']['ToHex'](_0x458aa9) + _0x15f609['a']['ToHex'](_0x46f22b) + _0x15f609['a']['ToHex'](_0x14b11b);
}
,
_0x4f9672['prototype']['toLinearSpace'] = function() {
var _0x2929ac = new _0x4f9672();
return this['toLinearSpaceToRef'](_0x2929ac),
_0x2929ac;
}
,
_0x4f9672['prototype']['toLinearSpaceToRef'] = function(_0x290dbe) {
return _0x290dbe['r'] = Math['pow'](this['r'], _0x5e9455),
_0x290dbe['g'] = Math['pow'](this['g'], _0x5e9455),
_0x290dbe['b'] = Math['pow'](this['b'], _0x5e9455),
this;
}
,
_0x4f9672['prototype']['toGammaSpace'] = function() {
var _0x4ba4d8 = new _0x4f9672();
return this['toGammaSpaceToRef'](_0x4ba4d8),
_0x4ba4d8;
}
,
_0x4f9672['prototype']['toGammaSpaceToRef'] = function(_0x4b2ad9) {
return _0x4b2ad9['r'] = Math['pow'](this['r'], _0x53f190),
_0x4b2ad9['g'] = Math['pow'](this['g'], _0x53f190),
_0x4b2ad9['b'] = Math['pow'](this['b'], _0x53f190),
this;
}
,
_0x4f9672['FromHexString'] = function(_0x56fcf4) {
if ('#' !== _0x56fcf4['substring'](0x0, 0x1) || 0x7 !== _0x56fcf4['length'])
return new _0x4f9672(0x0,0x0,0x0);
var _0x10b989 = parseInt(_0x56fcf4['substring'](0x1, 0x3), 0x10)
, _0x5ecf63 = parseInt(_0x56fcf4['substring'](0x3, 0x5), 0x10)
, _0x89b802 = parseInt(_0x56fcf4['substring'](0x5, 0x7), 0x10);
return _0x4f9672['FromInts'](_0x10b989, _0x5ecf63, _0x89b802);
}
,
_0x4f9672['FromArray'] = function(_0x486564, _0x245f53) {
return void 0x0 === _0x245f53 && (_0x245f53 = 0x0),
new _0x4f9672(_0x486564[_0x245f53],_0x486564[_0x245f53 + 0x1],_0x486564[_0x245f53 + 0x2]);
}
,
_0x4f9672['FromInts'] = function(_0x13c730, _0x1f9379, _0x3c5e44) {
return new _0x4f9672(_0x13c730 / 0xff,_0x1f9379 / 0xff,_0x3c5e44 / 0xff);
}
,
_0x4f9672['Lerp'] = function(_0xa8ac60, _0x245c2b, _0x2fa242) {
var _0x33f0bd = new _0x4f9672(0x0,0x0,0x0);
return _0x4f9672['LerpToRef'](_0xa8ac60, _0x245c2b, _0x2fa242, _0x33f0bd),
_0x33f0bd;
}
,
_0x4f9672['LerpToRef'] = function(_0x501556, _0x36d5c2, _0x5ca683, _0x401603) {
_0x401603['r'] = _0x501556['r'] + (_0x36d5c2['r'] - _0x501556['r']) * _0x5ca683,
_0x401603['g'] = _0x501556['g'] + (_0x36d5c2['g'] - _0x501556['g']) * _0x5ca683,
_0x401603['b'] = _0x501556['b'] + (_0x36d5c2['b'] - _0x501556['b']) * _0x5ca683;
}
,
_0x4f9672['Red'] = function() {
return new _0x4f9672(0x1,0x0,0x0);
}
,
_0x4f9672['Green'] = function() {
return new _0x4f9672(0x0,0x1,0x0);
}
,
_0x4f9672['Blue'] = function() {
return new _0x4f9672(0x0,0x0,0x1);
}
,
_0x4f9672['Black'] = function() {
return new _0x4f9672(0x0,0x0,0x0);
}
,
Object['defineProperty'](_0x4f9672, 'BlackReadOnly', {
'get': function() {
return _0x4f9672['_BlackReadOnly'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4f9672['White'] = function() {
return new _0x4f9672(0x1,0x1,0x1);
}
,
_0x4f9672['Purple'] = function() {
return new _0x4f9672(0.5,0x0,0.5);
}
,
_0x4f9672['Magenta'] = function() {
return new _0x4f9672(0x1,0x0,0x1);
}
,
_0x4f9672['Yellow'] = function() {
return new _0x4f9672(0x1,0x1,0x0);
}
,
_0x4f9672['Gray'] = function() {
return new _0x4f9672(0.5,0.5,0.5);
}
,
_0x4f9672['Teal'] = function() {
return new _0x4f9672(0x0,0x1,0x1);
}
,
_0x4f9672['Random'] = function() {
return new _0x4f9672(Math['random'](),Math['random'](),Math['random']());
}
,
_0x4f9672['_BlackReadOnly'] = _0x4f9672['Black'](),
_0x4f9672;
}(), _0x3acf15 = function() {
function _0x132738(_0x32a795, _0x3d30af, _0x17f9fe, _0x39ccbc) {
void 0x0 === _0x32a795 && (_0x32a795 = 0x0),
void 0x0 === _0x3d30af && (_0x3d30af = 0x0),
void 0x0 === _0x17f9fe && (_0x17f9fe = 0x0),
void 0x0 === _0x39ccbc && (_0x39ccbc = 0x1),
this['r'] = _0x32a795,
this['g'] = _0x3d30af,
this['b'] = _0x17f9fe,
this['a'] = _0x39ccbc;
}
return _0x132738['prototype']['addInPlace'] = function(_0x27be62) {
return this['r'] += _0x27be62['r'],
this['g'] += _0x27be62['g'],
this['b'] += _0x27be62['b'],
this['a'] += _0x27be62['a'],
this;
}
,
_0x132738['prototype']['asArray'] = function() {
var _0x532e05 = new Array();
return this['toArray'](_0x532e05, 0x0),
_0x532e05;
}
,
_0x132738['prototype']['toArray'] = function(_0x3cda33, _0x450b6b) {
return void 0x0 === _0x450b6b && (_0x450b6b = 0x0),
_0x3cda33[_0x450b6b] = this['r'],
_0x3cda33[_0x450b6b + 0x1] = this['g'],
_0x3cda33[_0x450b6b + 0x2] = this['b'],
_0x3cda33[_0x450b6b + 0x3] = this['a'],
this;
}
,
_0x132738['prototype']['equals'] = function(_0xb67894) {
return _0xb67894 && this['r'] === _0xb67894['r'] && this['g'] === _0xb67894['g'] && this['b'] === _0xb67894['b'] && this['a'] === _0xb67894['a'];
}
,
_0x132738['prototype']['add'] = function(_0x527d11) {
return new _0x132738(this['r'] + _0x527d11['r'],this['g'] + _0x527d11['g'],this['b'] + _0x527d11['b'],this['a'] + _0x527d11['a']);
}
,
_0x132738['prototype']['subtract'] = function(_0x3c7269) {
return new _0x132738(this['r'] - _0x3c7269['r'],this['g'] - _0x3c7269['g'],this['b'] - _0x3c7269['b'],this['a'] - _0x3c7269['a']);
}
,
_0x132738['prototype']['subtractToRef'] = function(_0x12a340, _0x537a6d) {
return _0x537a6d['r'] = this['r'] - _0x12a340['r'],
_0x537a6d['g'] = this['g'] - _0x12a340['g'],
_0x537a6d['b'] = this['b'] - _0x12a340['b'],
_0x537a6d['a'] = this['a'] - _0x12a340['a'],
this;
}
,
_0x132738['prototype']['scale'] = function(_0x1a7678) {
return new _0x132738(this['r'] * _0x1a7678,this['g'] * _0x1a7678,this['b'] * _0x1a7678,this['a'] * _0x1a7678);
}
,
_0x132738['prototype']['scaleToRef'] = function(_0x4eab2b, _0x5df3f3) {
return _0x5df3f3['r'] = this['r'] * _0x4eab2b,
_0x5df3f3['g'] = this['g'] * _0x4eab2b,
_0x5df3f3['b'] = this['b'] * _0x4eab2b,
_0x5df3f3['a'] = this['a'] * _0x4eab2b,
this;
}
,
_0x132738['prototype']['scaleAndAddToRef'] = function(_0x41b748, _0x35cd67) {
return _0x35cd67['r'] += this['r'] * _0x41b748,
_0x35cd67['g'] += this['g'] * _0x41b748,
_0x35cd67['b'] += this['b'] * _0x41b748,
_0x35cd67['a'] += this['a'] * _0x41b748,
this;
}
,
_0x132738['prototype']['clampToRef'] = function(_0x5d580b, _0x369d4e, _0x5acf53) {
return void 0x0 === _0x5d580b && (_0x5d580b = 0x0),
void 0x0 === _0x369d4e && (_0x369d4e = 0x1),
_0x5acf53['r'] = _0x15f609['a']['Clamp'](this['r'], _0x5d580b, _0x369d4e),
_0x5acf53['g'] = _0x15f609['a']['Clamp'](this['g'], _0x5d580b, _0x369d4e),
_0x5acf53['b'] = _0x15f609['a']['Clamp'](this['b'], _0x5d580b, _0x369d4e),
_0x5acf53['a'] = _0x15f609['a']['Clamp'](this['a'], _0x5d580b, _0x369d4e),
this;
}
,
_0x132738['prototype']['multiply'] = function(_0x25c6c0) {
return new _0x132738(this['r'] * _0x25c6c0['r'],this['g'] * _0x25c6c0['g'],this['b'] * _0x25c6c0['b'],this['a'] * _0x25c6c0['a']);
}
,
_0x132738['prototype']['multiplyToRef'] = function(_0x2357d4, _0x36d647) {
return _0x36d647['r'] = this['r'] * _0x2357d4['r'],
_0x36d647['g'] = this['g'] * _0x2357d4['g'],
_0x36d647['b'] = this['b'] * _0x2357d4['b'],
_0x36d647['a'] = this['a'] * _0x2357d4['a'],
_0x36d647;
}
,
_0x132738['prototype']['toString'] = function() {
return '{R:\x20' + this['r'] + '\x20G:' + this['g'] + '\x20B:' + this['b'] + '\x20A:' + this['a'] + '}';
}
,
_0x132738['prototype']['getClassName'] = function() {
return 'Color4';
}
,
_0x132738['prototype']['getHashCode'] = function() {
var _0xafd598 = this['r'] || 0x0;
return _0xafd598 = 0x18d * (_0xafd598 = 0x18d * (_0xafd598 = 0x18d * _0xafd598 ^ (this['g'] || 0x0)) ^ (this['b'] || 0x0)) ^ (this['a'] || 0x0);
}
,
_0x132738['prototype']['clone'] = function() {
return new _0x132738(this['r'],this['g'],this['b'],this['a']);
}
,
_0x132738['prototype']['copyFrom'] = function(_0x4a461a) {
return this['r'] = _0x4a461a['r'],
this['g'] = _0x4a461a['g'],
this['b'] = _0x4a461a['b'],
this['a'] = _0x4a461a['a'],
this;
}
,
_0x132738['prototype']['copyFromFloats'] = function(_0x14ffff, _0x4af04a, _0x539a9e, _0x4b2816) {
return this['r'] = _0x14ffff,
this['g'] = _0x4af04a,
this['b'] = _0x539a9e,
this['a'] = _0x4b2816,
this;
}
,
_0x132738['prototype']['set'] = function(_0x4c8c99, _0x4b289c, _0xd77e81, _0x2d7fd8) {
return this['copyFromFloats'](_0x4c8c99, _0x4b289c, _0xd77e81, _0x2d7fd8);
}
,
_0x132738['prototype']['toHexString'] = function() {
var _0x4cd1e8 = 0xff * this['r'] | 0x0
, _0x29b4e8 = 0xff * this['g'] | 0x0
, _0x442277 = 0xff * this['b'] | 0x0
, _0x4836c5 = 0xff * this['a'] | 0x0;
return '#' + _0x15f609['a']['ToHex'](_0x4cd1e8) + _0x15f609['a']['ToHex'](_0x29b4e8) + _0x15f609['a']['ToHex'](_0x442277) + _0x15f609['a']['ToHex'](_0x4836c5);
}
,
_0x132738['prototype']['toLinearSpace'] = function() {
var _0x185154 = new _0x132738();
return this['toLinearSpaceToRef'](_0x185154),
_0x185154;
}
,
_0x132738['prototype']['toLinearSpaceToRef'] = function(_0x3e7732) {
return _0x3e7732['r'] = Math['pow'](this['r'], _0x5e9455),
_0x3e7732['g'] = Math['pow'](this['g'], _0x5e9455),
_0x3e7732['b'] = Math['pow'](this['b'], _0x5e9455),
_0x3e7732['a'] = this['a'],
this;
}
,
_0x132738['prototype']['toGammaSpace'] = function() {
var _0x359162 = new _0x132738();
return this['toGammaSpaceToRef'](_0x359162),
_0x359162;
}
,
_0x132738['prototype']['toGammaSpaceToRef'] = function(_0x1547b0) {
return _0x1547b0['r'] = Math['pow'](this['r'], _0x53f190),
_0x1547b0['g'] = Math['pow'](this['g'], _0x53f190),
_0x1547b0['b'] = Math['pow'](this['b'], _0x53f190),
_0x1547b0['a'] = this['a'],
this;
}
,
_0x132738['FromHexString'] = function(_0x473115) {
if ('#' !== _0x473115['substring'](0x0, 0x1) || 0x9 !== _0x473115['length'])
return new _0x132738(0x0,0x0,0x0,0x0);
var _0xc3590f = parseInt(_0x473115['substring'](0x1, 0x3), 0x10)
, _0x510f97 = parseInt(_0x473115['substring'](0x3, 0x5), 0x10)
, _0x5f174b = parseInt(_0x473115['substring'](0x5, 0x7), 0x10)
, _0x2b4f90 = parseInt(_0x473115['substring'](0x7, 0x9), 0x10);
return _0x132738['FromInts'](_0xc3590f, _0x510f97, _0x5f174b, _0x2b4f90);
}
,
_0x132738['Lerp'] = function(_0x35e6c5, _0x4d5b47, _0x59bfa8) {
var _0xe7ae8b = new _0x132738(0x0,0x0,0x0,0x0);
return _0x132738['LerpToRef'](_0x35e6c5, _0x4d5b47, _0x59bfa8, _0xe7ae8b),
_0xe7ae8b;
}
,
_0x132738['LerpToRef'] = function(_0x5c58bd, _0x177f66, _0x58b4ee, _0x2848b0) {
_0x2848b0['r'] = _0x5c58bd['r'] + (_0x177f66['r'] - _0x5c58bd['r']) * _0x58b4ee,
_0x2848b0['g'] = _0x5c58bd['g'] + (_0x177f66['g'] - _0x5c58bd['g']) * _0x58b4ee,
_0x2848b0['b'] = _0x5c58bd['b'] + (_0x177f66['b'] - _0x5c58bd['b']) * _0x58b4ee,
_0x2848b0['a'] = _0x5c58bd['a'] + (_0x177f66['a'] - _0x5c58bd['a']) * _0x58b4ee;
}
,
_0x132738['FromColor3'] = function(_0x31defe, _0x28d212) {
return void 0x0 === _0x28d212 && (_0x28d212 = 0x1),
new _0x132738(_0x31defe['r'],_0x31defe['g'],_0x31defe['b'],_0x28d212);
}
,
_0x132738['FromArray'] = function(_0x6dd738, _0x405d1e) {
return void 0x0 === _0x405d1e && (_0x405d1e = 0x0),
new _0x132738(_0x6dd738[_0x405d1e],_0x6dd738[_0x405d1e + 0x1],_0x6dd738[_0x405d1e + 0x2],_0x6dd738[_0x405d1e + 0x3]);
}
,
_0x132738['FromInts'] = function(_0x5738c5, _0x11859c, _0x58bc11, _0x160553) {
return new _0x132738(_0x5738c5 / 0xff,_0x11859c / 0xff,_0x58bc11 / 0xff,_0x160553 / 0xff);
}
,
_0x132738['CheckColors4'] = function(_0x2d9b5d, _0xda9b67) {
if (_0x2d9b5d['length'] === 0x3 * _0xda9b67) {
for (var _0x374601 = [], _0xdecbd0 = 0x0; _0xdecbd0 < _0x2d9b5d['length']; _0xdecbd0 += 0x3) {
var _0x215651 = _0xdecbd0 / 0x3 * 0x4;
_0x374601[_0x215651] = _0x2d9b5d[_0xdecbd0],
_0x374601[_0x215651 + 0x1] = _0x2d9b5d[_0xdecbd0 + 0x1],
_0x374601[_0x215651 + 0x2] = _0x2d9b5d[_0xdecbd0 + 0x2],
_0x374601[_0x215651 + 0x3] = 0x1;
}
return _0x374601;
}
return _0x2d9b5d;
}
,
_0x132738;
}(), _0x461b0a = function() {
function _0x1169e8(_0x2eac08, _0x26e9b0) {
void 0x0 === _0x2eac08 && (_0x2eac08 = 0x0),
void 0x0 === _0x26e9b0 && (_0x26e9b0 = 0x0),
this['x'] = _0x2eac08,
this['y'] = _0x26e9b0;
}
return _0x1169e8['prototype']['toString'] = function() {
return '{X:\x20' + this['x'] + '\x20Y:' + this['y'] + '}';
}
,
_0x1169e8['prototype']['getClassName'] = function() {
return 'Vector2';
}
,
_0x1169e8['prototype']['getHashCode'] = function() {
var _0x5ba962 = this['x'] || 0x0;
return _0x5ba962 = 0x18d * _0x5ba962 ^ (this['y'] || 0x0);
}
,
_0x1169e8['prototype']['toArray'] = function(_0xa48e20, _0x3d95ca) {
return void 0x0 === _0x3d95ca && (_0x3d95ca = 0x0),
_0xa48e20[_0x3d95ca] = this['x'],
_0xa48e20[_0x3d95ca + 0x1] = this['y'],
this;
}
,
_0x1169e8['prototype']['asArray'] = function() {
var _0x5cfdc7 = new Array();
return this['toArray'](_0x5cfdc7, 0x0),
_0x5cfdc7;
}
,
_0x1169e8['prototype']['copyFrom'] = function(_0x2d24d3) {
return this['x'] = _0x2d24d3['x'],
this['y'] = _0x2d24d3['y'],
this;
}
,
_0x1169e8['prototype']['copyFromFloats'] = function(_0x559dbc, _0x38bec4) {
return this['x'] = _0x559dbc,
this['y'] = _0x38bec4,
this;
}
,
_0x1169e8['prototype']['set'] = function(_0x189ad3, _0x39e136) {
return this['copyFromFloats'](_0x189ad3, _0x39e136);
}
,
_0x1169e8['prototype']['add'] = function(_0x18af3c) {
return new _0x1169e8(this['x'] + _0x18af3c['x'],this['y'] + _0x18af3c['y']);
}
,
_0x1169e8['prototype']['addToRef'] = function(_0x2eb834, _0x1d17b1) {
return _0x1d17b1['x'] = this['x'] + _0x2eb834['x'],
_0x1d17b1['y'] = this['y'] + _0x2eb834['y'],
this;
}
,
_0x1169e8['prototype']['addInPlace'] = function(_0x1c2e66) {
return this['x'] += _0x1c2e66['x'],
this['y'] += _0x1c2e66['y'],
this;
}
,
_0x1169e8['prototype']['addVector3'] = function(_0x45d625) {
return new _0x1169e8(this['x'] + _0x45d625['x'],this['y'] + _0x45d625['y']);
}
,
_0x1169e8['prototype']['subtract'] = function(_0x222615) {
return new _0x1169e8(this['x'] - _0x222615['x'],this['y'] - _0x222615['y']);
}
,
_0x1169e8['prototype']['subtractToRef'] = function(_0x383517, _0x1ea2d1) {
return _0x1ea2d1['x'] = this['x'] - _0x383517['x'],
_0x1ea2d1['y'] = this['y'] - _0x383517['y'],
this;
}
,
_0x1169e8['prototype']['subtractInPlace'] = function(_0x3f984b) {
return this['x'] -= _0x3f984b['x'],
this['y'] -= _0x3f984b['y'],
this;
}
,
_0x1169e8['prototype']['multiplyInPlace'] = function(_0x27bf21) {
return this['x'] *= _0x27bf21['x'],
this['y'] *= _0x27bf21['y'],
this;
}
,
_0x1169e8['prototype']['multiply'] = function(_0x28919f) {
return new _0x1169e8(this['x'] * _0x28919f['x'],this['y'] * _0x28919f['y']);
}
,
_0x1169e8['prototype']['multiplyToRef'] = function(_0x51cd97, _0x39a024) {
return _0x39a024['x'] = this['x'] * _0x51cd97['x'],
_0x39a024['y'] = this['y'] * _0x51cd97['y'],
this;
}
,
_0x1169e8['prototype']['multiplyByFloats'] = function(_0x58ff13, _0x26ab28) {
return new _0x1169e8(this['x'] * _0x58ff13,this['y'] * _0x26ab28);
}
,
_0x1169e8['prototype']['divide'] = function(_0x1e5a39) {
return new _0x1169e8(this['x'] / _0x1e5a39['x'],this['y'] / _0x1e5a39['y']);
}
,
_0x1169e8['prototype']['divideToRef'] = function(_0x305a3c, _0x557245) {
return _0x557245['x'] = this['x'] / _0x305a3c['x'],
_0x557245['y'] = this['y'] / _0x305a3c['y'],
this;
}
,
_0x1169e8['prototype']['divideInPlace'] = function(_0x5ad31c) {
return this['divideToRef'](_0x5ad31c, this);
}
,
_0x1169e8['prototype']['negate'] = function() {
return new _0x1169e8(-this['x'],-this['y']);
}
,
_0x1169e8['prototype']['scaleInPlace'] = function(_0x104b7f) {
return this['x'] *= _0x104b7f,
this['y'] *= _0x104b7f,
this;
}
,
_0x1169e8['prototype']['scale'] = function(_0xb316c0) {
var _0x4614d7 = new _0x1169e8(0x0,0x0);
return this['scaleToRef'](_0xb316c0, _0x4614d7),
_0x4614d7;
}
,
_0x1169e8['prototype']['scaleToRef'] = function(_0x37a449, _0x3b1b62) {
return _0x3b1b62['x'] = this['x'] * _0x37a449,
_0x3b1b62['y'] = this['y'] * _0x37a449,
this;
}
,
_0x1169e8['prototype']['scaleAndAddToRef'] = function(_0x2343c8, _0x427918) {
return _0x427918['x'] += this['x'] * _0x2343c8,
_0x427918['y'] += this['y'] * _0x2343c8,
this;
}
,
_0x1169e8['prototype']['equals'] = function(_0x40126d) {
return _0x40126d && this['x'] === _0x40126d['x'] && this['y'] === _0x40126d['y'];
}
,
_0x1169e8['prototype']['equalsWithEpsilon'] = function(_0x520151, _0x24f935) {
return void 0x0 === _0x24f935 && (_0x24f935 = _0x3e57e9),
_0x520151 && _0x15f609['a']['WithinEpsilon'](this['x'], _0x520151['x'], _0x24f935) && _0x15f609['a']['WithinEpsilon'](this['y'], _0x520151['y'], _0x24f935);
}
,
_0x1169e8['prototype']['floor'] = function() {
return new _0x1169e8(Math['floor'](this['x']),Math['floor'](this['y']));
}
,
_0x1169e8['prototype']['fract'] = function() {
return new _0x1169e8(this['x'] - Math['floor'](this['x']),this['y'] - Math['floor'](this['y']));
}
,
_0x1169e8['prototype']['length'] = function() {
return Math['sqrt'](this['x'] * this['x'] + this['y'] * this['y']);
}
,
_0x1169e8['prototype']['lengthSquared'] = function() {
return this['x'] * this['x'] + this['y'] * this['y'];
}
,
_0x1169e8['prototype']['normalize'] = function() {
var _0x54d026 = this['length']();
if (0x0 === _0x54d026)
return this;
var _0x1ae35a = 0x1 / _0x54d026;
return this['x'] *= _0x1ae35a,
this['y'] *= _0x1ae35a,
this;
}
,
_0x1169e8['prototype']['clone'] = function() {
return new _0x1169e8(this['x'],this['y']);
}
,
_0x1169e8['Zero'] = function() {
return new _0x1169e8(0x0,0x0);
}
,
_0x1169e8['One'] = function() {
return new _0x1169e8(0x1,0x1);
}
,
_0x1169e8['FromArray'] = function(_0xc9bc9c, _0x120904) {
return void 0x0 === _0x120904 && (_0x120904 = 0x0),
new _0x1169e8(_0xc9bc9c[_0x120904],_0xc9bc9c[_0x120904 + 0x1]);
}
,
_0x1169e8['FromArrayToRef'] = function(_0x2cbe47, _0x35fe8d, _0x55ee91) {
_0x55ee91['x'] = _0x2cbe47[_0x35fe8d],
_0x55ee91['y'] = _0x2cbe47[_0x35fe8d + 0x1];
}
,
_0x1169e8['CatmullRom'] = function(_0x48100f, _0x949b7, _0x37957b, _0x1a7a95, _0x11c704) {
var _0x29ed7d = _0x11c704 * _0x11c704
, _0x54fdd8 = _0x11c704 * _0x29ed7d;
return new _0x1169e8(0.5 * (0x2 * _0x949b7['x'] + (-_0x48100f['x'] + _0x37957b['x']) * _0x11c704 + (0x2 * _0x48100f['x'] - 0x5 * _0x949b7['x'] + 0x4 * _0x37957b['x'] - _0x1a7a95['x']) * _0x29ed7d + (-_0x48100f['x'] + 0x3 * _0x949b7['x'] - 0x3 * _0x37957b['x'] + _0x1a7a95['x']) * _0x54fdd8),0.5 * (0x2 * _0x949b7['y'] + (-_0x48100f['y'] + _0x37957b['y']) * _0x11c704 + (0x2 * _0x48100f['y'] - 0x5 * _0x949b7['y'] + 0x4 * _0x37957b['y'] - _0x1a7a95['y']) * _0x29ed7d + (-_0x48100f['y'] + 0x3 * _0x949b7['y'] - 0x3 * _0x37957b['y'] + _0x1a7a95['y']) * _0x54fdd8));
}
,
_0x1169e8['Clamp'] = function(_0x1c4f8c, _0xb23fba, _0x5582e5) {
var _0x363d11 = _0x1c4f8c['x'];
_0x363d11 = (_0x363d11 = _0x363d11 > _0x5582e5['x'] ? _0x5582e5['x'] : _0x363d11) < _0xb23fba['x'] ? _0xb23fba['x'] : _0x363d11;
var _0x3d9588 = _0x1c4f8c['y'];
return new _0x1169e8(_0x363d11,_0x3d9588 = (_0x3d9588 = _0x3d9588 > _0x5582e5['y'] ? _0x5582e5['y'] : _0x3d9588) < _0xb23fba['y'] ? _0xb23fba['y'] : _0x3d9588);
}
,
_0x1169e8['Hermite'] = function(_0x54dc2b, _0x1b5aa1, _0x5370d5, _0xcaff48, _0x13efd3) {
var _0x1995ef = _0x13efd3 * _0x13efd3
, _0x3ec5c1 = _0x13efd3 * _0x1995ef
, _0x3e2637 = 0x2 * _0x3ec5c1 - 0x3 * _0x1995ef + 0x1
, _0x241d6f = -0x2 * _0x3ec5c1 + 0x3 * _0x1995ef
, _0x5d2dd8 = _0x3ec5c1 - 0x2 * _0x1995ef + _0x13efd3
, _0x46623a = _0x3ec5c1 - _0x1995ef;
return new _0x1169e8(_0x54dc2b['x'] * _0x3e2637 + _0x5370d5['x'] * _0x241d6f + _0x1b5aa1['x'] * _0x5d2dd8 + _0xcaff48['x'] * _0x46623a,_0x54dc2b['y'] * _0x3e2637 + _0x5370d5['y'] * _0x241d6f + _0x1b5aa1['y'] * _0x5d2dd8 + _0xcaff48['y'] * _0x46623a);
}
,
_0x1169e8['Lerp'] = function(_0x2bb04d, _0x1aca11, _0x4cc8d9) {
return new _0x1169e8(_0x2bb04d['x'] + (_0x1aca11['x'] - _0x2bb04d['x']) * _0x4cc8d9,_0x2bb04d['y'] + (_0x1aca11['y'] - _0x2bb04d['y']) * _0x4cc8d9);
}
,
_0x1169e8['Dot'] = function(_0x2e66b9, _0x7baf20) {
return _0x2e66b9['x'] * _0x7baf20['x'] + _0x2e66b9['y'] * _0x7baf20['y'];
}
,
_0x1169e8['Normalize'] = function(_0x485eb7) {
var _0x49f99b = _0x485eb7['clone']();
return _0x49f99b['normalize'](),
_0x49f99b;
}
,
_0x1169e8['Minimize'] = function(_0x304d16, _0x305d82) {
return new _0x1169e8(_0x304d16['x'] < _0x305d82['x'] ? _0x304d16['x'] : _0x305d82['x'],_0x304d16['y'] < _0x305d82['y'] ? _0x304d16['y'] : _0x305d82['y']);
}
,
_0x1169e8['Maximize'] = function(_0xe48c92, _0x4dec8a) {
return new _0x1169e8(_0xe48c92['x'] > _0x4dec8a['x'] ? _0xe48c92['x'] : _0x4dec8a['x'],_0xe48c92['y'] > _0x4dec8a['y'] ? _0xe48c92['y'] : _0x4dec8a['y']);
}
,
_0x1169e8['Transform'] = function(_0x44a180, _0x40e521) {
var _0x4ba883 = _0x1169e8['Zero']();
return _0x1169e8['TransformToRef'](_0x44a180, _0x40e521, _0x4ba883),
_0x4ba883;
}
,
_0x1169e8['TransformToRef'] = function(_0x1f6882, _0x33a949, _0x2c1310) {
var _0x79b633 = _0x33a949['m']
, _0x132493 = _0x1f6882['x'] * _0x79b633[0x0] + _0x1f6882['y'] * _0x79b633[0x4] + _0x79b633[0xc]
, _0x38b36d = _0x1f6882['x'] * _0x79b633[0x1] + _0x1f6882['y'] * _0x79b633[0x5] + _0x79b633[0xd];
_0x2c1310['x'] = _0x132493,
_0x2c1310['y'] = _0x38b36d;
}
,
_0x1169e8['PointInTriangle'] = function(_0x6c0452, _0x47d139, _0x5d3434, _0x15f8e4) {
var _0x3b3692 = 0.5 * (-_0x5d3434['y'] * _0x15f8e4['x'] + _0x47d139['y'] * (-_0x5d3434['x'] + _0x15f8e4['x']) + _0x47d139['x'] * (_0x5d3434['y'] - _0x15f8e4['y']) + _0x5d3434['x'] * _0x15f8e4['y'])
, _0x359d19 = _0x3b3692 < 0x0 ? -0x1 : 0x1
, _0x58a045 = (_0x47d139['y'] * _0x15f8e4['x'] - _0x47d139['x'] * _0x15f8e4['y'] + (_0x15f8e4['y'] - _0x47d139['y']) * _0x6c0452['x'] + (_0x47d139['x'] - _0x15f8e4['x']) * _0x6c0452['y']) * _0x359d19
, _0x512525 = (_0x47d139['x'] * _0x5d3434['y'] - _0x47d139['y'] * _0x5d3434['x'] + (_0x47d139['y'] - _0x5d3434['y']) * _0x6c0452['x'] + (_0x5d3434['x'] - _0x47d139['x']) * _0x6c0452['y']) * _0x359d19;
return _0x58a045 > 0x0 && _0x512525 > 0x0 && _0x58a045 + _0x512525 < 0x2 * _0x3b3692 * _0x359d19;
}
,
_0x1169e8['Distance'] = function(_0x538565, _0xa02de2) {
return Math['sqrt'](_0x1169e8['DistanceSquared'](_0x538565, _0xa02de2));
}
,
_0x1169e8['DistanceSquared'] = function(_0x1bec07, _0x11f129) {
var _0x160c53 = _0x1bec07['x'] - _0x11f129['x']
, _0x5880fc = _0x1bec07['y'] - _0x11f129['y'];
return _0x160c53 * _0x160c53 + _0x5880fc * _0x5880fc;
}
,
_0x1169e8['Center'] = function(_0x219864, _0x15d105) {
var _0x1f5e57 = _0x219864['add'](_0x15d105);
return _0x1f5e57['scaleInPlace'](0.5),
_0x1f5e57;
}
,
_0x1169e8['DistanceOfPointFromSegment'] = function(_0x2b7b03, _0x1858a7, _0x4e0fbd) {
var _0x420a8b = _0x1169e8['DistanceSquared'](_0x1858a7, _0x4e0fbd);
if (0x0 === _0x420a8b)
return _0x1169e8['Distance'](_0x2b7b03, _0x1858a7);
var _0x1f983d = _0x4e0fbd['subtract'](_0x1858a7)
, _0x43fff8 = Math['max'](0x0, Math['min'](0x1, _0x1169e8['Dot'](_0x2b7b03['subtract'](_0x1858a7), _0x1f983d) / _0x420a8b))
, _0xf6f717 = _0x1858a7['add'](_0x1f983d['multiplyByFloats'](_0x43fff8, _0x43fff8));
return _0x1169e8['Distance'](_0x2b7b03, _0xf6f717);
}
,
_0x1169e8;
}(), _0x3fbe20 = function() {
function _0x367725(_0xaa2282, _0x13a6ee, _0x32eb4b) {
void 0x0 === _0xaa2282 && (_0xaa2282 = 0x0),
void 0x0 === _0x13a6ee && (_0x13a6ee = 0x0),
void 0x0 === _0x32eb4b && (_0x32eb4b = 0x0),
this['x'] = _0xaa2282,
this['y'] = _0x13a6ee,
this['z'] = _0x32eb4b;
}
return _0x367725['prototype']['toString'] = function() {
return '{X:\x20' + this['x'] + '\x20Y:' + this['y'] + '\x20Z:' + this['z'] + '}';
}
,
_0x367725['prototype']['getClassName'] = function() {
return 'Vector3';
}
,
_0x367725['prototype']['getHashCode'] = function() {
var _0x522680 = this['x'] || 0x0;
return _0x522680 = 0x18d * (_0x522680 = 0x18d * _0x522680 ^ (this['y'] || 0x0)) ^ (this['z'] || 0x0);
}
,
_0x367725['prototype']['asArray'] = function() {
var _0x347a48 = [];
return this['toArray'](_0x347a48, 0x0),
_0x347a48;
}
,
_0x367725['prototype']['toArray'] = function(_0x2dcf08, _0x4be278) {
return void 0x0 === _0x4be278 && (_0x4be278 = 0x0),
_0x2dcf08[_0x4be278] = this['x'],
_0x2dcf08[_0x4be278 + 0x1] = this['y'],
_0x2dcf08[_0x4be278 + 0x2] = this['z'],
this;
}
,
_0x367725['prototype']['toQuaternion'] = function() {
return _0x897ad5['RotationYawPitchRoll'](this['y'], this['x'], this['z']);
}
,
_0x367725['prototype']['addInPlace'] = function(_0x2a53a0) {
return this['addInPlaceFromFloats'](_0x2a53a0['x'], _0x2a53a0['y'], _0x2a53a0['z']);
}
,
_0x367725['prototype']['addInPlaceFromFloats'] = function(_0x114bc7, _0x3d15a9, _0x4c13aa) {
return this['x'] += _0x114bc7,
this['y'] += _0x3d15a9,
this['z'] += _0x4c13aa,
this;
}
,
_0x367725['prototype']['add'] = function(_0x26d9f4) {
return new _0x367725(this['x'] + _0x26d9f4['x'],this['y'] + _0x26d9f4['y'],this['z'] + _0x26d9f4['z']);
}
,
_0x367725['prototype']['addToRef'] = function(_0x20df15, _0x318c5d) {
return _0x318c5d['copyFromFloats'](this['x'] + _0x20df15['x'], this['y'] + _0x20df15['y'], this['z'] + _0x20df15['z']);
}
,
_0x367725['prototype']['subtractInPlace'] = function(_0x3a08df) {
return this['x'] -= _0x3a08df['x'],
this['y'] -= _0x3a08df['y'],
this['z'] -= _0x3a08df['z'],
this;
}
,
_0x367725['prototype']['subtract'] = function(_0xe65f59) {
return new _0x367725(this['x'] - _0xe65f59['x'],this['y'] - _0xe65f59['y'],this['z'] - _0xe65f59['z']);
}
,
_0x367725['prototype']['subtractToRef'] = function(_0x13594d, _0x3df64a) {
return this['subtractFromFloatsToRef'](_0x13594d['x'], _0x13594d['y'], _0x13594d['z'], _0x3df64a);
}
,
_0x367725['prototype']['subtractFromFloats'] = function(_0x1693e4, _0x21578b, _0x930c3e) {
return new _0x367725(this['x'] - _0x1693e4,this['y'] - _0x21578b,this['z'] - _0x930c3e);
}
,
_0x367725['prototype']['subtractFromFloatsToRef'] = function(_0x4d65a9, _0x4ec48e, _0x35d200, _0x101007) {
return _0x101007['copyFromFloats'](this['x'] - _0x4d65a9, this['y'] - _0x4ec48e, this['z'] - _0x35d200);
}
,
_0x367725['prototype']['negate'] = function() {
return new _0x367725(-this['x'],-this['y'],-this['z']);
}
,
_0x367725['prototype']['scaleInPlace'] = function(_0x16fc5e) {
return this['x'] *= _0x16fc5e,
this['y'] *= _0x16fc5e,
this['z'] *= _0x16fc5e,
this;
}
,
_0x367725['prototype']['scale'] = function(_0x5700ce) {
return new _0x367725(this['x'] * _0x5700ce,this['y'] * _0x5700ce,this['z'] * _0x5700ce);
}
,
_0x367725['prototype']['scaleToRef'] = function(_0x7d1f2f, _0x1df097) {
return _0x1df097['copyFromFloats'](this['x'] * _0x7d1f2f, this['y'] * _0x7d1f2f, this['z'] * _0x7d1f2f);
}
,
_0x367725['prototype']['scaleAndAddToRef'] = function(_0x25d8c8, _0x5c9ddb) {
return _0x5c9ddb['addInPlaceFromFloats'](this['x'] * _0x25d8c8, this['y'] * _0x25d8c8, this['z'] * _0x25d8c8);
}
,
_0x367725['prototype']['equals'] = function(_0x408722) {
return _0x408722 && this['x'] === _0x408722['x'] && this['y'] === _0x408722['y'] && this['z'] === _0x408722['z'];
}
,
_0x367725['prototype']['equalsWithEpsilon'] = function(_0x47e511, _0x35ef26) {
return void 0x0 === _0x35ef26 && (_0x35ef26 = _0x3e57e9),
_0x47e511 && _0x15f609['a']['WithinEpsilon'](this['x'], _0x47e511['x'], _0x35ef26) && _0x15f609['a']['WithinEpsilon'](this['y'], _0x47e511['y'], _0x35ef26) && _0x15f609['a']['WithinEpsilon'](this['z'], _0x47e511['z'], _0x35ef26);
}
,
_0x367725['prototype']['equalsToFloats'] = function(_0x8f06c1, _0xf79a47, _0x48de7f) {
return this['x'] === _0x8f06c1 && this['y'] === _0xf79a47 && this['z'] === _0x48de7f;
}
,
_0x367725['prototype']['multiplyInPlace'] = function(_0x301df8) {
return this['x'] *= _0x301df8['x'],
this['y'] *= _0x301df8['y'],
this['z'] *= _0x301df8['z'],
this;
}
,
_0x367725['prototype']['multiply'] = function(_0x413a73) {
return this['multiplyByFloats'](_0x413a73['x'], _0x413a73['y'], _0x413a73['z']);
}
,
_0x367725['prototype']['multiplyToRef'] = function(_0x449905, _0x52178b) {
return _0x52178b['copyFromFloats'](this['x'] * _0x449905['x'], this['y'] * _0x449905['y'], this['z'] * _0x449905['z']);
}
,
_0x367725['prototype']['multiplyByFloats'] = function(_0x395e97, _0x2e10eb, _0x436003) {
return new _0x367725(this['x'] * _0x395e97,this['y'] * _0x2e10eb,this['z'] * _0x436003);
}
,
_0x367725['prototype']['divide'] = function(_0x3ab294) {
return new _0x367725(this['x'] / _0x3ab294['x'],this['y'] / _0x3ab294['y'],this['z'] / _0x3ab294['z']);
}
,
_0x367725['prototype']['divideToRef'] = function(_0x287af5, _0x6b38d7) {
return _0x6b38d7['copyFromFloats'](this['x'] / _0x287af5['x'], this['y'] / _0x287af5['y'], this['z'] / _0x287af5['z']);
}
,
_0x367725['prototype']['divideInPlace'] = function(_0x2ffe86) {
return this['divideToRef'](_0x2ffe86, this);
}
,
_0x367725['prototype']['minimizeInPlace'] = function(_0x2c2e43) {
return this['minimizeInPlaceFromFloats'](_0x2c2e43['x'], _0x2c2e43['y'], _0x2c2e43['z']);
}
,
_0x367725['prototype']['maximizeInPlace'] = function(_0x36cc58) {
return this['maximizeInPlaceFromFloats'](_0x36cc58['x'], _0x36cc58['y'], _0x36cc58['z']);
}
,
_0x367725['prototype']['minimizeInPlaceFromFloats'] = function(_0x505901, _0x1c8c7e, _0x482fad) {
return _0x505901 < this['x'] && (this['x'] = _0x505901),
_0x1c8c7e < this['y'] && (this['y'] = _0x1c8c7e),
_0x482fad < this['z'] && (this['z'] = _0x482fad),
this;
}
,
_0x367725['prototype']['maximizeInPlaceFromFloats'] = function(_0x53088a, _0x57c6d7, _0x120a2a) {
return _0x53088a > this['x'] && (this['x'] = _0x53088a),
_0x57c6d7 > this['y'] && (this['y'] = _0x57c6d7),
_0x120a2a > this['z'] && (this['z'] = _0x120a2a),
this;
}
,
_0x367725['prototype']['isNonUniformWithinEpsilon'] = function(_0x408b50) {
var _0x3e14ac = Math['abs'](this['x'])
, _0x413b64 = Math['abs'](this['y']);
if (!_0x15f609['a']['WithinEpsilon'](_0x3e14ac, _0x413b64, _0x408b50))
return !0x0;
var _0x3bbec2 = Math['abs'](this['z']);
return !_0x15f609['a']['WithinEpsilon'](_0x3e14ac, _0x3bbec2, _0x408b50) || !_0x15f609['a']['WithinEpsilon'](_0x413b64, _0x3bbec2, _0x408b50);
}
,
Object['defineProperty'](_0x367725['prototype'], 'isNonUniform', {
'get': function() {
var _0x256f49 = Math['abs'](this['x'])
, _0x3f18b7 = Math['abs'](this['y']);
if (_0x256f49 !== _0x3f18b7)
return !0x0;
var _0x26baf7 = Math['abs'](this['z']);
return _0x256f49 !== _0x26baf7 || _0x3f18b7 !== _0x26baf7;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x367725['prototype']['floor'] = function() {
return new _0x367725(Math['floor'](this['x']),Math['floor'](this['y']),Math['floor'](this['z']));
}
,
_0x367725['prototype']['fract'] = function() {
return new _0x367725(this['x'] - Math['floor'](this['x']),this['y'] - Math['floor'](this['y']),this['z'] - Math['floor'](this['z']));
}
,
_0x367725['prototype']['length'] = function() {
return Math['sqrt'](this['x'] * this['x'] + this['y'] * this['y'] + this['z'] * this['z']);
}
,
_0x367725['prototype']['lengthSquared'] = function() {
return this['x'] * this['x'] + this['y'] * this['y'] + this['z'] * this['z'];
}
,
_0x367725['prototype']['normalize'] = function() {
return this['normalizeFromLength'](this['length']());
}
,
_0x367725['prototype']['reorderInPlace'] = function(_0x18c312) {
var _0x515710 = this;
return 'xyz' === (_0x18c312 = _0x18c312['toLowerCase']()) ? this : (_0x53a116['Vector3'][0x0]['copyFrom'](this),
['x', 'y', 'z']['forEach'](function(_0x3c403a, _0x545e8e) {
_0x515710[_0x3c403a] = _0x53a116['Vector3'][0x0][_0x18c312[_0x545e8e]];
}),
this);
}
,
_0x367725['prototype']['rotateByQuaternionToRef'] = function(_0x283764, _0xb776ae) {
return _0x283764['toRotationMatrix'](_0x53a116['Matrix'][0x0]),
_0x367725['TransformCoordinatesToRef'](this, _0x53a116['Matrix'][0x0], _0xb776ae),
_0xb776ae;
}
,
_0x367725['prototype']['rotateByQuaternionAroundPointToRef'] = function(_0x49cd49, _0x166c59, _0x3de905) {
return this['subtractToRef'](_0x166c59, _0x53a116['Vector3'][0x0]),
_0x53a116['Vector3'][0x0]['rotateByQuaternionToRef'](_0x49cd49, _0x53a116['Vector3'][0x0]),
_0x166c59['addToRef'](_0x53a116['Vector3'][0x0], _0x3de905),
_0x3de905;
}
,
_0x367725['prototype']['normalizeFromLength'] = function(_0x39935d) {
return 0x0 === _0x39935d || 0x1 === _0x39935d ? this : this['scaleInPlace'](0x1 / _0x39935d);
}
,
_0x367725['prototype']['normalizeToNew'] = function() {
var _0xbd11eb = new _0x367725(0x0,0x0,0x0);
return this['normalizeToRef'](_0xbd11eb),
_0xbd11eb;
}
,
_0x367725['prototype']['normalizeToRef'] = function(_0x28af7b) {
var _0xa74a9f = this['length']();
return 0x0 === _0xa74a9f || 0x1 === _0xa74a9f ? _0x28af7b['copyFromFloats'](this['x'], this['y'], this['z']) : this['scaleToRef'](0x1 / _0xa74a9f, _0x28af7b);
}
,
_0x367725['prototype']['clone'] = function() {
return new _0x367725(this['x'],this['y'],this['z']);
}
,
_0x367725['prototype']['copyFrom'] = function(_0x23a0b6) {
return this['copyFromFloats'](_0x23a0b6['x'], _0x23a0b6['y'], _0x23a0b6['z']);
}
,
_0x367725['prototype']['copyFromFloats'] = function(_0x270b6a, _0x575633, _0x5c561d) {
return this['x'] = _0x270b6a,
this['y'] = _0x575633,
this['z'] = _0x5c561d,
this;
}
,
_0x367725['prototype']['set'] = function(_0x2dcb00, _0x1a65ba, _0x223820) {
return this['copyFromFloats'](_0x2dcb00, _0x1a65ba, _0x223820);
}
,
_0x367725['prototype']['setAll'] = function(_0x37abdc) {
return this['x'] = this['y'] = this['z'] = _0x37abdc,
this;
}
,
_0x367725['GetClipFactor'] = function(_0x344bdb, _0x8b7fe0, _0x3a7183, _0x30dd02) {
var _0x3483d9 = _0x367725['Dot'](_0x344bdb, _0x3a7183) - _0x30dd02;
return _0x3483d9 / (_0x3483d9 - (_0x367725['Dot'](_0x8b7fe0, _0x3a7183) - _0x30dd02));
}
,
_0x367725['GetAngleBetweenVectors'] = function(_0x2dbf12, _0x1c3f8a, _0x2d5fc3) {
var _0x5f7b92 = _0x2dbf12['normalizeToRef'](_0x53a116['Vector3'][0x1])
, _0x484ec6 = _0x1c3f8a['normalizeToRef'](_0x53a116['Vector3'][0x2])
, _0x218bf6 = _0x367725['Dot'](_0x5f7b92, _0x484ec6)
, _0x467724 = _0x53a116['Vector3'][0x3];
return _0x367725['CrossToRef'](_0x5f7b92, _0x484ec6, _0x467724),
_0x367725['Dot'](_0x467724, _0x2d5fc3) > 0x0 ? Math['acos'](_0x218bf6) : -Math['acos'](_0x218bf6);
}
,
_0x367725['FromArray'] = function(_0x465c74, _0x82331a) {
return void 0x0 === _0x82331a && (_0x82331a = 0x0),
new _0x367725(_0x465c74[_0x82331a],_0x465c74[_0x82331a + 0x1],_0x465c74[_0x82331a + 0x2]);
}
,
_0x367725['FromFloatArray'] = function(_0x29322d, _0x13fde7) {
return _0x367725['FromArray'](_0x29322d, _0x13fde7);
}
,
_0x367725['FromArrayToRef'] = function(_0x30e7fd, _0x2fa21e, _0x5c0446) {
_0x5c0446['x'] = _0x30e7fd[_0x2fa21e],
_0x5c0446['y'] = _0x30e7fd[_0x2fa21e + 0x1],
_0x5c0446['z'] = _0x30e7fd[_0x2fa21e + 0x2];
}
,
_0x367725['FromFloatArrayToRef'] = function(_0x1b5b1f, _0x322212, _0x2f569d) {
return _0x367725['FromArrayToRef'](_0x1b5b1f, _0x322212, _0x2f569d);
}
,
_0x367725['FromFloatsToRef'] = function(_0x323dda, _0x20b240, _0x493944, _0x174d2a) {
_0x174d2a['copyFromFloats'](_0x323dda, _0x20b240, _0x493944);
}
,
_0x367725['Zero'] = function() {
return new _0x367725(0x0,0x0,0x0);
}
,
_0x367725['One'] = function() {
return new _0x367725(0x1,0x1,0x1);
}
,
_0x367725['Up'] = function() {
return new _0x367725(0x0,0x1,0x0);
}
,
Object['defineProperty'](_0x367725, 'UpReadOnly', {
'get': function() {
return _0x367725['_UpReadOnly'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x367725['Down'] = function() {
return new _0x367725(0x0,-0x1,0x0);
}
,
_0x367725['Forward'] = function() {
return new _0x367725(0x0,0x0,0x1);
}
,
_0x367725['Backward'] = function() {
return new _0x367725(0x0,0x0,-0x1);
}
,
_0x367725['Right'] = function() {
return new _0x367725(0x1,0x0,0x0);
}
,
_0x367725['Left'] = function() {
return new _0x367725(-0x1,0x0,0x0);
}
,
_0x367725['TransformCoordinates'] = function(_0x5c41ff, _0x361c3d) {
var _0x12838d = _0x367725['Zero']();
return _0x367725['TransformCoordinatesToRef'](_0x5c41ff, _0x361c3d, _0x12838d),
_0x12838d;
}
,
_0x367725['TransformCoordinatesToRef'] = function(_0xf6e46f, _0x3244f9, _0x23e99f) {
_0x367725['TransformCoordinatesFromFloatsToRef'](_0xf6e46f['x'], _0xf6e46f['y'], _0xf6e46f['z'], _0x3244f9, _0x23e99f);
}
,
_0x367725['TransformCoordinatesFromFloatsToRef'] = function(_0xd49762, _0x2a2dc9, _0x285659, _0x4337ec, _0x360949) {
var _0x43d7c = _0x4337ec['m']
, _0x551c5d = _0xd49762 * _0x43d7c[0x0] + _0x2a2dc9 * _0x43d7c[0x4] + _0x285659 * _0x43d7c[0x8] + _0x43d7c[0xc]
, _0x4d63f4 = _0xd49762 * _0x43d7c[0x1] + _0x2a2dc9 * _0x43d7c[0x5] + _0x285659 * _0x43d7c[0x9] + _0x43d7c[0xd]
, _0xd5fb2 = _0xd49762 * _0x43d7c[0x2] + _0x2a2dc9 * _0x43d7c[0x6] + _0x285659 * _0x43d7c[0xa] + _0x43d7c[0xe]
, _0x460bbd = 0x1 / (_0xd49762 * _0x43d7c[0x3] + _0x2a2dc9 * _0x43d7c[0x7] + _0x285659 * _0x43d7c[0xb] + _0x43d7c[0xf]);
_0x360949['x'] = _0x551c5d * _0x460bbd,
_0x360949['y'] = _0x4d63f4 * _0x460bbd,
_0x360949['z'] = _0xd5fb2 * _0x460bbd;
}
,
_0x367725['TransformNormal'] = function(_0x53b2b4, _0x43442d) {
var _0x250f92 = _0x367725['Zero']();
return _0x367725['TransformNormalToRef'](_0x53b2b4, _0x43442d, _0x250f92),
_0x250f92;
}
,
_0x367725['TransformNormalToRef'] = function(_0x37c0ee, _0x118745, _0x1acd40) {
this['TransformNormalFromFloatsToRef'](_0x37c0ee['x'], _0x37c0ee['y'], _0x37c0ee['z'], _0x118745, _0x1acd40);
}
,
_0x367725['TransformNormalFromFloatsToRef'] = function(_0x360b63, _0x27dd31, _0x16e765, _0x431d96, _0x5740af) {
var _0x3b4b03 = _0x431d96['m'];
_0x5740af['x'] = _0x360b63 * _0x3b4b03[0x0] + _0x27dd31 * _0x3b4b03[0x4] + _0x16e765 * _0x3b4b03[0x8],
_0x5740af['y'] = _0x360b63 * _0x3b4b03[0x1] + _0x27dd31 * _0x3b4b03[0x5] + _0x16e765 * _0x3b4b03[0x9],
_0x5740af['z'] = _0x360b63 * _0x3b4b03[0x2] + _0x27dd31 * _0x3b4b03[0x6] + _0x16e765 * _0x3b4b03[0xa];
}
,
_0x367725['CatmullRom'] = function(_0xa05058, _0x4c3cb6, _0x11a1d6, _0x2fa461, _0x4d86a7) {
var _0x1df388 = _0x4d86a7 * _0x4d86a7
, _0x1c384b = _0x4d86a7 * _0x1df388;
return new _0x367725(0.5 * (0x2 * _0x4c3cb6['x'] + (-_0xa05058['x'] + _0x11a1d6['x']) * _0x4d86a7 + (0x2 * _0xa05058['x'] - 0x5 * _0x4c3cb6['x'] + 0x4 * _0x11a1d6['x'] - _0x2fa461['x']) * _0x1df388 + (-_0xa05058['x'] + 0x3 * _0x4c3cb6['x'] - 0x3 * _0x11a1d6['x'] + _0x2fa461['x']) * _0x1c384b),0.5 * (0x2 * _0x4c3cb6['y'] + (-_0xa05058['y'] + _0x11a1d6['y']) * _0x4d86a7 + (0x2 * _0xa05058['y'] - 0x5 * _0x4c3cb6['y'] + 0x4 * _0x11a1d6['y'] - _0x2fa461['y']) * _0x1df388 + (-_0xa05058['y'] + 0x3 * _0x4c3cb6['y'] - 0x3 * _0x11a1d6['y'] + _0x2fa461['y']) * _0x1c384b),0.5 * (0x2 * _0x4c3cb6['z'] + (-_0xa05058['z'] + _0x11a1d6['z']) * _0x4d86a7 + (0x2 * _0xa05058['z'] - 0x5 * _0x4c3cb6['z'] + 0x4 * _0x11a1d6['z'] - _0x2fa461['z']) * _0x1df388 + (-_0xa05058['z'] + 0x3 * _0x4c3cb6['z'] - 0x3 * _0x11a1d6['z'] + _0x2fa461['z']) * _0x1c384b));
}
,
_0x367725['Clamp'] = function(_0x3477d3, _0x2ca7a6, _0xa86798) {
var _0x2fb97d = new _0x367725();
return _0x367725['ClampToRef'](_0x3477d3, _0x2ca7a6, _0xa86798, _0x2fb97d),
_0x2fb97d;
}
,
_0x367725['ClampToRef'] = function(_0x49e1c6, _0x461d78, _0x382a4d, _0x10ccb1) {
var _0x1c57c0 = _0x49e1c6['x'];
_0x1c57c0 = (_0x1c57c0 = _0x1c57c0 > _0x382a4d['x'] ? _0x382a4d['x'] : _0x1c57c0) < _0x461d78['x'] ? _0x461d78['x'] : _0x1c57c0;
var _0x391569 = _0x49e1c6['y'];
_0x391569 = (_0x391569 = _0x391569 > _0x382a4d['y'] ? _0x382a4d['y'] : _0x391569) < _0x461d78['y'] ? _0x461d78['y'] : _0x391569;
var _0xf91b05 = _0x49e1c6['z'];
_0xf91b05 = (_0xf91b05 = _0xf91b05 > _0x382a4d['z'] ? _0x382a4d['z'] : _0xf91b05) < _0x461d78['z'] ? _0x461d78['z'] : _0xf91b05,
_0x10ccb1['copyFromFloats'](_0x1c57c0, _0x391569, _0xf91b05);
}
,
_0x367725['Hermite'] = function(_0x3c335d, _0x501b18, _0x1e979c, _0x2110a, _0x247783) {
var _0x28bce7 = _0x247783 * _0x247783
, _0x9040de = _0x247783 * _0x28bce7
, _0x2ff6c7 = 0x2 * _0x9040de - 0x3 * _0x28bce7 + 0x1
, _0x235104 = -0x2 * _0x9040de + 0x3 * _0x28bce7
, _0x377f1a = _0x9040de - 0x2 * _0x28bce7 + _0x247783
, _0x3c0a8d = _0x9040de - _0x28bce7;
return new _0x367725(_0x3c335d['x'] * _0x2ff6c7 + _0x1e979c['x'] * _0x235104 + _0x501b18['x'] * _0x377f1a + _0x2110a['x'] * _0x3c0a8d,_0x3c335d['y'] * _0x2ff6c7 + _0x1e979c['y'] * _0x235104 + _0x501b18['y'] * _0x377f1a + _0x2110a['y'] * _0x3c0a8d,_0x3c335d['z'] * _0x2ff6c7 + _0x1e979c['z'] * _0x235104 + _0x501b18['z'] * _0x377f1a + _0x2110a['z'] * _0x3c0a8d);
}
,
_0x367725['Lerp'] = function(_0x3748de, _0x44c518, _0x45df36) {
var _0x5745bb = new _0x367725(0x0,0x0,0x0);
return _0x367725['LerpToRef'](_0x3748de, _0x44c518, _0x45df36, _0x5745bb),
_0x5745bb;
}
,
_0x367725['LerpToRef'] = function(_0xf0a160, _0xe8f39e, _0x311505, _0x47b36f) {
_0x47b36f['x'] = _0xf0a160['x'] + (_0xe8f39e['x'] - _0xf0a160['x']) * _0x311505,
_0x47b36f['y'] = _0xf0a160['y'] + (_0xe8f39e['y'] - _0xf0a160['y']) * _0x311505,
_0x47b36f['z'] = _0xf0a160['z'] + (_0xe8f39e['z'] - _0xf0a160['z']) * _0x311505;
}
,
_0x367725['Dot'] = function(_0x534252, _0x237530) {
return _0x534252['x'] * _0x237530['x'] + _0x534252['y'] * _0x237530['y'] + _0x534252['z'] * _0x237530['z'];
}
,
_0x367725['Cross'] = function(_0x1b655e, _0x5bf251) {
var _0x363515 = _0x367725['Zero']();
return _0x367725['CrossToRef'](_0x1b655e, _0x5bf251, _0x363515),
_0x363515;
}
,
_0x367725['CrossToRef'] = function(_0x3dc151, _0x35b48b, _0x1ca844) {
var _0xad855 = _0x3dc151['y'] * _0x35b48b['z'] - _0x3dc151['z'] * _0x35b48b['y']
, _0x21bd62 = _0x3dc151['z'] * _0x35b48b['x'] - _0x3dc151['x'] * _0x35b48b['z']
, _0x50e42b = _0x3dc151['x'] * _0x35b48b['y'] - _0x3dc151['y'] * _0x35b48b['x'];
_0x1ca844['copyFromFloats'](_0xad855, _0x21bd62, _0x50e42b);
}
,
_0x367725['Normalize'] = function(_0x27e20d) {
var _0x33cbab = _0x367725['Zero']();
return _0x367725['NormalizeToRef'](_0x27e20d, _0x33cbab),
_0x33cbab;
}
,
_0x367725['NormalizeToRef'] = function(_0x5e3ea6, _0x4f1ab2) {
_0x5e3ea6['normalizeToRef'](_0x4f1ab2);
}
,
_0x367725['Project'] = function(_0x432f70, _0x55bd19, _0x4c5899, _0x3712c1) {
var _0x227505 = _0x3712c1['width']
, _0x179d52 = _0x3712c1['height']
, _0x544461 = _0x3712c1['x']
, _0x1fa15d = _0x3712c1['y']
, _0x4b1e51 = _0x53a116['Matrix'][0x1];
_0x5e57bc['FromValuesToRef'](_0x227505 / 0x2, 0x0, 0x0, 0x0, 0x0, -_0x179d52 / 0x2, 0x0, 0x0, 0x0, 0x0, 0.5, 0x0, _0x544461 + _0x227505 / 0x2, _0x179d52 / 0x2 + _0x1fa15d, 0.5, 0x1, _0x4b1e51);
var _0x14b400 = _0x53a116['Matrix'][0x0];
return _0x55bd19['multiplyToRef'](_0x4c5899, _0x14b400),
_0x14b400['multiplyToRef'](_0x4b1e51, _0x14b400),
_0x367725['TransformCoordinates'](_0x432f70, _0x14b400);
}
,
_0x367725['_UnprojectFromInvertedMatrixToRef'] = function(_0x18354b, _0x22b75d, _0x7a331f) {
_0x367725['TransformCoordinatesToRef'](_0x18354b, _0x22b75d, _0x7a331f);
var _0x13a7d1 = _0x22b75d['m']
, _0x23299d = _0x18354b['x'] * _0x13a7d1[0x3] + _0x18354b['y'] * _0x13a7d1[0x7] + _0x18354b['z'] * _0x13a7d1[0xb] + _0x13a7d1[0xf];
_0x15f609['a']['WithinEpsilon'](_0x23299d, 0x1) && _0x7a331f['scaleInPlace'](0x1 / _0x23299d);
}
,
_0x367725['UnprojectFromTransform'] = function(_0x1d86ea, _0x4d232d, _0x3d15cd, _0x5f3050, _0x5c9aec) {
var _0x23a7dc = _0x53a116['Matrix'][0x0];
_0x5f3050['multiplyToRef'](_0x5c9aec, _0x23a7dc),
_0x23a7dc['invert'](),
_0x1d86ea['x'] = _0x1d86ea['x'] / _0x4d232d * 0x2 - 0x1,
_0x1d86ea['y'] = -(_0x1d86ea['y'] / _0x3d15cd * 0x2 - 0x1);
var _0x1a54ae = new _0x367725();
return _0x367725['_UnprojectFromInvertedMatrixToRef'](_0x1d86ea, _0x23a7dc, _0x1a54ae),
_0x1a54ae;
}
,
_0x367725['Unproject'] = function(_0x63dba8, _0x3db620, _0x80e6cf, _0x1ef847, _0x2c06f8, _0xea2bb2) {
var _0x49e6b6 = _0x367725['Zero']();
return _0x367725['UnprojectToRef'](_0x63dba8, _0x3db620, _0x80e6cf, _0x1ef847, _0x2c06f8, _0xea2bb2, _0x49e6b6),
_0x49e6b6;
}
,
_0x367725['UnprojectToRef'] = function(_0x1f1985, _0x1d97c3, _0x150b04, _0x2374f0, _0x42b47a, _0x59517e, _0x2079d4) {
_0x367725['UnprojectFloatsToRef'](_0x1f1985['x'], _0x1f1985['y'], _0x1f1985['z'], _0x1d97c3, _0x150b04, _0x2374f0, _0x42b47a, _0x59517e, _0x2079d4);
}
,
_0x367725['UnprojectFloatsToRef'] = function(_0x440175, _0x41cfdc, _0x2b4fc9, _0x512640, _0x29f41f, _0x18bf7a, _0x41eba7, _0x497176, _0x426695) {
var _0x31237b = _0x53a116['Matrix'][0x0];
_0x18bf7a['multiplyToRef'](_0x41eba7, _0x31237b),
_0x31237b['multiplyToRef'](_0x497176, _0x31237b),
_0x31237b['invert']();
var _0x25f284 = _0x53a116['Vector3'][0x0];
_0x25f284['x'] = _0x440175 / _0x512640 * 0x2 - 0x1,
_0x25f284['y'] = -(_0x41cfdc / _0x29f41f * 0x2 - 0x1),
_0x25f284['z'] = 0x2 * _0x2b4fc9 - 0x1,
_0x367725['_UnprojectFromInvertedMatrixToRef'](_0x25f284, _0x31237b, _0x426695);
}
,
_0x367725['Minimize'] = function(_0x1e7104, _0x37e34e) {
var _0x1deb13 = _0x1e7104['clone']();
return _0x1deb13['minimizeInPlace'](_0x37e34e),
_0x1deb13;
}
,
_0x367725['Maximize'] = function(_0xe43313, _0x7319a6) {
var _0x3a5411 = _0xe43313['clone']();
return _0x3a5411['maximizeInPlace'](_0x7319a6),
_0x3a5411;
}
,
_0x367725['Distance'] = function(_0x10f7e8, _0x4d4e64) {
return Math['sqrt'](_0x367725['DistanceSquared'](_0x10f7e8, _0x4d4e64));
}
,
_0x367725['DistanceSquared'] = function(_0x2c2a52, _0x1286cd) {
var _0x23f958 = _0x2c2a52['x'] - _0x1286cd['x']
, _0x3b740b = _0x2c2a52['y'] - _0x1286cd['y']
, _0x561577 = _0x2c2a52['z'] - _0x1286cd['z'];
return _0x23f958 * _0x23f958 + _0x3b740b * _0x3b740b + _0x561577 * _0x561577;
}
,
_0x367725['Center'] = function(_0x3a3383, _0x8a4c1b) {
var _0x472893 = _0x3a3383['add'](_0x8a4c1b);
return _0x472893['scaleInPlace'](0.5),
_0x472893;
}
,
_0x367725['RotationFromAxis'] = function(_0x5e154e, _0xa5efec, _0x41b686) {
var _0x32ea12 = _0x367725['Zero']();
return _0x367725['RotationFromAxisToRef'](_0x5e154e, _0xa5efec, _0x41b686, _0x32ea12),
_0x32ea12;
}
,
_0x367725['RotationFromAxisToRef'] = function(_0xcb2e14, _0x4cbc0c, _0x3518fa, _0x4ed092) {
var _0x4fe5f0 = _0x53a116['Quaternion'][0x0];
_0x897ad5['RotationQuaternionFromAxisToRef'](_0xcb2e14, _0x4cbc0c, _0x3518fa, _0x4fe5f0),
_0x4fe5f0['toEulerAnglesToRef'](_0x4ed092);
}
,
_0x367725['_UpReadOnly'] = _0x367725['Up'](),
_0x367725;
}(), _0x298fee = function() {
function _0x4edeb2(_0x5658a7, _0x2a6e81, _0x298214, _0x1c15a1) {
this['x'] = _0x5658a7,
this['y'] = _0x2a6e81,
this['z'] = _0x298214,
this['w'] = _0x1c15a1;
}
return _0x4edeb2['prototype']['toString'] = function() {
return '{X:\x20' + this['x'] + '\x20Y:' + this['y'] + '\x20Z:' + this['z'] + '\x20W:' + this['w'] + '}';
}
,
_0x4edeb2['prototype']['getClassName'] = function() {
return 'Vector4';
}
,
_0x4edeb2['prototype']['getHashCode'] = function() {
var _0x5c81a3 = this['x'] || 0x0;
return _0x5c81a3 = 0x18d * (_0x5c81a3 = 0x18d * (_0x5c81a3 = 0x18d * _0x5c81a3 ^ (this['y'] || 0x0)) ^ (this['z'] || 0x0)) ^ (this['w'] || 0x0);
}
,
_0x4edeb2['prototype']['asArray'] = function() {
var _0x698960 = new Array();
return this['toArray'](_0x698960, 0x0),
_0x698960;
}
,
_0x4edeb2['prototype']['toArray'] = function(_0x1352a0, _0x5064c7) {
return void 0x0 === _0x5064c7 && (_0x5064c7 = 0x0),
_0x1352a0[_0x5064c7] = this['x'],
_0x1352a0[_0x5064c7 + 0x1] = this['y'],
_0x1352a0[_0x5064c7 + 0x2] = this['z'],
_0x1352a0[_0x5064c7 + 0x3] = this['w'],
this;
}
,
_0x4edeb2['prototype']['addInPlace'] = function(_0x46524e) {
return this['x'] += _0x46524e['x'],
this['y'] += _0x46524e['y'],
this['z'] += _0x46524e['z'],
this['w'] += _0x46524e['w'],
this;
}
,
_0x4edeb2['prototype']['add'] = function(_0x2b8451) {
return new _0x4edeb2(this['x'] + _0x2b8451['x'],this['y'] + _0x2b8451['y'],this['z'] + _0x2b8451['z'],this['w'] + _0x2b8451['w']);
}
,
_0x4edeb2['prototype']['addToRef'] = function(_0x9a0194, _0x137192) {
return _0x137192['x'] = this['x'] + _0x9a0194['x'],
_0x137192['y'] = this['y'] + _0x9a0194['y'],
_0x137192['z'] = this['z'] + _0x9a0194['z'],
_0x137192['w'] = this['w'] + _0x9a0194['w'],
this;
}
,
_0x4edeb2['prototype']['subtractInPlace'] = function(_0x394dda) {
return this['x'] -= _0x394dda['x'],
this['y'] -= _0x394dda['y'],
this['z'] -= _0x394dda['z'],
this['w'] -= _0x394dda['w'],
this;
}
,
_0x4edeb2['prototype']['subtract'] = function(_0x432c60) {
return new _0x4edeb2(this['x'] - _0x432c60['x'],this['y'] - _0x432c60['y'],this['z'] - _0x432c60['z'],this['w'] - _0x432c60['w']);
}
,
_0x4edeb2['prototype']['subtractToRef'] = function(_0x2bf5cf, _0x15177b) {
return _0x15177b['x'] = this['x'] - _0x2bf5cf['x'],
_0x15177b['y'] = this['y'] - _0x2bf5cf['y'],
_0x15177b['z'] = this['z'] - _0x2bf5cf['z'],
_0x15177b['w'] = this['w'] - _0x2bf5cf['w'],
this;
}
,
_0x4edeb2['prototype']['subtractFromFloats'] = function(_0x3f7140, _0x253d60, _0x9706c9, _0x12b1ac) {
return new _0x4edeb2(this['x'] - _0x3f7140,this['y'] - _0x253d60,this['z'] - _0x9706c9,this['w'] - _0x12b1ac);
}
,
_0x4edeb2['prototype']['subtractFromFloatsToRef'] = function(_0x25e2e9, _0x36880f, _0x55ae3c, _0x5f423f, _0x1407c2) {
return _0x1407c2['x'] = this['x'] - _0x25e2e9,
_0x1407c2['y'] = this['y'] - _0x36880f,
_0x1407c2['z'] = this['z'] - _0x55ae3c,
_0x1407c2['w'] = this['w'] - _0x5f423f,
this;
}
,
_0x4edeb2['prototype']['negate'] = function() {
return new _0x4edeb2(-this['x'],-this['y'],-this['z'],-this['w']);
}
,
_0x4edeb2['prototype']['scaleInPlace'] = function(_0x522864) {
return this['x'] *= _0x522864,
this['y'] *= _0x522864,
this['z'] *= _0x522864,
this['w'] *= _0x522864,
this;
}
,
_0x4edeb2['prototype']['scale'] = function(_0x1b2dcf) {
return new _0x4edeb2(this['x'] * _0x1b2dcf,this['y'] * _0x1b2dcf,this['z'] * _0x1b2dcf,this['w'] * _0x1b2dcf);
}
,
_0x4edeb2['prototype']['scaleToRef'] = function(_0xd536ca, _0x383513) {
return _0x383513['x'] = this['x'] * _0xd536ca,
_0x383513['y'] = this['y'] * _0xd536ca,
_0x383513['z'] = this['z'] * _0xd536ca,
_0x383513['w'] = this['w'] * _0xd536ca,
this;
}
,
_0x4edeb2['prototype']['scaleAndAddToRef'] = function(_0x31b65a, _0x1e79ec) {
return _0x1e79ec['x'] += this['x'] * _0x31b65a,
_0x1e79ec['y'] += this['y'] * _0x31b65a,
_0x1e79ec['z'] += this['z'] * _0x31b65a,
_0x1e79ec['w'] += this['w'] * _0x31b65a,
this;
}
,
_0x4edeb2['prototype']['equals'] = function(_0x2d0833) {
return _0x2d0833 && this['x'] === _0x2d0833['x'] && this['y'] === _0x2d0833['y'] && this['z'] === _0x2d0833['z'] && this['w'] === _0x2d0833['w'];
}
,
_0x4edeb2['prototype']['equalsWithEpsilon'] = function(_0x1e4516, _0x2f31a9) {
return void 0x0 === _0x2f31a9 && (_0x2f31a9 = _0x3e57e9),
_0x1e4516 && _0x15f609['a']['WithinEpsilon'](this['x'], _0x1e4516['x'], _0x2f31a9) && _0x15f609['a']['WithinEpsilon'](this['y'], _0x1e4516['y'], _0x2f31a9) && _0x15f609['a']['WithinEpsilon'](this['z'], _0x1e4516['z'], _0x2f31a9) && _0x15f609['a']['WithinEpsilon'](this['w'], _0x1e4516['w'], _0x2f31a9);
}
,
_0x4edeb2['prototype']['equalsToFloats'] = function(_0x148720, _0x5ea0c2, _0x59fbd1, _0x1fd262) {
return this['x'] === _0x148720 && this['y'] === _0x5ea0c2 && this['z'] === _0x59fbd1 && this['w'] === _0x1fd262;
}
,
_0x4edeb2['prototype']['multiplyInPlace'] = function(_0x4d9256) {
return this['x'] *= _0x4d9256['x'],
this['y'] *= _0x4d9256['y'],
this['z'] *= _0x4d9256['z'],
this['w'] *= _0x4d9256['w'],
this;
}
,
_0x4edeb2['prototype']['multiply'] = function(_0x396d62) {
return new _0x4edeb2(this['x'] * _0x396d62['x'],this['y'] * _0x396d62['y'],this['z'] * _0x396d62['z'],this['w'] * _0x396d62['w']);
}
,
_0x4edeb2['prototype']['multiplyToRef'] = function(_0xd7f71c, _0x1837ee) {
return _0x1837ee['x'] = this['x'] * _0xd7f71c['x'],
_0x1837ee['y'] = this['y'] * _0xd7f71c['y'],
_0x1837ee['z'] = this['z'] * _0xd7f71c['z'],
_0x1837ee['w'] = this['w'] * _0xd7f71c['w'],
this;
}
,
_0x4edeb2['prototype']['multiplyByFloats'] = function(_0x1ad9d4, _0x9caea4, _0xfe04c6, _0x8dfa05) {
return new _0x4edeb2(this['x'] * _0x1ad9d4,this['y'] * _0x9caea4,this['z'] * _0xfe04c6,this['w'] * _0x8dfa05);
}
,
_0x4edeb2['prototype']['divide'] = function(_0x2b0645) {
return new _0x4edeb2(this['x'] / _0x2b0645['x'],this['y'] / _0x2b0645['y'],this['z'] / _0x2b0645['z'],this['w'] / _0x2b0645['w']);
}
,
_0x4edeb2['prototype']['divideToRef'] = function(_0x274f42, _0x2e6277) {
return _0x2e6277['x'] = this['x'] / _0x274f42['x'],
_0x2e6277['y'] = this['y'] / _0x274f42['y'],
_0x2e6277['z'] = this['z'] / _0x274f42['z'],
_0x2e6277['w'] = this['w'] / _0x274f42['w'],
this;
}
,
_0x4edeb2['prototype']['divideInPlace'] = function(_0x433d92) {
return this['divideToRef'](_0x433d92, this);
}
,
_0x4edeb2['prototype']['minimizeInPlace'] = function(_0x232d10) {
return _0x232d10['x'] < this['x'] && (this['x'] = _0x232d10['x']),
_0x232d10['y'] < this['y'] && (this['y'] = _0x232d10['y']),
_0x232d10['z'] < this['z'] && (this['z'] = _0x232d10['z']),
_0x232d10['w'] < this['w'] && (this['w'] = _0x232d10['w']),
this;
}
,
_0x4edeb2['prototype']['maximizeInPlace'] = function(_0x227c6b) {
return _0x227c6b['x'] > this['x'] && (this['x'] = _0x227c6b['x']),
_0x227c6b['y'] > this['y'] && (this['y'] = _0x227c6b['y']),
_0x227c6b['z'] > this['z'] && (this['z'] = _0x227c6b['z']),
_0x227c6b['w'] > this['w'] && (this['w'] = _0x227c6b['w']),
this;
}
,
_0x4edeb2['prototype']['floor'] = function() {
return new _0x4edeb2(Math['floor'](this['x']),Math['floor'](this['y']),Math['floor'](this['z']),Math['floor'](this['w']));
}
,
_0x4edeb2['prototype']['fract'] = function() {
return new _0x4edeb2(this['x'] - Math['floor'](this['x']),this['y'] - Math['floor'](this['y']),this['z'] - Math['floor'](this['z']),this['w'] - Math['floor'](this['w']));
}
,
_0x4edeb2['prototype']['length'] = function() {
return Math['sqrt'](this['x'] * this['x'] + this['y'] * this['y'] + this['z'] * this['z'] + this['w'] * this['w']);
}
,
_0x4edeb2['prototype']['lengthSquared'] = function() {
return this['x'] * this['x'] + this['y'] * this['y'] + this['z'] * this['z'] + this['w'] * this['w'];
}
,
_0x4edeb2['prototype']['normalize'] = function() {
var _0x43fdda = this['length']();
return 0x0 === _0x43fdda ? this : this['scaleInPlace'](0x1 / _0x43fdda);
}
,
_0x4edeb2['prototype']['toVector3'] = function() {
return new _0x3fbe20(this['x'],this['y'],this['z']);
}
,
_0x4edeb2['prototype']['clone'] = function() {
return new _0x4edeb2(this['x'],this['y'],this['z'],this['w']);
}
,
_0x4edeb2['prototype']['copyFrom'] = function(_0xe583e4) {
return this['x'] = _0xe583e4['x'],
this['y'] = _0xe583e4['y'],
this['z'] = _0xe583e4['z'],
this['w'] = _0xe583e4['w'],
this;
}
,
_0x4edeb2['prototype']['copyFromFloats'] = function(_0x5c6782, _0x4aba38, _0x2884cb, _0x4d086c) {
return this['x'] = _0x5c6782,
this['y'] = _0x4aba38,
this['z'] = _0x2884cb,
this['w'] = _0x4d086c,
this;
}
,
_0x4edeb2['prototype']['set'] = function(_0x5dd74d, _0xcf541f, _0x9a3ff9, _0x2889d5) {
return this['copyFromFloats'](_0x5dd74d, _0xcf541f, _0x9a3ff9, _0x2889d5);
}
,
_0x4edeb2['prototype']['setAll'] = function(_0x213f8c) {
return this['x'] = this['y'] = this['z'] = this['w'] = _0x213f8c,
this;
}
,
_0x4edeb2['FromArray'] = function(_0x2a596c, _0x293a99) {
return _0x293a99 || (_0x293a99 = 0x0),
new _0x4edeb2(_0x2a596c[_0x293a99],_0x2a596c[_0x293a99 + 0x1],_0x2a596c[_0x293a99 + 0x2],_0x2a596c[_0x293a99 + 0x3]);
}
,
_0x4edeb2['FromArrayToRef'] = function(_0x30df50, _0x5c808a, _0x380bf1) {
_0x380bf1['x'] = _0x30df50[_0x5c808a],
_0x380bf1['y'] = _0x30df50[_0x5c808a + 0x1],
_0x380bf1['z'] = _0x30df50[_0x5c808a + 0x2],
_0x380bf1['w'] = _0x30df50[_0x5c808a + 0x3];
}
,
_0x4edeb2['FromFloatArrayToRef'] = function(_0x3dfced, _0x11a21c, _0x1eba8e) {
_0x4edeb2['FromArrayToRef'](_0x3dfced, _0x11a21c, _0x1eba8e);
}
,
_0x4edeb2['FromFloatsToRef'] = function(_0x574586, _0x11a7c6, _0x26c433, _0x1dd9ce, _0x34bb1c) {
_0x34bb1c['x'] = _0x574586,
_0x34bb1c['y'] = _0x11a7c6,
_0x34bb1c['z'] = _0x26c433,
_0x34bb1c['w'] = _0x1dd9ce;
}
,
_0x4edeb2['Zero'] = function() {
return new _0x4edeb2(0x0,0x0,0x0,0x0);
}
,
_0x4edeb2['One'] = function() {
return new _0x4edeb2(0x1,0x1,0x1,0x1);
}
,
_0x4edeb2['Normalize'] = function(_0x4ac056) {
var _0x58ad06 = _0x4edeb2['Zero']();
return _0x4edeb2['NormalizeToRef'](_0x4ac056, _0x58ad06),
_0x58ad06;
}
,
_0x4edeb2['NormalizeToRef'] = function(_0xc8e59c, _0x4f0aa) {
_0x4f0aa['copyFrom'](_0xc8e59c),
_0x4f0aa['normalize']();
}
,
_0x4edeb2['Minimize'] = function(_0x411bec, _0x317eb5) {
var _0xdc5a72 = _0x411bec['clone']();
return _0xdc5a72['minimizeInPlace'](_0x317eb5),
_0xdc5a72;
}
,
_0x4edeb2['Maximize'] = function(_0x477031, _0x39100d) {
var _0x31d943 = _0x477031['clone']();
return _0x31d943['maximizeInPlace'](_0x39100d),
_0x31d943;
}
,
_0x4edeb2['Distance'] = function(_0x49c0c1, _0x1d4513) {
return Math['sqrt'](_0x4edeb2['DistanceSquared'](_0x49c0c1, _0x1d4513));
}
,
_0x4edeb2['DistanceSquared'] = function(_0x37d8c9, _0x309937) {
var _0x34b8ee = _0x37d8c9['x'] - _0x309937['x']
, _0x15cf57 = _0x37d8c9['y'] - _0x309937['y']
, _0x4d1d56 = _0x37d8c9['z'] - _0x309937['z']
, _0x370dfa = _0x37d8c9['w'] - _0x309937['w'];
return _0x34b8ee * _0x34b8ee + _0x15cf57 * _0x15cf57 + _0x4d1d56 * _0x4d1d56 + _0x370dfa * _0x370dfa;
}
,
_0x4edeb2['Center'] = function(_0x2b4fe3, _0x56dee7) {
var _0x1d8cdf = _0x2b4fe3['add'](_0x56dee7);
return _0x1d8cdf['scaleInPlace'](0.5),
_0x1d8cdf;
}
,
_0x4edeb2['TransformNormal'] = function(_0x4e3c64, _0x8968de) {
var _0x3c1510 = _0x4edeb2['Zero']();
return _0x4edeb2['TransformNormalToRef'](_0x4e3c64, _0x8968de, _0x3c1510),
_0x3c1510;
}
,
_0x4edeb2['TransformNormalToRef'] = function(_0x566093, _0x188881, _0xb819d8) {
var _0x502f27 = _0x188881['m']
, _0x3ad505 = _0x566093['x'] * _0x502f27[0x0] + _0x566093['y'] * _0x502f27[0x4] + _0x566093['z'] * _0x502f27[0x8]
, _0x50828b = _0x566093['x'] * _0x502f27[0x1] + _0x566093['y'] * _0x502f27[0x5] + _0x566093['z'] * _0x502f27[0x9]
, _0x581b6a = _0x566093['x'] * _0x502f27[0x2] + _0x566093['y'] * _0x502f27[0x6] + _0x566093['z'] * _0x502f27[0xa];
_0xb819d8['x'] = _0x3ad505,
_0xb819d8['y'] = _0x50828b,
_0xb819d8['z'] = _0x581b6a,
_0xb819d8['w'] = _0x566093['w'];
}
,
_0x4edeb2['TransformNormalFromFloatsToRef'] = function(_0x591cbb, _0x2cbd96, _0x314db0, _0x110d0e, _0x1bc70c, _0xbf787c) {
var _0x1eac41 = _0x1bc70c['m'];
_0xbf787c['x'] = _0x591cbb * _0x1eac41[0x0] + _0x2cbd96 * _0x1eac41[0x4] + _0x314db0 * _0x1eac41[0x8],
_0xbf787c['y'] = _0x591cbb * _0x1eac41[0x1] + _0x2cbd96 * _0x1eac41[0x5] + _0x314db0 * _0x1eac41[0x9],
_0xbf787c['z'] = _0x591cbb * _0x1eac41[0x2] + _0x2cbd96 * _0x1eac41[0x6] + _0x314db0 * _0x1eac41[0xa],
_0xbf787c['w'] = _0x110d0e;
}
,
_0x4edeb2['FromVector3'] = function(_0x533793, _0xe4875b) {
return void 0x0 === _0xe4875b && (_0xe4875b = 0x0),
new _0x4edeb2(_0x533793['x'],_0x533793['y'],_0x533793['z'],_0xe4875b);
}
,
_0x4edeb2;
}(), _0x1232e4 = function() {
function _0xdacaea(_0x24f48a, _0x4d0511) {
this['width'] = _0x24f48a,
this['height'] = _0x4d0511;
}
return _0xdacaea['prototype']['toString'] = function() {
return '{W:\x20' + this['width'] + ',\x20H:\x20' + this['height'] + '}';
}
,
_0xdacaea['prototype']['getClassName'] = function() {
return 'Size';
}
,
_0xdacaea['prototype']['getHashCode'] = function() {
var _0x1ccf2f = this['width'] || 0x0;
return _0x1ccf2f = 0x18d * _0x1ccf2f ^ (this['height'] || 0x0);
}
,
_0xdacaea['prototype']['copyFrom'] = function(_0x477bea) {
this['width'] = _0x477bea['width'],
this['height'] = _0x477bea['height'];
}
,
_0xdacaea['prototype']['copyFromFloats'] = function(_0x24ae96, _0xf54019) {
return this['width'] = _0x24ae96,
this['height'] = _0xf54019,
this;
}
,
_0xdacaea['prototype']['set'] = function(_0x3204a1, _0x3b9f33) {
return this['copyFromFloats'](_0x3204a1, _0x3b9f33);
}
,
_0xdacaea['prototype']['multiplyByFloats'] = function(_0x55053c, _0x1d4d31) {
return new _0xdacaea(this['width'] * _0x55053c,this['height'] * _0x1d4d31);
}
,
_0xdacaea['prototype']['clone'] = function() {
return new _0xdacaea(this['width'],this['height']);
}
,
_0xdacaea['prototype']['equals'] = function(_0x239164) {
return !!_0x239164 && (this['width'] === _0x239164['width'] && this['height'] === _0x239164['height']);
}
,
Object['defineProperty'](_0xdacaea['prototype'], 'surface', {
'get': function() {
return this['width'] * this['height'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0xdacaea['Zero'] = function() {
return new _0xdacaea(0x0,0x0);
}
,
_0xdacaea['prototype']['add'] = function(_0x111ff9) {
return new _0xdacaea(this['width'] + _0x111ff9['width'],this['height'] + _0x111ff9['height']);
}
,
_0xdacaea['prototype']['subtract'] = function(_0x5e12fa) {
return new _0xdacaea(this['width'] - _0x5e12fa['width'],this['height'] - _0x5e12fa['height']);
}
,
_0xdacaea['Lerp'] = function(_0x58ff4e, _0x3cd087, _0x4fe305) {
return new _0xdacaea(_0x58ff4e['width'] + (_0x3cd087['width'] - _0x58ff4e['width']) * _0x4fe305,_0x58ff4e['height'] + (_0x3cd087['height'] - _0x58ff4e['height']) * _0x4fe305);
}
,
_0xdacaea;
}(), _0x897ad5 = function() {
function _0x260207(_0x2aaf7c, _0x1a3132, _0x5d082e, _0x30fcee) {
void 0x0 === _0x2aaf7c && (_0x2aaf7c = 0x0),
void 0x0 === _0x1a3132 && (_0x1a3132 = 0x0),
void 0x0 === _0x5d082e && (_0x5d082e = 0x0),
void 0x0 === _0x30fcee && (_0x30fcee = 0x1),
this['x'] = _0x2aaf7c,
this['y'] = _0x1a3132,
this['z'] = _0x5d082e,
this['w'] = _0x30fcee;
}
return _0x260207['prototype']['toString'] = function() {
return '{X:\x20' + this['x'] + '\x20Y:' + this['y'] + '\x20Z:' + this['z'] + '\x20W:' + this['w'] + '}';
}
,
_0x260207['prototype']['getClassName'] = function() {
return 'Quaternion';
}
,
_0x260207['prototype']['getHashCode'] = function() {
var _0x202156 = this['x'] || 0x0;
return _0x202156 = 0x18d * (_0x202156 = 0x18d * (_0x202156 = 0x18d * _0x202156 ^ (this['y'] || 0x0)) ^ (this['z'] || 0x0)) ^ (this['w'] || 0x0);
}
,
_0x260207['prototype']['asArray'] = function() {
return [this['x'], this['y'], this['z'], this['w']];
}
,
_0x260207['prototype']['equals'] = function(_0x50573e) {
return _0x50573e && this['x'] === _0x50573e['x'] && this['y'] === _0x50573e['y'] && this['z'] === _0x50573e['z'] && this['w'] === _0x50573e['w'];
}
,
_0x260207['prototype']['clone'] = function() {
return new _0x260207(this['x'],this['y'],this['z'],this['w']);
}
,
_0x260207['prototype']['copyFrom'] = function(_0x5d3847) {
return this['x'] = _0x5d3847['x'],
this['y'] = _0x5d3847['y'],
this['z'] = _0x5d3847['z'],
this['w'] = _0x5d3847['w'],
this;
}
,
_0x260207['prototype']['copyFromFloats'] = function(_0x3e6ec9, _0x1a3b0d, _0x3b4e9a, _0x421925) {
return this['x'] = _0x3e6ec9,
this['y'] = _0x1a3b0d,
this['z'] = _0x3b4e9a,
this['w'] = _0x421925,
this;
}
,
_0x260207['prototype']['set'] = function(_0x3fbeff, _0x4b4e8d, _0x2af6d9, _0x3fba47) {
return this['copyFromFloats'](_0x3fbeff, _0x4b4e8d, _0x2af6d9, _0x3fba47);
}
,
_0x260207['prototype']['add'] = function(_0x4c9334) {
return new _0x260207(this['x'] + _0x4c9334['x'],this['y'] + _0x4c9334['y'],this['z'] + _0x4c9334['z'],this['w'] + _0x4c9334['w']);
}
,
_0x260207['prototype']['addInPlace'] = function(_0x40d20d) {
return this['x'] += _0x40d20d['x'],
this['y'] += _0x40d20d['y'],
this['z'] += _0x40d20d['z'],
this['w'] += _0x40d20d['w'],
this;
}
,
_0x260207['prototype']['subtract'] = function(_0x47a6d) {
return new _0x260207(this['x'] - _0x47a6d['x'],this['y'] - _0x47a6d['y'],this['z'] - _0x47a6d['z'],this['w'] - _0x47a6d['w']);
}
,
_0x260207['prototype']['scale'] = function(_0x346553) {
return new _0x260207(this['x'] * _0x346553,this['y'] * _0x346553,this['z'] * _0x346553,this['w'] * _0x346553);
}
,
_0x260207['prototype']['scaleToRef'] = function(_0x41c9b3, _0x1418eb) {
return _0x1418eb['x'] = this['x'] * _0x41c9b3,
_0x1418eb['y'] = this['y'] * _0x41c9b3,
_0x1418eb['z'] = this['z'] * _0x41c9b3,
_0x1418eb['w'] = this['w'] * _0x41c9b3,
this;
}
,
_0x260207['prototype']['scaleInPlace'] = function(_0x3db4f8) {
return this['x'] *= _0x3db4f8,
this['y'] *= _0x3db4f8,
this['z'] *= _0x3db4f8,
this['w'] *= _0x3db4f8,
this;
}
,
_0x260207['prototype']['scaleAndAddToRef'] = function(_0x32856d, _0x259036) {
return _0x259036['x'] += this['x'] * _0x32856d,
_0x259036['y'] += this['y'] * _0x32856d,
_0x259036['z'] += this['z'] * _0x32856d,
_0x259036['w'] += this['w'] * _0x32856d,
this;
}
,
_0x260207['prototype']['multiply'] = function(_0x21b883) {
var _0x1d5502 = new _0x260207(0x0,0x0,0x0,0x1);
return this['multiplyToRef'](_0x21b883, _0x1d5502),
_0x1d5502;
}
,
_0x260207['prototype']['multiplyToRef'] = function(_0x2ebd26, _0x3f94d0) {
var _0x12f85e = this['x'] * _0x2ebd26['w'] + this['y'] * _0x2ebd26['z'] - this['z'] * _0x2ebd26['y'] + this['w'] * _0x2ebd26['x']
, _0x302186 = -this['x'] * _0x2ebd26['z'] + this['y'] * _0x2ebd26['w'] + this['z'] * _0x2ebd26['x'] + this['w'] * _0x2ebd26['y']
, _0x56b563 = this['x'] * _0x2ebd26['y'] - this['y'] * _0x2ebd26['x'] + this['z'] * _0x2ebd26['w'] + this['w'] * _0x2ebd26['z']
, _0x4f7073 = -this['x'] * _0x2ebd26['x'] - this['y'] * _0x2ebd26['y'] - this['z'] * _0x2ebd26['z'] + this['w'] * _0x2ebd26['w'];
return _0x3f94d0['copyFromFloats'](_0x12f85e, _0x302186, _0x56b563, _0x4f7073),
this;
}
,
_0x260207['prototype']['multiplyInPlace'] = function(_0x4b3899) {
return this['multiplyToRef'](_0x4b3899, this),
this;
}
,
_0x260207['prototype']['conjugateToRef'] = function(_0x3f855c) {
return _0x3f855c['copyFromFloats'](-this['x'], -this['y'], -this['z'], this['w']),
this;
}
,
_0x260207['prototype']['conjugateInPlace'] = function() {
return this['x'] *= -0x1,
this['y'] *= -0x1,
this['z'] *= -0x1,
this;
}
,
_0x260207['prototype']['conjugate'] = function() {
return new _0x260207(-this['x'],-this['y'],-this['z'],this['w']);
}
,
_0x260207['prototype']['length'] = function() {
return Math['sqrt'](this['x'] * this['x'] + this['y'] * this['y'] + this['z'] * this['z'] + this['w'] * this['w']);
}
,
_0x260207['prototype']['normalize'] = function() {
var _0x1ca130 = this['length']();
if (0x0 === _0x1ca130)
return this;
var _0xc9b773 = 0x1 / _0x1ca130;
return this['x'] *= _0xc9b773,
this['y'] *= _0xc9b773,
this['z'] *= _0xc9b773,
this['w'] *= _0xc9b773,
this;
}
,
_0x260207['prototype']['toEulerAngles'] = function(_0xc6e200) {
void 0x0 === _0xc6e200 && (_0xc6e200 = 'YZX');
var _0x1bde49 = _0x3fbe20['Zero']();
return this['toEulerAnglesToRef'](_0x1bde49),
_0x1bde49;
}
,
_0x260207['prototype']['toEulerAnglesToRef'] = function(_0xdde1a1) {
var _0x1dfe2d = this['z']
, _0x19eeae = this['x']
, _0x5d1661 = this['y']
, _0x572b56 = this['w']
, _0x45007c = _0x572b56 * _0x572b56
, _0x3b256a = _0x1dfe2d * _0x1dfe2d
, _0x5e772c = _0x19eeae * _0x19eeae
, _0xa40a67 = _0x5d1661 * _0x5d1661
, _0x1f9b33 = _0x5d1661 * _0x1dfe2d - _0x19eeae * _0x572b56;
return _0x1f9b33 < -0.4999999 ? (_0xdde1a1['y'] = 0x2 * Math['atan2'](_0x5d1661, _0x572b56),
_0xdde1a1['x'] = Math['PI'] / 0x2,
_0xdde1a1['z'] = 0x0) : _0x1f9b33 > 0.4999999 ? (_0xdde1a1['y'] = 0x2 * Math['atan2'](_0x5d1661, _0x572b56),
_0xdde1a1['x'] = -Math['PI'] / 0x2,
_0xdde1a1['z'] = 0x0) : (_0xdde1a1['z'] = Math['atan2'](0x2 * (_0x19eeae * _0x5d1661 + _0x1dfe2d * _0x572b56), -_0x3b256a - _0x5e772c + _0xa40a67 + _0x45007c),
_0xdde1a1['x'] = Math['asin'](-0x2 * (_0x1dfe2d * _0x5d1661 - _0x19eeae * _0x572b56)),
_0xdde1a1['y'] = Math['atan2'](0x2 * (_0x1dfe2d * _0x19eeae + _0x5d1661 * _0x572b56), _0x3b256a - _0x5e772c - _0xa40a67 + _0x45007c)),
this;
}
,
_0x260207['prototype']['toRotationMatrix'] = function(_0x13c412) {
return _0x5e57bc['FromQuaternionToRef'](this, _0x13c412),
this;
}
,
_0x260207['prototype']['fromRotationMatrix'] = function(_0x15c6fa) {
return _0x260207['FromRotationMatrixToRef'](_0x15c6fa, this),
this;
}
,
_0x260207['FromRotationMatrix'] = function(_0x151f66) {
var _0x393806 = new _0x260207();
return _0x260207['FromRotationMatrixToRef'](_0x151f66, _0x393806),
_0x393806;
}
,
_0x260207['FromRotationMatrixToRef'] = function(_0x4d8e58, _0x1efca4) {
var _0x123450, _0x324480 = _0x4d8e58['m'], _0x478539 = _0x324480[0x0], _0x4f17eb = _0x324480[0x4], _0x514883 = _0x324480[0x8], _0x12ab62 = _0x324480[0x1], _0x510d22 = _0x324480[0x5], _0x5b7f76 = _0x324480[0x9], _0x43dd48 = _0x324480[0x2], _0x42ad7e = _0x324480[0x6], _0x3d9a7e = _0x324480[0xa], _0x4273b9 = _0x478539 + _0x510d22 + _0x3d9a7e;
_0x4273b9 > 0x0 ? (_0x123450 = 0.5 / Math['sqrt'](_0x4273b9 + 0x1),
_0x1efca4['w'] = 0.25 / _0x123450,
_0x1efca4['x'] = (_0x42ad7e - _0x5b7f76) * _0x123450,
_0x1efca4['y'] = (_0x514883 - _0x43dd48) * _0x123450,
_0x1efca4['z'] = (_0x12ab62 - _0x4f17eb) * _0x123450) : _0x478539 > _0x510d22 && _0x478539 > _0x3d9a7e ? (_0x123450 = 0x2 * Math['sqrt'](0x1 + _0x478539 - _0x510d22 - _0x3d9a7e),
_0x1efca4['w'] = (_0x42ad7e - _0x5b7f76) / _0x123450,
_0x1efca4['x'] = 0.25 * _0x123450,
_0x1efca4['y'] = (_0x4f17eb + _0x12ab62) / _0x123450,
_0x1efca4['z'] = (_0x514883 + _0x43dd48) / _0x123450) : _0x510d22 > _0x3d9a7e ? (_0x123450 = 0x2 * Math['sqrt'](0x1 + _0x510d22 - _0x478539 - _0x3d9a7e),
_0x1efca4['w'] = (_0x514883 - _0x43dd48) / _0x123450,
_0x1efca4['x'] = (_0x4f17eb + _0x12ab62) / _0x123450,
_0x1efca4['y'] = 0.25 * _0x123450,
_0x1efca4['z'] = (_0x5b7f76 + _0x42ad7e) / _0x123450) : (_0x123450 = 0x2 * Math['sqrt'](0x1 + _0x3d9a7e - _0x478539 - _0x510d22),
_0x1efca4['w'] = (_0x12ab62 - _0x4f17eb) / _0x123450,
_0x1efca4['x'] = (_0x514883 + _0x43dd48) / _0x123450,
_0x1efca4['y'] = (_0x5b7f76 + _0x42ad7e) / _0x123450,
_0x1efca4['z'] = 0.25 * _0x123450);
}
,
_0x260207['Dot'] = function(_0x4253c9, _0x54feea) {
return _0x4253c9['x'] * _0x54feea['x'] + _0x4253c9['y'] * _0x54feea['y'] + _0x4253c9['z'] * _0x54feea['z'] + _0x4253c9['w'] * _0x54feea['w'];
}
,
_0x260207['AreClose'] = function(_0x1254b4, _0x22f1bc) {
return _0x260207['Dot'](_0x1254b4, _0x22f1bc) >= 0x0;
}
,
_0x260207['Zero'] = function() {
return new _0x260207(0x0,0x0,0x0,0x0);
}
,
_0x260207['Inverse'] = function(_0x4a393a) {
return new _0x260207(-_0x4a393a['x'],-_0x4a393a['y'],-_0x4a393a['z'],_0x4a393a['w']);
}
,
_0x260207['InverseToRef'] = function(_0x342a80, _0x5e176e) {
return _0x5e176e['set'](-_0x342a80['x'], -_0x342a80['y'], -_0x342a80['z'], _0x342a80['w']),
_0x5e176e;
}
,
_0x260207['Identity'] = function() {
return new _0x260207(0x0,0x0,0x0,0x1);
}
,
_0x260207['IsIdentity'] = function(_0x2b8e50) {
return _0x2b8e50 && 0x0 === _0x2b8e50['x'] && 0x0 === _0x2b8e50['y'] && 0x0 === _0x2b8e50['z'] && 0x1 === _0x2b8e50['w'];
}
,
_0x260207['RotationAxis'] = function(_0xbb986f, _0x421f39) {
return _0x260207['RotationAxisToRef'](_0xbb986f, _0x421f39, new _0x260207());
}
,
_0x260207['RotationAxisToRef'] = function(_0x41acd7, _0x5b1c74, _0x59b902) {
var _0x10310e = Math['sin'](_0x5b1c74 / 0x2);
return _0x41acd7['normalize'](),
_0x59b902['w'] = Math['cos'](_0x5b1c74 / 0x2),
_0x59b902['x'] = _0x41acd7['x'] * _0x10310e,
_0x59b902['y'] = _0x41acd7['y'] * _0x10310e,
_0x59b902['z'] = _0x41acd7['z'] * _0x10310e,
_0x59b902;
}
,
_0x260207['FromArray'] = function(_0x55cd4f, _0x3e2723) {
return _0x3e2723 || (_0x3e2723 = 0x0),
new _0x260207(_0x55cd4f[_0x3e2723],_0x55cd4f[_0x3e2723 + 0x1],_0x55cd4f[_0x3e2723 + 0x2],_0x55cd4f[_0x3e2723 + 0x3]);
}
,
_0x260207['FromEulerAngles'] = function(_0x416b9e, _0x17de6d, _0x1d8d5a) {
var _0x3e8f92 = new _0x260207();
return _0x260207['RotationYawPitchRollToRef'](_0x17de6d, _0x416b9e, _0x1d8d5a, _0x3e8f92),
_0x3e8f92;
}
,
_0x260207['FromEulerAnglesToRef'] = function(_0x115a29, _0x5481d2, _0x360b27, _0x5a652f) {
return _0x260207['RotationYawPitchRollToRef'](_0x5481d2, _0x115a29, _0x360b27, _0x5a652f),
_0x5a652f;
}
,
_0x260207['FromEulerVector'] = function(_0x372ec3) {
var _0x2fba2c = new _0x260207();
return _0x260207['RotationYawPitchRollToRef'](_0x372ec3['y'], _0x372ec3['x'], _0x372ec3['z'], _0x2fba2c),
_0x2fba2c;
}
,
_0x260207['FromEulerVectorToRef'] = function(_0x2a2ba8, _0x1960f0) {
return _0x260207['RotationYawPitchRollToRef'](_0x2a2ba8['y'], _0x2a2ba8['x'], _0x2a2ba8['z'], _0x1960f0),
_0x1960f0;
}
,
_0x260207['RotationYawPitchRoll'] = function(_0x3d9d54, _0x572a65, _0x51be9f) {
var _0xd862f9 = new _0x260207();
return _0x260207['RotationYawPitchRollToRef'](_0x3d9d54, _0x572a65, _0x51be9f, _0xd862f9),
_0xd862f9;
}
,
_0x260207['RotationYawPitchRollToRef'] = function(_0x260143, _0x494108, _0x2879f5, _0x38a94d) {
var _0x1c2ff9 = 0.5 * _0x2879f5
, _0x28fb34 = 0.5 * _0x494108
, _0xbf1cf4 = 0.5 * _0x260143
, _0x4facf0 = Math['sin'](_0x1c2ff9)
, _0x414db0 = Math['cos'](_0x1c2ff9)
, _0x159373 = Math['sin'](_0x28fb34)
, _0x221f73 = Math['cos'](_0x28fb34)
, _0x1be32f = Math['sin'](_0xbf1cf4)
, _0x2def53 = Math['cos'](_0xbf1cf4);
_0x38a94d['x'] = _0x2def53 * _0x159373 * _0x414db0 + _0x1be32f * _0x221f73 * _0x4facf0,
_0x38a94d['y'] = _0x1be32f * _0x221f73 * _0x414db0 - _0x2def53 * _0x159373 * _0x4facf0,
_0x38a94d['z'] = _0x2def53 * _0x221f73 * _0x4facf0 - _0x1be32f * _0x159373 * _0x414db0,
_0x38a94d['w'] = _0x2def53 * _0x221f73 * _0x414db0 + _0x1be32f * _0x159373 * _0x4facf0;
}
,
_0x260207['RotationAlphaBetaGamma'] = function(_0x59dcd0, _0x464a65, _0x4973b1) {
var _0x48d612 = new _0x260207();
return _0x260207['RotationAlphaBetaGammaToRef'](_0x59dcd0, _0x464a65, _0x4973b1, _0x48d612),
_0x48d612;
}
,
_0x260207['RotationAlphaBetaGammaToRef'] = function(_0x4a4265, _0x28367c, _0x2e64df, _0x2772f6) {
var _0x27472a = 0.5 * (_0x2e64df + _0x4a4265)
, _0x5db8fe = 0.5 * (_0x2e64df - _0x4a4265)
, _0x16f81e = 0.5 * _0x28367c;
_0x2772f6['x'] = Math['cos'](_0x5db8fe) * Math['sin'](_0x16f81e),
_0x2772f6['y'] = Math['sin'](_0x5db8fe) * Math['sin'](_0x16f81e),
_0x2772f6['z'] = Math['sin'](_0x27472a) * Math['cos'](_0x16f81e),
_0x2772f6['w'] = Math['cos'](_0x27472a) * Math['cos'](_0x16f81e);
}
,
_0x260207['RotationQuaternionFromAxis'] = function(_0x5bb73c, _0x5e01d8, _0x41cd31) {
var _0x439a84 = new _0x260207(0x0,0x0,0x0,0x0);
return _0x260207['RotationQuaternionFromAxisToRef'](_0x5bb73c, _0x5e01d8, _0x41cd31, _0x439a84),
_0x439a84;
}
,
_0x260207['RotationQuaternionFromAxisToRef'] = function(_0x28bafa, _0x247ae5, _0x1a47bc, _0x2b3b58) {
var _0x5cb0fe = _0x53a116['Matrix'][0x0];
_0x5e57bc['FromXYZAxesToRef'](_0x28bafa['normalize'](), _0x247ae5['normalize'](), _0x1a47bc['normalize'](), _0x5cb0fe),
_0x260207['FromRotationMatrixToRef'](_0x5cb0fe, _0x2b3b58);
}
,
_0x260207['Slerp'] = function(_0x581c09, _0x47896d, _0xb25d62) {
var _0x1ef552 = _0x260207['Identity']();
return _0x260207['SlerpToRef'](_0x581c09, _0x47896d, _0xb25d62, _0x1ef552),
_0x1ef552;
}
,
_0x260207['SlerpToRef'] = function(_0x293937, _0x481ddd, _0xb89408, _0x32af89) {
var _0x408347, _0x31be83, _0x2269b0 = _0x293937['x'] * _0x481ddd['x'] + _0x293937['y'] * _0x481ddd['y'] + _0x293937['z'] * _0x481ddd['z'] + _0x293937['w'] * _0x481ddd['w'], _0x2af898 = !0x1;
if (_0x2269b0 < 0x0 && (_0x2af898 = !0x0,
_0x2269b0 = -_0x2269b0),
_0x2269b0 > 0.999999)
_0x31be83 = 0x1 - _0xb89408,
_0x408347 = _0x2af898 ? -_0xb89408 : _0xb89408;
else {
var _0x272b05 = Math['acos'](_0x2269b0)
, _0x583e19 = 0x1 / Math['sin'](_0x272b05);
_0x31be83 = Math['sin']((0x1 - _0xb89408) * _0x272b05) * _0x583e19,
_0x408347 = _0x2af898 ? -Math['sin'](_0xb89408 * _0x272b05) * _0x583e19 : Math['sin'](_0xb89408 * _0x272b05) * _0x583e19;
}
_0x32af89['x'] = _0x31be83 * _0x293937['x'] + _0x408347 * _0x481ddd['x'],
_0x32af89['y'] = _0x31be83 * _0x293937['y'] + _0x408347 * _0x481ddd['y'],
_0x32af89['z'] = _0x31be83 * _0x293937['z'] + _0x408347 * _0x481ddd['z'],
_0x32af89['w'] = _0x31be83 * _0x293937['w'] + _0x408347 * _0x481ddd['w'];
}
,
_0x260207['Hermite'] = function(_0x11f961, _0x1208b5, _0x2f6648, _0xcb40ac, _0x35293a) {
var _0x20b0ed = _0x35293a * _0x35293a
, _0x1c676e = _0x35293a * _0x20b0ed
, _0x112137 = 0x2 * _0x1c676e - 0x3 * _0x20b0ed + 0x1
, _0xb4c8b1 = -0x2 * _0x1c676e + 0x3 * _0x20b0ed
, _0x9ce56b = _0x1c676e - 0x2 * _0x20b0ed + _0x35293a
, _0x3df0ba = _0x1c676e - _0x20b0ed;
return new _0x260207(_0x11f961['x'] * _0x112137 + _0x2f6648['x'] * _0xb4c8b1 + _0x1208b5['x'] * _0x9ce56b + _0xcb40ac['x'] * _0x3df0ba,_0x11f961['y'] * _0x112137 + _0x2f6648['y'] * _0xb4c8b1 + _0x1208b5['y'] * _0x9ce56b + _0xcb40ac['y'] * _0x3df0ba,_0x11f961['z'] * _0x112137 + _0x2f6648['z'] * _0xb4c8b1 + _0x1208b5['z'] * _0x9ce56b + _0xcb40ac['z'] * _0x3df0ba,_0x11f961['w'] * _0x112137 + _0x2f6648['w'] * _0xb4c8b1 + _0x1208b5['w'] * _0x9ce56b + _0xcb40ac['w'] * _0x3df0ba);
}
,
_0x260207;
}(), _0x5e57bc = function() {
function _0xb313f9() {
this['_isIdentity'] = !0x1,
this['_isIdentityDirty'] = !0x0,
this['_isIdentity3x2'] = !0x0,
this['_isIdentity3x2Dirty'] = !0x0,
this['updateFlag'] = -0x1,
this['_m'] = new Float32Array(0x10),
this['_updateIdentityStatus'](!0x1);
}
return Object['defineProperty'](_0xb313f9['prototype'], 'm', {
'get': function() {
return this['_m'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0xb313f9['prototype']['_markAsUpdated'] = function() {
this['updateFlag'] = _0xb313f9['_updateFlagSeed']++,
this['_isIdentity'] = !0x1,
this['_isIdentity3x2'] = !0x1,
this['_isIdentityDirty'] = !0x0,
this['_isIdentity3x2Dirty'] = !0x0;
}
,
_0xb313f9['prototype']['_updateIdentityStatus'] = function(_0x135b68, _0x4807b0, _0x3d08b3, _0x1c5d52) {
void 0x0 === _0x4807b0 && (_0x4807b0 = !0x1),
void 0x0 === _0x3d08b3 && (_0x3d08b3 = !0x1),
void 0x0 === _0x1c5d52 && (_0x1c5d52 = !0x0),
this['updateFlag'] = _0xb313f9['_updateFlagSeed']++,
this['_isIdentity'] = _0x135b68,
this['_isIdentity3x2'] = _0x135b68 || _0x3d08b3,
this['_isIdentityDirty'] = !this['_isIdentity'] && _0x4807b0,
this['_isIdentity3x2Dirty'] = !this['_isIdentity3x2'] && _0x1c5d52;
}
,
_0xb313f9['prototype']['isIdentity'] = function() {
if (this['_isIdentityDirty']) {
this['_isIdentityDirty'] = !0x1;
var _0x559560 = this['_m'];
this['_isIdentity'] = 0x1 === _0x559560[0x0] && 0x0 === _0x559560[0x1] && 0x0 === _0x559560[0x2] && 0x0 === _0x559560[0x3] && 0x0 === _0x559560[0x4] && 0x1 === _0x559560[0x5] && 0x0 === _0x559560[0x6] && 0x0 === _0x559560[0x7] && 0x0 === _0x559560[0x8] && 0x0 === _0x559560[0x9] && 0x1 === _0x559560[0xa] && 0x0 === _0x559560[0xb] && 0x0 === _0x559560[0xc] && 0x0 === _0x559560[0xd] && 0x0 === _0x559560[0xe] && 0x1 === _0x559560[0xf];
}
return this['_isIdentity'];
}
,
_0xb313f9['prototype']['isIdentityAs3x2'] = function() {
return this['_isIdentity3x2Dirty'] && (this['_isIdentity3x2Dirty'] = !0x1,
0x1 !== this['_m'][0x0] || 0x1 !== this['_m'][0x5] || 0x1 !== this['_m'][0xf] ? this['_isIdentity3x2'] = !0x1 : 0x0 !== this['_m'][0x1] || 0x0 !== this['_m'][0x2] || 0x0 !== this['_m'][0x3] || 0x0 !== this['_m'][0x4] || 0x0 !== this['_m'][0x6] || 0x0 !== this['_m'][0x7] || 0x0 !== this['_m'][0x8] || 0x0 !== this['_m'][0x9] || 0x0 !== this['_m'][0xa] || 0x0 !== this['_m'][0xb] || 0x0 !== this['_m'][0xc] || 0x0 !== this['_m'][0xd] || 0x0 !== this['_m'][0xe] ? this['_isIdentity3x2'] = !0x1 : this['_isIdentity3x2'] = !0x0),
this['_isIdentity3x2'];
}
,
_0xb313f9['prototype']['determinant'] = function() {
if (!0x0 === this['_isIdentity'])
return 0x1;
var _0x27f097 = this['_m']
, _0x502395 = _0x27f097[0x0]
, _0x282e4a = _0x27f097[0x1]
, _0x899010 = _0x27f097[0x2]
, _0x196e45 = _0x27f097[0x3]
, _0x1c787b = _0x27f097[0x4]
, _0x61935a = _0x27f097[0x5]
, _0x164d92 = _0x27f097[0x6]
, _0x26dcb8 = _0x27f097[0x7]
, _0x432b75 = _0x27f097[0x8]
, _0x37dfdb = _0x27f097[0x9]
, _0x1ec816 = _0x27f097[0xa]
, _0x3e8470 = _0x27f097[0xb]
, _0x37ed58 = _0x27f097[0xc]
, _0x27eca5 = _0x27f097[0xd]
, _0x59424f = _0x27f097[0xe]
, _0x504877 = _0x27f097[0xf]
, _0x47bf26 = _0x1ec816 * _0x504877 - _0x59424f * _0x3e8470
, _0x54fc93 = _0x37dfdb * _0x504877 - _0x27eca5 * _0x3e8470
, _0x5bd5cc = _0x37dfdb * _0x59424f - _0x27eca5 * _0x1ec816
, _0x1aec64 = _0x432b75 * _0x504877 - _0x37ed58 * _0x3e8470
, _0x195fcc = _0x432b75 * _0x59424f - _0x1ec816 * _0x37ed58
, _0x3b98f8 = _0x432b75 * _0x27eca5 - _0x37ed58 * _0x37dfdb;
return _0x502395 * +(_0x61935a * _0x47bf26 - _0x164d92 * _0x54fc93 + _0x26dcb8 * _0x5bd5cc) + _0x282e4a * -(_0x1c787b * _0x47bf26 - _0x164d92 * _0x1aec64 + _0x26dcb8 * _0x195fcc) + _0x899010 * +(_0x1c787b * _0x54fc93 - _0x61935a * _0x1aec64 + _0x26dcb8 * _0x3b98f8) + _0x196e45 * -(_0x1c787b * _0x5bd5cc - _0x61935a * _0x195fcc + _0x164d92 * _0x3b98f8);
}
,
_0xb313f9['prototype']['toArray'] = function() {
return this['_m'];
}
,
_0xb313f9['prototype']['asArray'] = function() {
return this['_m'];
}
,
_0xb313f9['prototype']['invert'] = function() {
return this['invertToRef'](this),
this;
}
,
_0xb313f9['prototype']['reset'] = function() {
return _0xb313f9['FromValuesToRef'](0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, this),
this['_updateIdentityStatus'](!0x1),
this;
}
,
_0xb313f9['prototype']['add'] = function(_0x3d2e98) {
var _0x5c0742 = new _0xb313f9();
return this['addToRef'](_0x3d2e98, _0x5c0742),
_0x5c0742;
}
,
_0xb313f9['prototype']['addToRef'] = function(_0x7b4a8c, _0x169195) {
for (var _0x430ff4 = this['_m'], _0x1f3ffc = _0x169195['_m'], _0x1c7628 = _0x7b4a8c['m'], _0x16faa5 = 0x0; _0x16faa5 < 0x10; _0x16faa5++)
_0x1f3ffc[_0x16faa5] = _0x430ff4[_0x16faa5] + _0x1c7628[_0x16faa5];
return _0x169195['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['addToSelf'] = function(_0x7f68bf) {
for (var _0x148eb9 = this['_m'], _0x1b8592 = _0x7f68bf['m'], _0x45d178 = 0x0; _0x45d178 < 0x10; _0x45d178++)
_0x148eb9[_0x45d178] += _0x1b8592[_0x45d178];
return this['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['invertToRef'] = function(_0x3263bf) {
if (!0x0 === this['_isIdentity'])
return _0xb313f9['IdentityToRef'](_0x3263bf),
this;
var _0x864525 = this['_m']
, _0x2d8588 = _0x864525[0x0]
, _0x3c10a5 = _0x864525[0x1]
, _0x2bf53d = _0x864525[0x2]
, _0x339529 = _0x864525[0x3]
, _0x1439b0 = _0x864525[0x4]
, _0x5834ae = _0x864525[0x5]
, _0x4f9d2b = _0x864525[0x6]
, _0x38b1b4 = _0x864525[0x7]
, _0x2faa64 = _0x864525[0x8]
, _0x21f508 = _0x864525[0x9]
, _0x141f9c = _0x864525[0xa]
, _0x2a59fc = _0x864525[0xb]
, _0x357e7f = _0x864525[0xc]
, _0xdd488d = _0x864525[0xd]
, _0x1a8898 = _0x864525[0xe]
, _0x42e888 = _0x864525[0xf]
, _0x8e28cd = _0x141f9c * _0x42e888 - _0x1a8898 * _0x2a59fc
, _0x346cf5 = _0x21f508 * _0x42e888 - _0xdd488d * _0x2a59fc
, _0x2b1726 = _0x21f508 * _0x1a8898 - _0xdd488d * _0x141f9c
, _0x5df2b7 = _0x2faa64 * _0x42e888 - _0x357e7f * _0x2a59fc
, _0x3215b1 = _0x2faa64 * _0x1a8898 - _0x141f9c * _0x357e7f
, _0x8f63d0 = _0x2faa64 * _0xdd488d - _0x357e7f * _0x21f508
, _0x1f8566 = +(_0x5834ae * _0x8e28cd - _0x4f9d2b * _0x346cf5 + _0x38b1b4 * _0x2b1726)
, _0x40198b = -(_0x1439b0 * _0x8e28cd - _0x4f9d2b * _0x5df2b7 + _0x38b1b4 * _0x3215b1)
, _0x1d9d19 = +(_0x1439b0 * _0x346cf5 - _0x5834ae * _0x5df2b7 + _0x38b1b4 * _0x8f63d0)
, _0x465246 = -(_0x1439b0 * _0x2b1726 - _0x5834ae * _0x3215b1 + _0x4f9d2b * _0x8f63d0)
, _0x2abb5d = _0x2d8588 * _0x1f8566 + _0x3c10a5 * _0x40198b + _0x2bf53d * _0x1d9d19 + _0x339529 * _0x465246;
if (0x0 === _0x2abb5d)
return _0x3263bf['copyFrom'](this),
this;
var _0x11fe38 = 0x1 / _0x2abb5d
, _0x3f2894 = _0x4f9d2b * _0x42e888 - _0x1a8898 * _0x38b1b4
, _0x58be2a = _0x5834ae * _0x42e888 - _0xdd488d * _0x38b1b4
, _0x18383e = _0x5834ae * _0x1a8898 - _0xdd488d * _0x4f9d2b
, _0x21828b = _0x1439b0 * _0x42e888 - _0x357e7f * _0x38b1b4
, _0x3d2686 = _0x1439b0 * _0x1a8898 - _0x357e7f * _0x4f9d2b
, _0x511add = _0x1439b0 * _0xdd488d - _0x357e7f * _0x5834ae
, _0x27b019 = _0x4f9d2b * _0x2a59fc - _0x141f9c * _0x38b1b4
, _0x151a18 = _0x5834ae * _0x2a59fc - _0x21f508 * _0x38b1b4
, _0x5b0086 = _0x5834ae * _0x141f9c - _0x21f508 * _0x4f9d2b
, _0x399297 = _0x1439b0 * _0x2a59fc - _0x2faa64 * _0x38b1b4
, _0x6b9597 = _0x1439b0 * _0x141f9c - _0x2faa64 * _0x4f9d2b
, _0x3c1d49 = _0x1439b0 * _0x21f508 - _0x2faa64 * _0x5834ae
, _0x5ab461 = -(_0x3c10a5 * _0x8e28cd - _0x2bf53d * _0x346cf5 + _0x339529 * _0x2b1726)
, _0xac0613 = +(_0x2d8588 * _0x8e28cd - _0x2bf53d * _0x5df2b7 + _0x339529 * _0x3215b1)
, _0x4dbde4 = -(_0x2d8588 * _0x346cf5 - _0x3c10a5 * _0x5df2b7 + _0x339529 * _0x8f63d0)
, _0x132da4 = +(_0x2d8588 * _0x2b1726 - _0x3c10a5 * _0x3215b1 + _0x2bf53d * _0x8f63d0)
, _0x514d8f = +(_0x3c10a5 * _0x3f2894 - _0x2bf53d * _0x58be2a + _0x339529 * _0x18383e)
, _0x3ec500 = -(_0x2d8588 * _0x3f2894 - _0x2bf53d * _0x21828b + _0x339529 * _0x3d2686)
, _0x1ba604 = +(_0x2d8588 * _0x58be2a - _0x3c10a5 * _0x21828b + _0x339529 * _0x511add)
, _0x5c0ce4 = -(_0x2d8588 * _0x18383e - _0x3c10a5 * _0x3d2686 + _0x2bf53d * _0x511add)
, _0x10ff06 = -(_0x3c10a5 * _0x27b019 - _0x2bf53d * _0x151a18 + _0x339529 * _0x5b0086)
, _0x3c9470 = +(_0x2d8588 * _0x27b019 - _0x2bf53d * _0x399297 + _0x339529 * _0x6b9597)
, _0x209c41 = -(_0x2d8588 * _0x151a18 - _0x3c10a5 * _0x399297 + _0x339529 * _0x3c1d49)
, _0x2915f3 = +(_0x2d8588 * _0x5b0086 - _0x3c10a5 * _0x6b9597 + _0x2bf53d * _0x3c1d49);
return _0xb313f9['FromValuesToRef'](_0x1f8566 * _0x11fe38, _0x5ab461 * _0x11fe38, _0x514d8f * _0x11fe38, _0x10ff06 * _0x11fe38, _0x40198b * _0x11fe38, _0xac0613 * _0x11fe38, _0x3ec500 * _0x11fe38, _0x3c9470 * _0x11fe38, _0x1d9d19 * _0x11fe38, _0x4dbde4 * _0x11fe38, _0x1ba604 * _0x11fe38, _0x209c41 * _0x11fe38, _0x465246 * _0x11fe38, _0x132da4 * _0x11fe38, _0x5c0ce4 * _0x11fe38, _0x2915f3 * _0x11fe38, _0x3263bf),
this;
}
,
_0xb313f9['prototype']['addAtIndex'] = function(_0x3a9dec, _0x27409b) {
return this['_m'][_0x3a9dec] += _0x27409b,
this['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['multiplyAtIndex'] = function(_0x1d016b, _0x263ea8) {
return this['_m'][_0x1d016b] *= _0x263ea8,
this['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['setTranslationFromFloats'] = function(_0x229c0b, _0x2c5700, _0x33dd67) {
return this['_m'][0xc] = _0x229c0b,
this['_m'][0xd] = _0x2c5700,
this['_m'][0xe] = _0x33dd67,
this['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['addTranslationFromFloats'] = function(_0x182e3f, _0x354301, _0x2b4992) {
return this['_m'][0xc] += _0x182e3f,
this['_m'][0xd] += _0x354301,
this['_m'][0xe] += _0x2b4992,
this['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['setTranslation'] = function(_0x1aa1df) {
return this['setTranslationFromFloats'](_0x1aa1df['x'], _0x1aa1df['y'], _0x1aa1df['z']);
}
,
_0xb313f9['prototype']['getTranslation'] = function() {
return new _0x3fbe20(this['_m'][0xc],this['_m'][0xd],this['_m'][0xe]);
}
,
_0xb313f9['prototype']['getTranslationToRef'] = function(_0x323424) {
return _0x323424['x'] = this['_m'][0xc],
_0x323424['y'] = this['_m'][0xd],
_0x323424['z'] = this['_m'][0xe],
this;
}
,
_0xb313f9['prototype']['removeRotationAndScaling'] = function() {
var _0x3a060e = this['m'];
return _0xb313f9['FromValuesToRef'](0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, _0x3a060e[0xc], _0x3a060e[0xd], _0x3a060e[0xe], _0x3a060e[0xf], this),
this['_updateIdentityStatus'](0x0 === _0x3a060e[0xc] && 0x0 === _0x3a060e[0xd] && 0x0 === _0x3a060e[0xe] && 0x1 === _0x3a060e[0xf]),
this;
}
,
_0xb313f9['prototype']['multiply'] = function(_0x18d0d5) {
var _0x373f53 = new _0xb313f9();
return this['multiplyToRef'](_0x18d0d5, _0x373f53),
_0x373f53;
}
,
_0xb313f9['prototype']['copyFrom'] = function(_0x8312f1) {
_0x8312f1['copyToArray'](this['_m']);
var _0x2492d1 = _0x8312f1;
return this['_updateIdentityStatus'](_0x2492d1['_isIdentity'], _0x2492d1['_isIdentityDirty'], _0x2492d1['_isIdentity3x2'], _0x2492d1['_isIdentity3x2Dirty']),
this;
}
,
_0xb313f9['prototype']['copyToArray'] = function(_0xdd940c, _0x7b8a79) {
void 0x0 === _0x7b8a79 && (_0x7b8a79 = 0x0);
for (var _0x4f8881 = 0x0; _0x4f8881 < 0x10; _0x4f8881++)
_0xdd940c[_0x7b8a79 + _0x4f8881] = this['_m'][_0x4f8881];
return this;
}
,
_0xb313f9['prototype']['multiplyToRef'] = function(_0x4db02d, _0x324ca1) {
return this['_isIdentity'] ? (_0x324ca1['copyFrom'](_0x4db02d),
this) : _0x4db02d['_isIdentity'] ? (_0x324ca1['copyFrom'](this),
this) : (this['multiplyToArray'](_0x4db02d, _0x324ca1['_m'], 0x0),
_0x324ca1['_markAsUpdated'](),
this);
}
,
_0xb313f9['prototype']['multiplyToArray'] = function(_0x5eb8cf, _0x2cd594, _0x137581) {
var _0xffcc3e = this['_m']
, _0x434e89 = _0x5eb8cf['m']
, _0x33c2e4 = _0xffcc3e[0x0]
, _0x831565 = _0xffcc3e[0x1]
, _0x55e322 = _0xffcc3e[0x2]
, _0x212287 = _0xffcc3e[0x3]
, _0x25dc3f = _0xffcc3e[0x4]
, _0x1b09bb = _0xffcc3e[0x5]
, _0x4b30a1 = _0xffcc3e[0x6]
, _0x2c2bfe = _0xffcc3e[0x7]
, _0x21768a = _0xffcc3e[0x8]
, _0x4c8f3f = _0xffcc3e[0x9]
, _0x55a9b8 = _0xffcc3e[0xa]
, _0x1f9b53 = _0xffcc3e[0xb]
, _0x5ef596 = _0xffcc3e[0xc]
, _0x2e8de9 = _0xffcc3e[0xd]
, _0x498d53 = _0xffcc3e[0xe]
, _0x4db4fc = _0xffcc3e[0xf]
, _0x450c77 = _0x434e89[0x0]
, _0x56f2dd = _0x434e89[0x1]
, _0x396e76 = _0x434e89[0x2]
, _0x373ea9 = _0x434e89[0x3]
, _0x2dede9 = _0x434e89[0x4]
, _0x4bfda2 = _0x434e89[0x5]
, _0x1ad9b6 = _0x434e89[0x6]
, _0x3f10c6 = _0x434e89[0x7]
, _0x3cd38a = _0x434e89[0x8]
, _0x1bd079 = _0x434e89[0x9]
, _0x1ccd76 = _0x434e89[0xa]
, _0x25bcfb = _0x434e89[0xb]
, _0x31fba8 = _0x434e89[0xc]
, _0x5d9412 = _0x434e89[0xd]
, _0x4cf098 = _0x434e89[0xe]
, _0x3d1a92 = _0x434e89[0xf];
return _0x2cd594[_0x137581] = _0x33c2e4 * _0x450c77 + _0x831565 * _0x2dede9 + _0x55e322 * _0x3cd38a + _0x212287 * _0x31fba8,
_0x2cd594[_0x137581 + 0x1] = _0x33c2e4 * _0x56f2dd + _0x831565 * _0x4bfda2 + _0x55e322 * _0x1bd079 + _0x212287 * _0x5d9412,
_0x2cd594[_0x137581 + 0x2] = _0x33c2e4 * _0x396e76 + _0x831565 * _0x1ad9b6 + _0x55e322 * _0x1ccd76 + _0x212287 * _0x4cf098,
_0x2cd594[_0x137581 + 0x3] = _0x33c2e4 * _0x373ea9 + _0x831565 * _0x3f10c6 + _0x55e322 * _0x25bcfb + _0x212287 * _0x3d1a92,
_0x2cd594[_0x137581 + 0x4] = _0x25dc3f * _0x450c77 + _0x1b09bb * _0x2dede9 + _0x4b30a1 * _0x3cd38a + _0x2c2bfe * _0x31fba8,
_0x2cd594[_0x137581 + 0x5] = _0x25dc3f * _0x56f2dd + _0x1b09bb * _0x4bfda2 + _0x4b30a1 * _0x1bd079 + _0x2c2bfe * _0x5d9412,
_0x2cd594[_0x137581 + 0x6] = _0x25dc3f * _0x396e76 + _0x1b09bb * _0x1ad9b6 + _0x4b30a1 * _0x1ccd76 + _0x2c2bfe * _0x4cf098,
_0x2cd594[_0x137581 + 0x7] = _0x25dc3f * _0x373ea9 + _0x1b09bb * _0x3f10c6 + _0x4b30a1 * _0x25bcfb + _0x2c2bfe * _0x3d1a92,
_0x2cd594[_0x137581 + 0x8] = _0x21768a * _0x450c77 + _0x4c8f3f * _0x2dede9 + _0x55a9b8 * _0x3cd38a + _0x1f9b53 * _0x31fba8,
_0x2cd594[_0x137581 + 0x9] = _0x21768a * _0x56f2dd + _0x4c8f3f * _0x4bfda2 + _0x55a9b8 * _0x1bd079 + _0x1f9b53 * _0x5d9412,
_0x2cd594[_0x137581 + 0xa] = _0x21768a * _0x396e76 + _0x4c8f3f * _0x1ad9b6 + _0x55a9b8 * _0x1ccd76 + _0x1f9b53 * _0x4cf098,
_0x2cd594[_0x137581 + 0xb] = _0x21768a * _0x373ea9 + _0x4c8f3f * _0x3f10c6 + _0x55a9b8 * _0x25bcfb + _0x1f9b53 * _0x3d1a92,
_0x2cd594[_0x137581 + 0xc] = _0x5ef596 * _0x450c77 + _0x2e8de9 * _0x2dede9 + _0x498d53 * _0x3cd38a + _0x4db4fc * _0x31fba8,
_0x2cd594[_0x137581 + 0xd] = _0x5ef596 * _0x56f2dd + _0x2e8de9 * _0x4bfda2 + _0x498d53 * _0x1bd079 + _0x4db4fc * _0x5d9412,
_0x2cd594[_0x137581 + 0xe] = _0x5ef596 * _0x396e76 + _0x2e8de9 * _0x1ad9b6 + _0x498d53 * _0x1ccd76 + _0x4db4fc * _0x4cf098,
_0x2cd594[_0x137581 + 0xf] = _0x5ef596 * _0x373ea9 + _0x2e8de9 * _0x3f10c6 + _0x498d53 * _0x25bcfb + _0x4db4fc * _0x3d1a92,
this;
}
,
_0xb313f9['prototype']['equals'] = function(_0x34d738) {
var _0x2d2605 = _0x34d738;
if (!_0x2d2605)
return !0x1;
if ((this['_isIdentity'] || _0x2d2605['_isIdentity']) && !this['_isIdentityDirty'] && !_0x2d2605['_isIdentityDirty'])
return this['_isIdentity'] && _0x2d2605['_isIdentity'];
var _0xdc5dad = this['m']
, _0x59a34f = _0x2d2605['m'];
return _0xdc5dad[0x0] === _0x59a34f[0x0] && _0xdc5dad[0x1] === _0x59a34f[0x1] && _0xdc5dad[0x2] === _0x59a34f[0x2] && _0xdc5dad[0x3] === _0x59a34f[0x3] && _0xdc5dad[0x4] === _0x59a34f[0x4] && _0xdc5dad[0x5] === _0x59a34f[0x5] && _0xdc5dad[0x6] === _0x59a34f[0x6] && _0xdc5dad[0x7] === _0x59a34f[0x7] && _0xdc5dad[0x8] === _0x59a34f[0x8] && _0xdc5dad[0x9] === _0x59a34f[0x9] && _0xdc5dad[0xa] === _0x59a34f[0xa] && _0xdc5dad[0xb] === _0x59a34f[0xb] && _0xdc5dad[0xc] === _0x59a34f[0xc] && _0xdc5dad[0xd] === _0x59a34f[0xd] && _0xdc5dad[0xe] === _0x59a34f[0xe] && _0xdc5dad[0xf] === _0x59a34f[0xf];
}
,
_0xb313f9['prototype']['clone'] = function() {
var _0x1a9df2 = new _0xb313f9();
return _0x1a9df2['copyFrom'](this),
_0x1a9df2;
}
,
_0xb313f9['prototype']['getClassName'] = function() {
return 'Matrix';
}
,
_0xb313f9['prototype']['getHashCode'] = function() {
for (var _0x292a03 = this['_m'][0x0] || 0x0, _0x51a9df = 0x1; _0x51a9df < 0x10; _0x51a9df++)
_0x292a03 = 0x18d * _0x292a03 ^ (this['_m'][_0x51a9df] || 0x0);
return _0x292a03;
}
,
_0xb313f9['prototype']['decompose'] = function(_0xeca2fe, _0x100faa, _0x35ff84) {
if (this['_isIdentity'])
return _0x35ff84 && _0x35ff84['setAll'](0x0),
_0xeca2fe && _0xeca2fe['setAll'](0x1),
_0x100faa && _0x100faa['copyFromFloats'](0x0, 0x0, 0x0, 0x1),
!0x0;
var _0x1ad6fa = this['_m'];
if (_0x35ff84 && _0x35ff84['copyFromFloats'](_0x1ad6fa[0xc], _0x1ad6fa[0xd], _0x1ad6fa[0xe]),
(_0xeca2fe = _0xeca2fe || _0x53a116['Vector3'][0x0])['x'] = Math['sqrt'](_0x1ad6fa[0x0] * _0x1ad6fa[0x0] + _0x1ad6fa[0x1] * _0x1ad6fa[0x1] + _0x1ad6fa[0x2] * _0x1ad6fa[0x2]),
_0xeca2fe['y'] = Math['sqrt'](_0x1ad6fa[0x4] * _0x1ad6fa[0x4] + _0x1ad6fa[0x5] * _0x1ad6fa[0x5] + _0x1ad6fa[0x6] * _0x1ad6fa[0x6]),
_0xeca2fe['z'] = Math['sqrt'](_0x1ad6fa[0x8] * _0x1ad6fa[0x8] + _0x1ad6fa[0x9] * _0x1ad6fa[0x9] + _0x1ad6fa[0xa] * _0x1ad6fa[0xa]),
this['determinant']() <= 0x0 && (_0xeca2fe['y'] *= -0x1),
0x0 === _0xeca2fe['x'] || 0x0 === _0xeca2fe['y'] || 0x0 === _0xeca2fe['z'])
return _0x100faa && _0x100faa['copyFromFloats'](0x0, 0x0, 0x0, 0x1),
!0x1;
if (_0x100faa) {
var _0x1bd7f9 = 0x1 / _0xeca2fe['x']
, _0x9bfb3b = 0x1 / _0xeca2fe['y']
, _0x429acf = 0x1 / _0xeca2fe['z'];
_0xb313f9['FromValuesToRef'](_0x1ad6fa[0x0] * _0x1bd7f9, _0x1ad6fa[0x1] * _0x1bd7f9, _0x1ad6fa[0x2] * _0x1bd7f9, 0x0, _0x1ad6fa[0x4] * _0x9bfb3b, _0x1ad6fa[0x5] * _0x9bfb3b, _0x1ad6fa[0x6] * _0x9bfb3b, 0x0, _0x1ad6fa[0x8] * _0x429acf, _0x1ad6fa[0x9] * _0x429acf, _0x1ad6fa[0xa] * _0x429acf, 0x0, 0x0, 0x0, 0x0, 0x1, _0x53a116['Matrix'][0x0]),
_0x897ad5['FromRotationMatrixToRef'](_0x53a116['Matrix'][0x0], _0x100faa);
}
return !0x0;
}
,
_0xb313f9['prototype']['getRow'] = function(_0x331c50) {
if (_0x331c50 < 0x0 || _0x331c50 > 0x3)
return null;
var _0x1993ed = 0x4 * _0x331c50;
return new _0x298fee(this['_m'][_0x1993ed + 0x0],this['_m'][_0x1993ed + 0x1],this['_m'][_0x1993ed + 0x2],this['_m'][_0x1993ed + 0x3]);
}
,
_0xb313f9['prototype']['setRow'] = function(_0x444667, _0x5ce568) {
return this['setRowFromFloats'](_0x444667, _0x5ce568['x'], _0x5ce568['y'], _0x5ce568['z'], _0x5ce568['w']);
}
,
_0xb313f9['prototype']['transpose'] = function() {
return _0xb313f9['Transpose'](this);
}
,
_0xb313f9['prototype']['transposeToRef'] = function(_0x341c0b) {
return _0xb313f9['TransposeToRef'](this, _0x341c0b),
this;
}
,
_0xb313f9['prototype']['setRowFromFloats'] = function(_0x4be31f, _0x2f7a91, _0x38b613, _0x2e3f80, _0x41bf35) {
if (_0x4be31f < 0x0 || _0x4be31f > 0x3)
return this;
var _0x34a42a = 0x4 * _0x4be31f;
return this['_m'][_0x34a42a + 0x0] = _0x2f7a91,
this['_m'][_0x34a42a + 0x1] = _0x38b613,
this['_m'][_0x34a42a + 0x2] = _0x2e3f80,
this['_m'][_0x34a42a + 0x3] = _0x41bf35,
this['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['scale'] = function(_0x274786) {
var _0x45d9e3 = new _0xb313f9();
return this['scaleToRef'](_0x274786, _0x45d9e3),
_0x45d9e3;
}
,
_0xb313f9['prototype']['scaleToRef'] = function(_0x316602, _0x503805) {
for (var _0x165cbc = 0x0; _0x165cbc < 0x10; _0x165cbc++)
_0x503805['_m'][_0x165cbc] = this['_m'][_0x165cbc] * _0x316602;
return _0x503805['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['scaleAndAddToRef'] = function(_0x4bc6ba, _0x32d77a) {
for (var _0x46988e = 0x0; _0x46988e < 0x10; _0x46988e++)
_0x32d77a['_m'][_0x46988e] += this['_m'][_0x46988e] * _0x4bc6ba;
return _0x32d77a['_markAsUpdated'](),
this;
}
,
_0xb313f9['prototype']['toNormalMatrix'] = function(_0x30dde8) {
var _0x58a130 = _0x53a116['Matrix'][0x0];
this['invertToRef'](_0x58a130),
_0x58a130['transposeToRef'](_0x30dde8);
var _0x39cef5 = _0x30dde8['_m'];
_0xb313f9['FromValuesToRef'](_0x39cef5[0x0], _0x39cef5[0x1], _0x39cef5[0x2], 0x0, _0x39cef5[0x4], _0x39cef5[0x5], _0x39cef5[0x6], 0x0, _0x39cef5[0x8], _0x39cef5[0x9], _0x39cef5[0xa], 0x0, 0x0, 0x0, 0x0, 0x1, _0x30dde8);
}
,
_0xb313f9['prototype']['getRotationMatrix'] = function() {
var _0x3ff2b0 = new _0xb313f9();
return this['getRotationMatrixToRef'](_0x3ff2b0),
_0x3ff2b0;
}
,
_0xb313f9['prototype']['getRotationMatrixToRef'] = function(_0x4710ad) {
var _0xb0468 = _0x53a116['Vector3'][0x0];
if (!this['decompose'](_0xb0468))
return _0xb313f9['IdentityToRef'](_0x4710ad),
this;
var _0x8ebe86 = this['_m']
, _0x217c3c = 0x1 / _0xb0468['x']
, _0x4dfbfe = 0x1 / _0xb0468['y']
, _0x285053 = 0x1 / _0xb0468['z'];
return _0xb313f9['FromValuesToRef'](_0x8ebe86[0x0] * _0x217c3c, _0x8ebe86[0x1] * _0x217c3c, _0x8ebe86[0x2] * _0x217c3c, 0x0, _0x8ebe86[0x4] * _0x4dfbfe, _0x8ebe86[0x5] * _0x4dfbfe, _0x8ebe86[0x6] * _0x4dfbfe, 0x0, _0x8ebe86[0x8] * _0x285053, _0x8ebe86[0x9] * _0x285053, _0x8ebe86[0xa] * _0x285053, 0x0, 0x0, 0x0, 0x0, 0x1, _0x4710ad),
this;
}
,
_0xb313f9['prototype']['toggleModelMatrixHandInPlace'] = function() {
var _0x51bf5a = this['_m'];
_0x51bf5a[0x2] *= -0x1,
_0x51bf5a[0x6] *= -0x1,
_0x51bf5a[0x8] *= -0x1,
_0x51bf5a[0x9] *= -0x1,
_0x51bf5a[0xe] *= -0x1,
this['_markAsUpdated']();
}
,
_0xb313f9['prototype']['toggleProjectionMatrixHandInPlace'] = function() {
var _0x3a8729 = this['_m'];
_0x3a8729[0x8] *= -0x1,
_0x3a8729[0x9] *= -0x1,
_0x3a8729[0xa] *= -0x1,
_0x3a8729[0xb] *= -0x1,
this['_markAsUpdated']();
}
,
_0xb313f9['FromArray'] = function(_0x4f5eea, _0x1d61b5) {
void 0x0 === _0x1d61b5 && (_0x1d61b5 = 0x0);
var _0x1a6936 = new _0xb313f9();
return _0xb313f9['FromArrayToRef'](_0x4f5eea, _0x1d61b5, _0x1a6936),
_0x1a6936;
}
,
_0xb313f9['FromArrayToRef'] = function(_0xb14bf8, _0x14d2aa, _0x3475d4) {
for (var _0x77d356 = 0x0; _0x77d356 < 0x10; _0x77d356++)
_0x3475d4['_m'][_0x77d356] = _0xb14bf8[_0x77d356 + _0x14d2aa];
_0x3475d4['_markAsUpdated']();
}
,
_0xb313f9['FromFloat32ArrayToRefScaled'] = function(_0x34c7ed, _0x284eef, _0x40e994, _0x1d37ac) {
for (var _0x10f076 = 0x0; _0x10f076 < 0x10; _0x10f076++)
_0x1d37ac['_m'][_0x10f076] = _0x34c7ed[_0x10f076 + _0x284eef] * _0x40e994;
_0x1d37ac['_markAsUpdated']();
}
,
Object['defineProperty'](_0xb313f9, 'IdentityReadOnly', {
'get': function() {
return _0xb313f9['_identityReadOnly'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0xb313f9['FromValuesToRef'] = function(_0x159938, _0x252296, _0x1844b6, _0x30c7e1, _0x25d114, _0x448ec6, _0x28c129, _0x27a173, _0x2c048d, _0x404308, _0x1e8833, _0x3f3a87, _0x52955f, _0x429d32, _0x5d8e3d, _0x39a4ad, _0x30547b) {
var _0x445030 = _0x30547b['_m'];
_0x445030[0x0] = _0x159938,
_0x445030[0x1] = _0x252296,
_0x445030[0x2] = _0x1844b6,
_0x445030[0x3] = _0x30c7e1,
_0x445030[0x4] = _0x25d114,
_0x445030[0x5] = _0x448ec6,
_0x445030[0x6] = _0x28c129,
_0x445030[0x7] = _0x27a173,
_0x445030[0x8] = _0x2c048d,
_0x445030[0x9] = _0x404308,
_0x445030[0xa] = _0x1e8833,
_0x445030[0xb] = _0x3f3a87,
_0x445030[0xc] = _0x52955f,
_0x445030[0xd] = _0x429d32,
_0x445030[0xe] = _0x5d8e3d,
_0x445030[0xf] = _0x39a4ad,
_0x30547b['_markAsUpdated']();
}
,
_0xb313f9['FromValues'] = function(_0x42c867, _0xee1142, _0x17fd5a, _0x101709, _0x1e072f, _0x45493a, _0x37b36b, _0x392645, _0x41d92d, _0x1c0456, _0x1306c9, _0x1a129a, _0x2da3d7, _0xeb5a1, _0x10a604, _0x3da289) {
var _0xc2f166 = new _0xb313f9()
, _0x49602c = _0xc2f166['_m'];
return _0x49602c[0x0] = _0x42c867,
_0x49602c[0x1] = _0xee1142,
_0x49602c[0x2] = _0x17fd5a,
_0x49602c[0x3] = _0x101709,
_0x49602c[0x4] = _0x1e072f,
_0x49602c[0x5] = _0x45493a,
_0x49602c[0x6] = _0x37b36b,
_0x49602c[0x7] = _0x392645,
_0x49602c[0x8] = _0x41d92d,
_0x49602c[0x9] = _0x1c0456,
_0x49602c[0xa] = _0x1306c9,
_0x49602c[0xb] = _0x1a129a,
_0x49602c[0xc] = _0x2da3d7,
_0x49602c[0xd] = _0xeb5a1,
_0x49602c[0xe] = _0x10a604,
_0x49602c[0xf] = _0x3da289,
_0xc2f166['_markAsUpdated'](),
_0xc2f166;
}
,
_0xb313f9['Compose'] = function(_0x5c58ac, _0x3f340a, _0x36e48b) {
var _0x366e71 = new _0xb313f9();
return _0xb313f9['ComposeToRef'](_0x5c58ac, _0x3f340a, _0x36e48b, _0x366e71),
_0x366e71;
}
,
_0xb313f9['ComposeToRef'] = function(_0x589e13, _0x2f65d, _0x117423, _0x47b528) {
var _0x509100 = _0x47b528['_m']
, _0x2b7417 = _0x2f65d['x']
, _0x3128bb = _0x2f65d['y']
, _0x56425f = _0x2f65d['z']
, _0x4387f4 = _0x2f65d['w']
, _0x266071 = _0x2b7417 + _0x2b7417
, _0x3c2598 = _0x3128bb + _0x3128bb
, _0x56713c = _0x56425f + _0x56425f
, _0x29040f = _0x2b7417 * _0x266071
, _0x28c9e4 = _0x2b7417 * _0x3c2598
, _0x50f35d = _0x2b7417 * _0x56713c
, _0x177f17 = _0x3128bb * _0x3c2598
, _0x40a987 = _0x3128bb * _0x56713c
, _0x175823 = _0x56425f * _0x56713c
, _0x166cd3 = _0x4387f4 * _0x266071
, _0x365a14 = _0x4387f4 * _0x3c2598
, _0x456b38 = _0x4387f4 * _0x56713c
, _0x55ff71 = _0x589e13['x']
, _0x15caf0 = _0x589e13['y']
, _0x57bdfd = _0x589e13['z'];
_0x509100[0x0] = (0x1 - (_0x177f17 + _0x175823)) * _0x55ff71,
_0x509100[0x1] = (_0x28c9e4 + _0x456b38) * _0x55ff71,
_0x509100[0x2] = (_0x50f35d - _0x365a14) * _0x55ff71,
_0x509100[0x3] = 0x0,
_0x509100[0x4] = (_0x28c9e4 - _0x456b38) * _0x15caf0,
_0x509100[0x5] = (0x1 - (_0x29040f + _0x175823)) * _0x15caf0,
_0x509100[0x6] = (_0x40a987 + _0x166cd3) * _0x15caf0,
_0x509100[0x7] = 0x0,
_0x509100[0x8] = (_0x50f35d + _0x365a14) * _0x57bdfd,
_0x509100[0x9] = (_0x40a987 - _0x166cd3) * _0x57bdfd,
_0x509100[0xa] = (0x1 - (_0x29040f + _0x177f17)) * _0x57bdfd,
_0x509100[0xb] = 0x0,
_0x509100[0xc] = _0x117423['x'],
_0x509100[0xd] = _0x117423['y'],
_0x509100[0xe] = _0x117423['z'],
_0x509100[0xf] = 0x1,
_0x47b528['_markAsUpdated']();
}
,
_0xb313f9['Identity'] = function() {
var _0x541938 = _0xb313f9['FromValues'](0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1);
return _0x541938['_updateIdentityStatus'](!0x0),
_0x541938;
}
,
_0xb313f9['IdentityToRef'] = function(_0x4163d8) {
_0xb313f9['FromValuesToRef'](0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, _0x4163d8),
_0x4163d8['_updateIdentityStatus'](!0x0);
}
,
_0xb313f9['Zero'] = function() {
var _0x9a7774 = _0xb313f9['FromValues'](0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0);
return _0x9a7774['_updateIdentityStatus'](!0x1),
_0x9a7774;
}
,
_0xb313f9['RotationX'] = function(_0x519ade) {
var _0x374a43 = new _0xb313f9();
return _0xb313f9['RotationXToRef'](_0x519ade, _0x374a43),
_0x374a43;
}
,
_0xb313f9['Invert'] = function(_0x3a34b3) {
var _0x92ad5b = new _0xb313f9();
return _0x3a34b3['invertToRef'](_0x92ad5b),
_0x92ad5b;
}
,
_0xb313f9['RotationXToRef'] = function(_0x23fed0, _0x4e9b04) {
var _0x358d3f = Math['sin'](_0x23fed0)
, _0x25b2f4 = Math['cos'](_0x23fed0);
_0xb313f9['FromValuesToRef'](0x1, 0x0, 0x0, 0x0, 0x0, _0x25b2f4, _0x358d3f, 0x0, 0x0, -_0x358d3f, _0x25b2f4, 0x0, 0x0, 0x0, 0x0, 0x1, _0x4e9b04),
_0x4e9b04['_updateIdentityStatus'](0x1 === _0x25b2f4 && 0x0 === _0x358d3f);
}
,
_0xb313f9['RotationY'] = function(_0x330290) {
var _0x16f469 = new _0xb313f9();
return _0xb313f9['RotationYToRef'](_0x330290, _0x16f469),
_0x16f469;
}
,
_0xb313f9['RotationYToRef'] = function(_0x5e1091, _0xec8cac) {
var _0x538bf1 = Math['sin'](_0x5e1091)
, _0x2995cb = Math['cos'](_0x5e1091);
_0xb313f9['FromValuesToRef'](_0x2995cb, 0x0, -_0x538bf1, 0x0, 0x0, 0x1, 0x0, 0x0, _0x538bf1, 0x0, _0x2995cb, 0x0, 0x0, 0x0, 0x0, 0x1, _0xec8cac),
_0xec8cac['_updateIdentityStatus'](0x1 === _0x2995cb && 0x0 === _0x538bf1);
}
,
_0xb313f9['RotationZ'] = function(_0x39f02a) {
var _0x416160 = new _0xb313f9();
return _0xb313f9['RotationZToRef'](_0x39f02a, _0x416160),
_0x416160;
}
,
_0xb313f9['RotationZToRef'] = function(_0x3d9df5, _0x1eccd4) {
var _0x9027b0 = Math['sin'](_0x3d9df5)
, _0x45610d = Math['cos'](_0x3d9df5);
_0xb313f9['FromValuesToRef'](_0x45610d, _0x9027b0, 0x0, 0x0, -_0x9027b0, _0x45610d, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, _0x1eccd4),
_0x1eccd4['_updateIdentityStatus'](0x1 === _0x45610d && 0x0 === _0x9027b0);
}
,
_0xb313f9['RotationAxis'] = function(_0x10e793, _0x446ae5) {
var _0x5ea287 = new _0xb313f9();
return _0xb313f9['RotationAxisToRef'](_0x10e793, _0x446ae5, _0x5ea287),
_0x5ea287;
}
,
_0xb313f9['RotationAxisToRef'] = function(_0x5039bd, _0x44254b, _0x8a386) {
var _0x86b216 = Math['sin'](-_0x44254b)
, _0x222a97 = Math['cos'](-_0x44254b)
, _0xef433f = 0x1 - _0x222a97;
_0x5039bd['normalize']();
var _0x46760d = _0x8a386['_m'];
_0x46760d[0x0] = _0x5039bd['x'] * _0x5039bd['x'] * _0xef433f + _0x222a97,
_0x46760d[0x1] = _0x5039bd['x'] * _0x5039bd['y'] * _0xef433f - _0x5039bd['z'] * _0x86b216,
_0x46760d[0x2] = _0x5039bd['x'] * _0x5039bd['z'] * _0xef433f + _0x5039bd['y'] * _0x86b216,
_0x46760d[0x3] = 0x0,
_0x46760d[0x4] = _0x5039bd['y'] * _0x5039bd['x'] * _0xef433f + _0x5039bd['z'] * _0x86b216,
_0x46760d[0x5] = _0x5039bd['y'] * _0x5039bd['y'] * _0xef433f + _0x222a97,
_0x46760d[0x6] = _0x5039bd['y'] * _0x5039bd['z'] * _0xef433f - _0x5039bd['x'] * _0x86b216,
_0x46760d[0x7] = 0x0,
_0x46760d[0x8] = _0x5039bd['z'] * _0x5039bd['x'] * _0xef433f - _0x5039bd['y'] * _0x86b216,
_0x46760d[0x9] = _0x5039bd['z'] * _0x5039bd['y'] * _0xef433f + _0x5039bd['x'] * _0x86b216,
_0x46760d[0xa] = _0x5039bd['z'] * _0x5039bd['z'] * _0xef433f + _0x222a97,
_0x46760d[0xb] = 0x0,
_0x46760d[0xc] = 0x0,
_0x46760d[0xd] = 0x0,
_0x46760d[0xe] = 0x0,
_0x46760d[0xf] = 0x1,
_0x8a386['_markAsUpdated']();
}
,
_0xb313f9['RotationAlignToRef'] = function(_0x21b6ac, _0x309b9d, _0x502408) {
var _0x3f511f = _0x3fbe20['Cross'](_0x309b9d, _0x21b6ac)
, _0x1f150c = _0x3fbe20['Dot'](_0x309b9d, _0x21b6ac)
, _0x1d985c = 0x1 / (0x1 + _0x1f150c)
, _0x4db787 = _0x502408['_m'];
_0x4db787[0x0] = _0x3f511f['x'] * _0x3f511f['x'] * _0x1d985c + _0x1f150c,
_0x4db787[0x1] = _0x3f511f['y'] * _0x3f511f['x'] * _0x1d985c - _0x3f511f['z'],
_0x4db787[0x2] = _0x3f511f['z'] * _0x3f511f['x'] * _0x1d985c + _0x3f511f['y'],
_0x4db787[0x3] = 0x0,
_0x4db787[0x4] = _0x3f511f['x'] * _0x3f511f['y'] * _0x1d985c + _0x3f511f['z'],
_0x4db787[0x5] = _0x3f511f['y'] * _0x3f511f['y'] * _0x1d985c + _0x1f150c,
_0x4db787[0x6] = _0x3f511f['z'] * _0x3f511f['y'] * _0x1d985c - _0x3f511f['x'],
_0x4db787[0x7] = 0x0,
_0x4db787[0x8] = _0x3f511f['x'] * _0x3f511f['z'] * _0x1d985c - _0x3f511f['y'],
_0x4db787[0x9] = _0x3f511f['y'] * _0x3f511f['z'] * _0x1d985c + _0x3f511f['x'],
_0x4db787[0xa] = _0x3f511f['z'] * _0x3f511f['z'] * _0x1d985c + _0x1f150c,
_0x4db787[0xb] = 0x0,
_0x4db787[0xc] = 0x0,
_0x4db787[0xd] = 0x0,
_0x4db787[0xe] = 0x0,
_0x4db787[0xf] = 0x1,
_0x502408['_markAsUpdated']();
}
,
_0xb313f9['RotationYawPitchRoll'] = function(_0x5da873, _0x4a09ac, _0x5a4097) {
var _0x2ad84e = new _0xb313f9();
return _0xb313f9['RotationYawPitchRollToRef'](_0x5da873, _0x4a09ac, _0x5a4097, _0x2ad84e),
_0x2ad84e;
}
,
_0xb313f9['RotationYawPitchRollToRef'] = function(_0x5f1fd4, _0x4e6927, _0x293469, _0x463f24) {
_0x897ad5['RotationYawPitchRollToRef'](_0x5f1fd4, _0x4e6927, _0x293469, _0x53a116['Quaternion'][0x0]),
_0x53a116['Quaternion'][0x0]['toRotationMatrix'](_0x463f24);
}
,
_0xb313f9['Scaling'] = function(_0x1164c2, _0x551253, _0x94d04a) {
var _0x5731b7 = new _0xb313f9();
return _0xb313f9['ScalingToRef'](_0x1164c2, _0x551253, _0x94d04a, _0x5731b7),
_0x5731b7;
}
,
_0xb313f9['ScalingToRef'] = function(_0x1469a9, _0x3fb313, _0x5d2a57, _0xeaa32b) {
_0xb313f9['FromValuesToRef'](_0x1469a9, 0x0, 0x0, 0x0, 0x0, _0x3fb313, 0x0, 0x0, 0x0, 0x0, _0x5d2a57, 0x0, 0x0, 0x0, 0x0, 0x1, _0xeaa32b),
_0xeaa32b['_updateIdentityStatus'](0x1 === _0x1469a9 && 0x1 === _0x3fb313 && 0x1 === _0x5d2a57);
}
,
_0xb313f9['Translation'] = function(_0x1f8610, _0x3931e4, _0x4eba97) {
var _0x2e0a65 = new _0xb313f9();
return _0xb313f9['TranslationToRef'](_0x1f8610, _0x3931e4, _0x4eba97, _0x2e0a65),
_0x2e0a65;
}
,
_0xb313f9['TranslationToRef'] = function(_0x1a3705, _0x8e9e26, _0x3ec455, _0x3e8c1f) {
_0xb313f9['FromValuesToRef'](0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, _0x1a3705, _0x8e9e26, _0x3ec455, 0x1, _0x3e8c1f),
_0x3e8c1f['_updateIdentityStatus'](0x0 === _0x1a3705 && 0x0 === _0x8e9e26 && 0x0 === _0x3ec455);
}
,
_0xb313f9['Lerp'] = function(_0x588c62, _0x2ec6ba, _0x358da1) {
var _0x113230 = new _0xb313f9();
return _0xb313f9['LerpToRef'](_0x588c62, _0x2ec6ba, _0x358da1, _0x113230),
_0x113230;
}
,
_0xb313f9['LerpToRef'] = function(_0x439e01, _0x1d9fa1, _0x110f58, _0x3c5bd8) {
for (var _0x573ae3 = _0x3c5bd8['_m'], _0x2f8b85 = _0x439e01['m'], _0x3b48dd = _0x1d9fa1['m'], _0x4f5fb6 = 0x0; _0x4f5fb6 < 0x10; _0x4f5fb6++)
_0x573ae3[_0x4f5fb6] = _0x2f8b85[_0x4f5fb6] * (0x1 - _0x110f58) + _0x3b48dd[_0x4f5fb6] * _0x110f58;
_0x3c5bd8['_markAsUpdated']();
}
,
_0xb313f9['DecomposeLerp'] = function(_0x4d58c7, _0x140e5a, _0x4b1876) {
var _0x105fe3 = new _0xb313f9();
return _0xb313f9['DecomposeLerpToRef'](_0x4d58c7, _0x140e5a, _0x4b1876, _0x105fe3),
_0x105fe3;
}
,
_0xb313f9['DecomposeLerpToRef'] = function(_0x172647, _0x288f84, _0xd1955d, _0x16246c) {
var _0x501163 = _0x53a116['Vector3'][0x0]
, _0x15360b = _0x53a116['Quaternion'][0x0]
, _0x16b638 = _0x53a116['Vector3'][0x1];
_0x172647['decompose'](_0x501163, _0x15360b, _0x16b638);
var _0x13a284 = _0x53a116['Vector3'][0x2]
, _0x469b56 = _0x53a116['Quaternion'][0x1]
, _0x2c5879 = _0x53a116['Vector3'][0x3];
_0x288f84['decompose'](_0x13a284, _0x469b56, _0x2c5879);
var _0x5007c9 = _0x53a116['Vector3'][0x4];
_0x3fbe20['LerpToRef'](_0x501163, _0x13a284, _0xd1955d, _0x5007c9);
var _0x183185 = _0x53a116['Quaternion'][0x2];
_0x897ad5['SlerpToRef'](_0x15360b, _0x469b56, _0xd1955d, _0x183185);
var _0x3adb05 = _0x53a116['Vector3'][0x5];
_0x3fbe20['LerpToRef'](_0x16b638, _0x2c5879, _0xd1955d, _0x3adb05),
_0xb313f9['ComposeToRef'](_0x5007c9, _0x183185, _0x3adb05, _0x16246c);
}
,
_0xb313f9['LookAtLH'] = function(_0x1d855c, _0x3d200f, _0xb1750b) {
var _0x3e82b8 = new _0xb313f9();
return _0xb313f9['LookAtLHToRef'](_0x1d855c, _0x3d200f, _0xb1750b, _0x3e82b8),
_0x3e82b8;
}
,
_0xb313f9['LookAtLHToRef'] = function(_0x17430e, _0x2ba432, _0xf61387, _0x2f80) {
var _0x2ebd51 = _0x53a116['Vector3'][0x0]
, _0x163c6a = _0x53a116['Vector3'][0x1]
, _0x172ef7 = _0x53a116['Vector3'][0x2];
_0x2ba432['subtractToRef'](_0x17430e, _0x172ef7),
_0x172ef7['normalize'](),
_0x3fbe20['CrossToRef'](_0xf61387, _0x172ef7, _0x2ebd51);
var _0x5a8b21 = _0x2ebd51['lengthSquared']();
0x0 === _0x5a8b21 ? _0x2ebd51['x'] = 0x1 : _0x2ebd51['normalizeFromLength'](Math['sqrt'](_0x5a8b21)),
_0x3fbe20['CrossToRef'](_0x172ef7, _0x2ebd51, _0x163c6a),
_0x163c6a['normalize']();
var _0x389cd2 = -_0x3fbe20['Dot'](_0x2ebd51, _0x17430e)
, _0x5b844a = -_0x3fbe20['Dot'](_0x163c6a, _0x17430e)
, _0x25dd55 = -_0x3fbe20['Dot'](_0x172ef7, _0x17430e);
_0xb313f9['FromValuesToRef'](_0x2ebd51['x'], _0x163c6a['x'], _0x172ef7['x'], 0x0, _0x2ebd51['y'], _0x163c6a['y'], _0x172ef7['y'], 0x0, _0x2ebd51['z'], _0x163c6a['z'], _0x172ef7['z'], 0x0, _0x389cd2, _0x5b844a, _0x25dd55, 0x1, _0x2f80);
}
,
_0xb313f9['LookAtRH'] = function(_0x40ede6, _0x35a594, _0x3c2fb6) {
var _0x46bb4d = new _0xb313f9();
return _0xb313f9['LookAtRHToRef'](_0x40ede6, _0x35a594, _0x3c2fb6, _0x46bb4d),
_0x46bb4d;
}
,
_0xb313f9['LookAtRHToRef'] = function(_0x223fa7, _0x25665b, _0x43269d, _0x22274a) {
var _0x4dd27b = _0x53a116['Vector3'][0x0]
, _0xdc400d = _0x53a116['Vector3'][0x1]
, _0x235951 = _0x53a116['Vector3'][0x2];
_0x223fa7['subtractToRef'](_0x25665b, _0x235951),
_0x235951['normalize'](),
_0x3fbe20['CrossToRef'](_0x43269d, _0x235951, _0x4dd27b);
var _0x1bf742 = _0x4dd27b['lengthSquared']();
0x0 === _0x1bf742 ? _0x4dd27b['x'] = 0x1 : _0x4dd27b['normalizeFromLength'](Math['sqrt'](_0x1bf742)),
_0x3fbe20['CrossToRef'](_0x235951, _0x4dd27b, _0xdc400d),
_0xdc400d['normalize']();
var _0x12b2c7 = -_0x3fbe20['Dot'](_0x4dd27b, _0x223fa7)
, _0x47172c = -_0x3fbe20['Dot'](_0xdc400d, _0x223fa7)
, _0x1d1e8c = -_0x3fbe20['Dot'](_0x235951, _0x223fa7);
_0xb313f9['FromValuesToRef'](_0x4dd27b['x'], _0xdc400d['x'], _0x235951['x'], 0x0, _0x4dd27b['y'], _0xdc400d['y'], _0x235951['y'], 0x0, _0x4dd27b['z'], _0xdc400d['z'], _0x235951['z'], 0x0, _0x12b2c7, _0x47172c, _0x1d1e8c, 0x1, _0x22274a);
}
,
_0xb313f9['OrthoLH'] = function(_0x5dc47f, _0x4b0a74, _0x716677, _0x19630d) {
var _0x5b12cc = new _0xb313f9();
return _0xb313f9['OrthoLHToRef'](_0x5dc47f, _0x4b0a74, _0x716677, _0x19630d, _0x5b12cc),
_0x5b12cc;
}
,
_0xb313f9['OrthoLHToRef'] = function(_0x4286db, _0x4291b8, _0x7eaa89, _0x3f36a2, _0x39869f) {
var _0x270c24 = 0x2 / _0x4286db
, _0x3356e2 = 0x2 / _0x4291b8
, _0x227443 = 0x2 / (_0x3f36a2 - _0x7eaa89)
, _0x49bdd5 = -(_0x3f36a2 + _0x7eaa89) / (_0x3f36a2 - _0x7eaa89);
_0xb313f9['FromValuesToRef'](_0x270c24, 0x0, 0x0, 0x0, 0x0, _0x3356e2, 0x0, 0x0, 0x0, 0x0, _0x227443, 0x0, 0x0, 0x0, _0x49bdd5, 0x1, _0x39869f),
_0x39869f['_updateIdentityStatus'](0x1 === _0x270c24 && 0x1 === _0x3356e2 && 0x1 === _0x227443 && 0x0 === _0x49bdd5);
}
,
_0xb313f9['OrthoOffCenterLH'] = function(_0x300fef, _0x67bd1e, _0x9ea3a7, _0x5de03d, _0x27f7fc, _0x5b28bb) {
var _0x21bfe8 = new _0xb313f9();
return _0xb313f9['OrthoOffCenterLHToRef'](_0x300fef, _0x67bd1e, _0x9ea3a7, _0x5de03d, _0x27f7fc, _0x5b28bb, _0x21bfe8),
_0x21bfe8;
}
,
_0xb313f9['OrthoOffCenterLHToRef'] = function(_0x7026b9, _0x5b7a6f, _0x35d033, _0x3832a7, _0x31e349, _0x4e1b1b, _0x36fa60) {
var _0x278009 = 0x2 / (_0x5b7a6f - _0x7026b9)
, _0xf9de30 = 0x2 / (_0x3832a7 - _0x35d033)
, _0x1c3ec5 = 0x2 / (_0x4e1b1b - _0x31e349)
, _0x5ac4d2 = -(_0x4e1b1b + _0x31e349) / (_0x4e1b1b - _0x31e349)
, _0x7fd514 = (_0x7026b9 + _0x5b7a6f) / (_0x7026b9 - _0x5b7a6f)
, _0x1d8f98 = (_0x3832a7 + _0x35d033) / (_0x35d033 - _0x3832a7);
_0xb313f9['FromValuesToRef'](_0x278009, 0x0, 0x0, 0x0, 0x0, _0xf9de30, 0x0, 0x0, 0x0, 0x0, _0x1c3ec5, 0x0, _0x7fd514, _0x1d8f98, _0x5ac4d2, 0x1, _0x36fa60),
_0x36fa60['_markAsUpdated']();
}
,
_0xb313f9['OrthoOffCenterRH'] = function(_0x52f7e1, _0x22261f, _0x22c420, _0x405a86, _0x483a70, _0x4bde30) {
var _0x2813dd = new _0xb313f9();
return _0xb313f9['OrthoOffCenterRHToRef'](_0x52f7e1, _0x22261f, _0x22c420, _0x405a86, _0x483a70, _0x4bde30, _0x2813dd),
_0x2813dd;
}
,
_0xb313f9['OrthoOffCenterRHToRef'] = function(_0x4297f7, _0x5760f6, _0x335829, _0x5a7e30, _0x380a63, _0x81e138, _0x2fdff3) {
_0xb313f9['OrthoOffCenterLHToRef'](_0x4297f7, _0x5760f6, _0x335829, _0x5a7e30, _0x380a63, _0x81e138, _0x2fdff3),
_0x2fdff3['_m'][0xa] *= -0x1;
}
,
_0xb313f9['PerspectiveLH'] = function(_0x4173ce, _0xfd4594, _0x46ce16, _0x537f24) {
var _0xf325a8 = new _0xb313f9()
, _0x2f226a = 0x2 * _0x46ce16 / _0x4173ce
, _0x240fb8 = 0x2 * _0x46ce16 / _0xfd4594
, _0x5b8743 = (_0x537f24 + _0x46ce16) / (_0x537f24 - _0x46ce16)
, _0x5e9875 = -0x2 * _0x537f24 * _0x46ce16 / (_0x537f24 - _0x46ce16);
return _0xb313f9['FromValuesToRef'](_0x2f226a, 0x0, 0x0, 0x0, 0x0, _0x240fb8, 0x0, 0x0, 0x0, 0x0, _0x5b8743, 0x1, 0x0, 0x0, _0x5e9875, 0x0, _0xf325a8),
_0xf325a8['_updateIdentityStatus'](!0x1),
_0xf325a8;
}
,
_0xb313f9['PerspectiveFovLH'] = function(_0x461624, _0x3c8cb4, _0x1690c9, _0x1f9d58) {
var _0x3be8f2 = new _0xb313f9();
return _0xb313f9['PerspectiveFovLHToRef'](_0x461624, _0x3c8cb4, _0x1690c9, _0x1f9d58, _0x3be8f2),
_0x3be8f2;
}
,
_0xb313f9['PerspectiveFovLHToRef'] = function(_0x586182, _0x53da88, _0x324447, _0x1bceaf, _0x2854f8, _0x1f75a6) {
void 0x0 === _0x1f75a6 && (_0x1f75a6 = !0x0);
var _0x399db4 = _0x324447
, _0x36f997 = _0x1bceaf
, _0x3cb8f3 = 0x1 / Math['tan'](0.5 * _0x586182)
, _0xfa56dd = _0x1f75a6 ? _0x3cb8f3 / _0x53da88 : _0x3cb8f3
, _0x58817e = _0x1f75a6 ? _0x3cb8f3 : _0x3cb8f3 * _0x53da88
, _0x4d6e1f = (_0x36f997 + _0x399db4) / (_0x36f997 - _0x399db4)
, _0x59267c = -0x2 * _0x36f997 * _0x399db4 / (_0x36f997 - _0x399db4);
_0xb313f9['FromValuesToRef'](_0xfa56dd, 0x0, 0x0, 0x0, 0x0, _0x58817e, 0x0, 0x0, 0x0, 0x0, _0x4d6e1f, 0x1, 0x0, 0x0, _0x59267c, 0x0, _0x2854f8),
_0x2854f8['_updateIdentityStatus'](!0x1);
}
,
_0xb313f9['PerspectiveFovRH'] = function(_0x476948, _0x2d6e58, _0x1318ea, _0x18b625) {
var _0x449c9a = new _0xb313f9();
return _0xb313f9['PerspectiveFovRHToRef'](_0x476948, _0x2d6e58, _0x1318ea, _0x18b625, _0x449c9a),
_0x449c9a;
}
,
_0xb313f9['PerspectiveFovRHToRef'] = function(_0x226a70, _0x3abb77, _0x40634f, _0x3a47c5, _0x3ccd8a, _0x38c4d1) {
void 0x0 === _0x38c4d1 && (_0x38c4d1 = !0x0);
var _0x527e31 = _0x40634f
, _0x4c19ca = _0x3a47c5
, _0x45aad0 = 0x1 / Math['tan'](0.5 * _0x226a70)
, _0x1c02cb = _0x38c4d1 ? _0x45aad0 / _0x3abb77 : _0x45aad0
, _0x1d9c36 = _0x38c4d1 ? _0x45aad0 : _0x45aad0 * _0x3abb77
, _0x294880 = -(_0x4c19ca + _0x527e31) / (_0x4c19ca - _0x527e31)
, _0x37adcd = -0x2 * _0x4c19ca * _0x527e31 / (_0x4c19ca - _0x527e31);
_0xb313f9['FromValuesToRef'](_0x1c02cb, 0x0, 0x0, 0x0, 0x0, _0x1d9c36, 0x0, 0x0, 0x0, 0x0, _0x294880, -0x1, 0x0, 0x0, _0x37adcd, 0x0, _0x3ccd8a),
_0x3ccd8a['_updateIdentityStatus'](!0x1);
}
,
_0xb313f9['PerspectiveFovWebVRToRef'] = function(_0x3a926e, _0x2cf05c, _0xf1f6ef, _0x91862b, _0x4e4071) {
void 0x0 === _0x4e4071 && (_0x4e4071 = !0x1);
var _0x22859c = _0x4e4071 ? -0x1 : 0x1
, _0x30dc74 = Math['tan'](_0x3a926e['upDegrees'] * Math['PI'] / 0xb4)
, _0x5f233e = Math['tan'](_0x3a926e['downDegrees'] * Math['PI'] / 0xb4)
, _0x27da41 = Math['tan'](_0x3a926e['leftDegrees'] * Math['PI'] / 0xb4)
, _0x500d74 = Math['tan'](_0x3a926e['rightDegrees'] * Math['PI'] / 0xb4)
, _0x5228d4 = 0x2 / (_0x27da41 + _0x500d74)
, _0x215719 = 0x2 / (_0x30dc74 + _0x5f233e)
, _0x24eb4c = _0x91862b['_m'];
_0x24eb4c[0x0] = _0x5228d4,
_0x24eb4c[0x1] = _0x24eb4c[0x2] = _0x24eb4c[0x3] = _0x24eb4c[0x4] = 0x0,
_0x24eb4c[0x5] = _0x215719,
_0x24eb4c[0x6] = _0x24eb4c[0x7] = 0x0,
_0x24eb4c[0x8] = (_0x27da41 - _0x500d74) * _0x5228d4 * 0.5,
_0x24eb4c[0x9] = -(_0x30dc74 - _0x5f233e) * _0x215719 * 0.5,
_0x24eb4c[0xa] = -_0xf1f6ef / (_0x2cf05c - _0xf1f6ef),
_0x24eb4c[0xb] = 0x1 * _0x22859c,
_0x24eb4c[0xc] = _0x24eb4c[0xd] = _0x24eb4c[0xf] = 0x0,
_0x24eb4c[0xe] = -0x2 * _0xf1f6ef * _0x2cf05c / (_0xf1f6ef - _0x2cf05c),
_0x91862b['_markAsUpdated']();
}
,
_0xb313f9['GetFinalMatrix'] = function(_0x5d7678, _0xd18c63, _0x34a5f5, _0x28a430, _0x477117, _0x13f1c5) {
var _0x2a28ac = _0x5d7678['width']
, _0x1492dd = _0x5d7678['height']
, _0xe05e3f = _0x5d7678['x']
, _0x13ddcb = _0x5d7678['y']
, _0x284823 = _0xb313f9['FromValues'](_0x2a28ac / 0x2, 0x0, 0x0, 0x0, 0x0, -_0x1492dd / 0x2, 0x0, 0x0, 0x0, 0x0, _0x13f1c5 - _0x477117, 0x0, _0xe05e3f + _0x2a28ac / 0x2, _0x1492dd / 0x2 + _0x13ddcb, _0x477117, 0x1)
, _0x355dae = _0x53a116['Matrix'][0x0];
return _0xd18c63['multiplyToRef'](_0x34a5f5, _0x355dae),
_0x355dae['multiplyToRef'](_0x28a430, _0x355dae),
_0x355dae['multiply'](_0x284823);
}
,
_0xb313f9['GetAsMatrix2x2'] = function(_0x4b4d57) {
var _0x2c00f1 = _0x4b4d57['m'];
return new Float32Array([_0x2c00f1[0x0], _0x2c00f1[0x1], _0x2c00f1[0x4], _0x2c00f1[0x5]]);
}
,
_0xb313f9['GetAsMatrix3x3'] = function(_0x132d8a) {
var _0x200d81 = _0x132d8a['m'];
return new Float32Array([_0x200d81[0x0], _0x200d81[0x1], _0x200d81[0x2], _0x200d81[0x4], _0x200d81[0x5], _0x200d81[0x6], _0x200d81[0x8], _0x200d81[0x9], _0x200d81[0xa]]);
}
,
_0xb313f9['Transpose'] = function(_0x56e14e) {
var _0x1556ca = new _0xb313f9();
return _0xb313f9['TransposeToRef'](_0x56e14e, _0x1556ca),
_0x1556ca;
}
,
_0xb313f9['TransposeToRef'] = function(_0x3a2a83, _0x3cd0a3) {
var _0x97b076 = _0x3cd0a3['_m']
, _0x146b3f = _0x3a2a83['m'];
_0x97b076[0x0] = _0x146b3f[0x0],
_0x97b076[0x1] = _0x146b3f[0x4],
_0x97b076[0x2] = _0x146b3f[0x8],
_0x97b076[0x3] = _0x146b3f[0xc],
_0x97b076[0x4] = _0x146b3f[0x1],
_0x97b076[0x5] = _0x146b3f[0x5],
_0x97b076[0x6] = _0x146b3f[0x9],
_0x97b076[0x7] = _0x146b3f[0xd],
_0x97b076[0x8] = _0x146b3f[0x2],
_0x97b076[0x9] = _0x146b3f[0x6],
_0x97b076[0xa] = _0x146b3f[0xa],
_0x97b076[0xb] = _0x146b3f[0xe],
_0x97b076[0xc] = _0x146b3f[0x3],
_0x97b076[0xd] = _0x146b3f[0x7],
_0x97b076[0xe] = _0x146b3f[0xb],
_0x97b076[0xf] = _0x146b3f[0xf],
_0x3cd0a3['_updateIdentityStatus'](_0x3a2a83['_isIdentity'], _0x3a2a83['_isIdentityDirty']);
}
,
_0xb313f9['Reflection'] = function(_0x5c10a7) {
var _0x32f076 = new _0xb313f9();
return _0xb313f9['ReflectionToRef'](_0x5c10a7, _0x32f076),
_0x32f076;
}
,
_0xb313f9['ReflectionToRef'] = function(_0x368ed7, _0x2fffcb) {
_0x368ed7['normalize']();
var _0x53d79e = _0x368ed7['normal']['x']
, _0x451522 = _0x368ed7['normal']['y']
, _0x195e05 = _0x368ed7['normal']['z']
, _0x396a01 = -0x2 * _0x53d79e
, _0xade407 = -0x2 * _0x451522
, _0x2fba0e = -0x2 * _0x195e05;
_0xb313f9['FromValuesToRef'](_0x396a01 * _0x53d79e + 0x1, _0xade407 * _0x53d79e, _0x2fba0e * _0x53d79e, 0x0, _0x396a01 * _0x451522, _0xade407 * _0x451522 + 0x1, _0x2fba0e * _0x451522, 0x0, _0x396a01 * _0x195e05, _0xade407 * _0x195e05, _0x2fba0e * _0x195e05 + 0x1, 0x0, _0x396a01 * _0x368ed7['d'], _0xade407 * _0x368ed7['d'], _0x2fba0e * _0x368ed7['d'], 0x1, _0x2fffcb);
}
,
_0xb313f9['FromXYZAxesToRef'] = function(_0x5c9f54, _0x36c707, _0x54fc44, _0xcec883) {
_0xb313f9['FromValuesToRef'](_0x5c9f54['x'], _0x5c9f54['y'], _0x5c9f54['z'], 0x0, _0x36c707['x'], _0x36c707['y'], _0x36c707['z'], 0x0, _0x54fc44['x'], _0x54fc44['y'], _0x54fc44['z'], 0x0, 0x0, 0x0, 0x0, 0x1, _0xcec883);
}
,
_0xb313f9['FromQuaternionToRef'] = function(_0x3f89c0, _0x4ea172) {
var _0x3df0ea = _0x3f89c0['x'] * _0x3f89c0['x']
, _0x58c931 = _0x3f89c0['y'] * _0x3f89c0['y']
, _0x321528 = _0x3f89c0['z'] * _0x3f89c0['z']
, _0x4487db = _0x3f89c0['x'] * _0x3f89c0['y']
, _0x5e05cb = _0x3f89c0['z'] * _0x3f89c0['w']
, _0x118d1c = _0x3f89c0['z'] * _0x3f89c0['x']
, _0x2e604e = _0x3f89c0['y'] * _0x3f89c0['w']
, _0x520ec0 = _0x3f89c0['y'] * _0x3f89c0['z']
, _0xb6e002 = _0x3f89c0['x'] * _0x3f89c0['w'];
_0x4ea172['_m'][0x0] = 0x1 - 0x2 * (_0x58c931 + _0x321528),
_0x4ea172['_m'][0x1] = 0x2 * (_0x4487db + _0x5e05cb),
_0x4ea172['_m'][0x2] = 0x2 * (_0x118d1c - _0x2e604e),
_0x4ea172['_m'][0x3] = 0x0,
_0x4ea172['_m'][0x4] = 0x2 * (_0x4487db - _0x5e05cb),
_0x4ea172['_m'][0x5] = 0x1 - 0x2 * (_0x321528 + _0x3df0ea),
_0x4ea172['_m'][0x6] = 0x2 * (_0x520ec0 + _0xb6e002),
_0x4ea172['_m'][0x7] = 0x0,
_0x4ea172['_m'][0x8] = 0x2 * (_0x118d1c + _0x2e604e),
_0x4ea172['_m'][0x9] = 0x2 * (_0x520ec0 - _0xb6e002),
_0x4ea172['_m'][0xa] = 0x1 - 0x2 * (_0x58c931 + _0x3df0ea),
_0x4ea172['_m'][0xb] = 0x0,
_0x4ea172['_m'][0xc] = 0x0,
_0x4ea172['_m'][0xd] = 0x0,
_0x4ea172['_m'][0xe] = 0x0,
_0x4ea172['_m'][0xf] = 0x1,
_0x4ea172['_markAsUpdated']();
}
,
_0xb313f9['_updateFlagSeed'] = 0x0,
_0xb313f9['_identityReadOnly'] = _0xb313f9['Identity'](),
_0xb313f9;
}(), _0x289f15 = function() {
function _0x456689(_0x11b867, _0x1cd9db, _0x12fcdd, _0x108a35) {
this['normal'] = new _0x3fbe20(_0x11b867,_0x1cd9db,_0x12fcdd),
this['d'] = _0x108a35;
}
return _0x456689['prototype']['asArray'] = function() {
return [this['normal']['x'], this['normal']['y'], this['normal']['z'], this['d']];
}
,
_0x456689['prototype']['clone'] = function() {
return new _0x456689(this['normal']['x'],this['normal']['y'],this['normal']['z'],this['d']);
}
,
_0x456689['prototype']['getClassName'] = function() {
return 'Plane';
}
,
_0x456689['prototype']['getHashCode'] = function() {
var _0x1c2b34 = this['normal']['getHashCode']();
return _0x1c2b34 = 0x18d * _0x1c2b34 ^ (this['d'] || 0x0);
}
,
_0x456689['prototype']['normalize'] = function() {
var _0xbe0f4e = Math['sqrt'](this['normal']['x'] * this['normal']['x'] + this['normal']['y'] * this['normal']['y'] + this['normal']['z'] * this['normal']['z'])
, _0x363208 = 0x0;
return 0x0 !== _0xbe0f4e && (_0x363208 = 0x1 / _0xbe0f4e),
this['normal']['x'] *= _0x363208,
this['normal']['y'] *= _0x363208,
this['normal']['z'] *= _0x363208,
this['d'] *= _0x363208,
this;
}
,
_0x456689['prototype']['transform'] = function(_0x5628a7) {
var _0x214218 = _0x53a116['Matrix'][0x0];
_0x5e57bc['TransposeToRef'](_0x5628a7, _0x214218);
var _0x5622ce = _0x214218['m']
, _0x13b6cf = this['normal']['x']
, _0x23fdd4 = this['normal']['y']
, _0x4afd8f = this['normal']['z']
, _0x50743b = this['d'];
return new _0x456689(_0x13b6cf * _0x5622ce[0x0] + _0x23fdd4 * _0x5622ce[0x1] + _0x4afd8f * _0x5622ce[0x2] + _0x50743b * _0x5622ce[0x3],_0x13b6cf * _0x5622ce[0x4] + _0x23fdd4 * _0x5622ce[0x5] + _0x4afd8f * _0x5622ce[0x6] + _0x50743b * _0x5622ce[0x7],_0x13b6cf * _0x5622ce[0x8] + _0x23fdd4 * _0x5622ce[0x9] + _0x4afd8f * _0x5622ce[0xa] + _0x50743b * _0x5622ce[0xb],_0x13b6cf * _0x5622ce[0xc] + _0x23fdd4 * _0x5622ce[0xd] + _0x4afd8f * _0x5622ce[0xe] + _0x50743b * _0x5622ce[0xf]);
}
,
_0x456689['prototype']['dotCoordinate'] = function(_0x1c4cdb) {
return this['normal']['x'] * _0x1c4cdb['x'] + this['normal']['y'] * _0x1c4cdb['y'] + this['normal']['z'] * _0x1c4cdb['z'] + this['d'];
}
,
_0x456689['prototype']['copyFromPoints'] = function(_0x3131d5, _0x485fcc, _0x179272) {
var _0x45a747, _0x16cf9c = _0x485fcc['x'] - _0x3131d5['x'], _0x12dc68 = _0x485fcc['y'] - _0x3131d5['y'], _0x3213bb = _0x485fcc['z'] - _0x3131d5['z'], _0x33929c = _0x179272['x'] - _0x3131d5['x'], _0x4bb030 = _0x179272['y'] - _0x3131d5['y'], _0x2e406b = _0x179272['z'] - _0x3131d5['z'], _0x33cf92 = _0x12dc68 * _0x2e406b - _0x3213bb * _0x4bb030, _0x1a13e3 = _0x3213bb * _0x33929c - _0x16cf9c * _0x2e406b, _0x48c071 = _0x16cf9c * _0x4bb030 - _0x12dc68 * _0x33929c, _0x1cac68 = Math['sqrt'](_0x33cf92 * _0x33cf92 + _0x1a13e3 * _0x1a13e3 + _0x48c071 * _0x48c071);
return _0x45a747 = 0x0 !== _0x1cac68 ? 0x1 / _0x1cac68 : 0x0,
this['normal']['x'] = _0x33cf92 * _0x45a747,
this['normal']['y'] = _0x1a13e3 * _0x45a747,
this['normal']['z'] = _0x48c071 * _0x45a747,
this['d'] = -(this['normal']['x'] * _0x3131d5['x'] + this['normal']['y'] * _0x3131d5['y'] + this['normal']['z'] * _0x3131d5['z']),
this;
}
,
_0x456689['prototype']['isFrontFacingTo'] = function(_0x19bd42, _0x29b11f) {
return _0x3fbe20['Dot'](this['normal'], _0x19bd42) <= _0x29b11f;
}
,
_0x456689['prototype']['signedDistanceTo'] = function(_0x501fd5) {
return _0x3fbe20['Dot'](_0x501fd5, this['normal']) + this['d'];
}
,
_0x456689['FromArray'] = function(_0x44c527) {
return new _0x456689(_0x44c527[0x0],_0x44c527[0x1],_0x44c527[0x2],_0x44c527[0x3]);
}
,
_0x456689['FromPoints'] = function(_0x1bbe96, _0x1d048c, _0x883699) {
var _0x4e5de8 = new _0x456689(0x0,0x0,0x0,0x0);
return _0x4e5de8['copyFromPoints'](_0x1bbe96, _0x1d048c, _0x883699),
_0x4e5de8;
}
,
_0x456689['FromPositionAndNormal'] = function(_0x47dc3b, _0x41f00d) {
var _0x481ffe = new _0x456689(0x0,0x0,0x0,0x0);
return _0x41f00d['normalize'](),
_0x481ffe['normal'] = _0x41f00d,
_0x481ffe['d'] = -(_0x41f00d['x'] * _0x47dc3b['x'] + _0x41f00d['y'] * _0x47dc3b['y'] + _0x41f00d['z'] * _0x47dc3b['z']),
_0x481ffe;
}
,
_0x456689['SignedDistanceToPlaneFromPositionAndNormal'] = function(_0x13c656, _0x3f75dd, _0x4aee49) {
var _0x1e5e8b = -(_0x3f75dd['x'] * _0x13c656['x'] + _0x3f75dd['y'] * _0x13c656['y'] + _0x3f75dd['z'] * _0x13c656['z']);
return _0x3fbe20['Dot'](_0x4aee49, _0x3f75dd) + _0x1e5e8b;
}
,
_0x456689;
}(), _0x34efa7 = function() {
function _0x383f20(_0x5bdff1, _0x25138a, _0x43b075, _0x53d302) {
this['x'] = _0x5bdff1,
this['y'] = _0x25138a,
this['width'] = _0x43b075,
this['height'] = _0x53d302;
}
return _0x383f20['prototype']['toGlobal'] = function(_0x497b11, _0x53a5dd) {
return new _0x383f20(this['x'] * _0x497b11,this['y'] * _0x53a5dd,this['width'] * _0x497b11,this['height'] * _0x53a5dd);
}
,
_0x383f20['prototype']['toGlobalToRef'] = function(_0x39a80c, _0x351df6, _0x40ce39) {
return _0x40ce39['x'] = this['x'] * _0x39a80c,
_0x40ce39['y'] = this['y'] * _0x351df6,
_0x40ce39['width'] = this['width'] * _0x39a80c,
_0x40ce39['height'] = this['height'] * _0x351df6,
this;
}
,
_0x383f20['prototype']['clone'] = function() {
return new _0x383f20(this['x'],this['y'],this['width'],this['height']);
}
,
_0x383f20;
}(), _0x4a31f7 = function() {
function _0x1b23ff() {}
return _0x1b23ff['GetPlanes'] = function(_0x21bd1e) {
for (var _0x55ff31 = [], _0xcef724 = 0x0; _0xcef724 < 0x6; _0xcef724++)
_0x55ff31['push'](new _0x289f15(0x0,0x0,0x0,0x0));
return _0x1b23ff['GetPlanesToRef'](_0x21bd1e, _0x55ff31),
_0x55ff31;
}
,
_0x1b23ff['GetNearPlaneToRef'] = function(_0x23ec6e, _0x59722d) {
var _0x181950 = _0x23ec6e['m'];
_0x59722d['normal']['x'] = _0x181950[0x3] + _0x181950[0x2],
_0x59722d['normal']['y'] = _0x181950[0x7] + _0x181950[0x6],
_0x59722d['normal']['z'] = _0x181950[0xb] + _0x181950[0xa],
_0x59722d['d'] = _0x181950[0xf] + _0x181950[0xe],
_0x59722d['normalize']();
}
,
_0x1b23ff['GetFarPlaneToRef'] = function(_0x3d4980, _0x9272f4) {
var _0x46695c = _0x3d4980['m'];
_0x9272f4['normal']['x'] = _0x46695c[0x3] - _0x46695c[0x2],
_0x9272f4['normal']['y'] = _0x46695c[0x7] - _0x46695c[0x6],
_0x9272f4['normal']['z'] = _0x46695c[0xb] - _0x46695c[0xa],
_0x9272f4['d'] = _0x46695c[0xf] - _0x46695c[0xe],
_0x9272f4['normalize']();
}
,
_0x1b23ff['GetLeftPlaneToRef'] = function(_0x1ed586, _0x50ee26) {
var _0x115310 = _0x1ed586['m'];
_0x50ee26['normal']['x'] = _0x115310[0x3] + _0x115310[0x0],
_0x50ee26['normal']['y'] = _0x115310[0x7] + _0x115310[0x4],
_0x50ee26['normal']['z'] = _0x115310[0xb] + _0x115310[0x8],
_0x50ee26['d'] = _0x115310[0xf] + _0x115310[0xc],
_0x50ee26['normalize']();
}
,
_0x1b23ff['GetRightPlaneToRef'] = function(_0x323764, _0x5703ec) {
var _0x232f71 = _0x323764['m'];
_0x5703ec['normal']['x'] = _0x232f71[0x3] - _0x232f71[0x0],
_0x5703ec['normal']['y'] = _0x232f71[0x7] - _0x232f71[0x4],
_0x5703ec['normal']['z'] = _0x232f71[0xb] - _0x232f71[0x8],
_0x5703ec['d'] = _0x232f71[0xf] - _0x232f71[0xc],
_0x5703ec['normalize']();
}
,
_0x1b23ff['GetTopPlaneToRef'] = function(_0x128c81, _0x3afccd) {
var _0x1b2405 = _0x128c81['m'];
_0x3afccd['normal']['x'] = _0x1b2405[0x3] - _0x1b2405[0x1],
_0x3afccd['normal']['y'] = _0x1b2405[0x7] - _0x1b2405[0x5],
_0x3afccd['normal']['z'] = _0x1b2405[0xb] - _0x1b2405[0x9],
_0x3afccd['d'] = _0x1b2405[0xf] - _0x1b2405[0xd],
_0x3afccd['normalize']();
}
,
_0x1b23ff['GetBottomPlaneToRef'] = function(_0x58519c, _0x5f2c1e) {
var _0xddc4db = _0x58519c['m'];
_0x5f2c1e['normal']['x'] = _0xddc4db[0x3] + _0xddc4db[0x1],
_0x5f2c1e['normal']['y'] = _0xddc4db[0x7] + _0xddc4db[0x5],
_0x5f2c1e['normal']['z'] = _0xddc4db[0xb] + _0xddc4db[0x9],
_0x5f2c1e['d'] = _0xddc4db[0xf] + _0xddc4db[0xd],
_0x5f2c1e['normalize']();
}
,
_0x1b23ff['GetPlanesToRef'] = function(_0x976a74, _0x34dc19) {
_0x1b23ff['GetNearPlaneToRef'](_0x976a74, _0x34dc19[0x0]),
_0x1b23ff['GetFarPlaneToRef'](_0x976a74, _0x34dc19[0x1]),
_0x1b23ff['GetLeftPlaneToRef'](_0x976a74, _0x34dc19[0x2]),
_0x1b23ff['GetRightPlaneToRef'](_0x976a74, _0x34dc19[0x3]),
_0x1b23ff['GetTopPlaneToRef'](_0x976a74, _0x34dc19[0x4]),
_0x1b23ff['GetBottomPlaneToRef'](_0x976a74, _0x34dc19[0x5]);
}
,
_0x1b23ff;
}();
!function(_0x5b5472) {
_0x5b5472[_0x5b5472['LOCAL'] = 0x0] = 'LOCAL',
_0x5b5472[_0x5b5472['WORLD'] = 0x1] = 'WORLD',
_0x5b5472[_0x5b5472['BONE'] = 0x2] = 'BONE';
}(_0x51c4bf || (_0x51c4bf = {}));
var _0x388ee5, _0x5cc191 = function() {
function _0x5a4d97() {}
return _0x5a4d97['X'] = new _0x3fbe20(0x1,0x0,0x0),
_0x5a4d97['Y'] = new _0x3fbe20(0x0,0x1,0x0),
_0x5a4d97['Z'] = new _0x3fbe20(0x0,0x0,0x1),
_0x5a4d97;
}(), _0x36e0cc = function() {
function _0x2ad63d() {}
return _0x2ad63d['Interpolate'] = function(_0x4979ff, _0x17170c, _0x2b7282, _0x62a80e, _0x38dbb0) {
for (var _0x2cbaef = 0x1 - 0x3 * _0x62a80e + 0x3 * _0x17170c, _0x998cc8 = 0x3 * _0x62a80e - 0x6 * _0x17170c, _0x5dfabf = 0x3 * _0x17170c, _0x462f44 = _0x4979ff, _0x1ca694 = 0x0; _0x1ca694 < 0x5; _0x1ca694++) {
var _0x44a167 = _0x462f44 * _0x462f44;
_0x462f44 -= (_0x2cbaef * (_0x44a167 * _0x462f44) + _0x998cc8 * _0x44a167 + _0x5dfabf * _0x462f44 - _0x4979ff) * (0x1 / (0x3 * _0x2cbaef * _0x44a167 + 0x2 * _0x998cc8 * _0x462f44 + _0x5dfabf)),
_0x462f44 = Math['min'](0x1, Math['max'](0x0, _0x462f44));
}
return 0x3 * Math['pow'](0x1 - _0x462f44, 0x2) * _0x462f44 * _0x2b7282 + 0x3 * (0x1 - _0x462f44) * Math['pow'](_0x462f44, 0x2) * _0x38dbb0 + Math['pow'](_0x462f44, 0x3);
}
,
_0x2ad63d;
}();
!function(_0x442152) {
_0x442152[_0x442152['CW'] = 0x0] = 'CW',
_0x442152[_0x442152['CCW'] = 0x1] = 'CCW';
}(_0x388ee5 || (_0x388ee5 = {}));
var _0x21c421 = function() {
function _0x5d6929(_0x3a33b7) {
this['_radians'] = _0x3a33b7,
this['_radians'] < 0x0 && (this['_radians'] += 0x2 * Math['PI']);
}
return _0x5d6929['prototype']['degrees'] = function() {
return 0xb4 * this['_radians'] / Math['PI'];
}
,
_0x5d6929['prototype']['radians'] = function() {
return this['_radians'];
}
,
_0x5d6929['BetweenTwoPoints'] = function(_0x16a409, _0x2c08b9) {
var _0x5300a2 = _0x2c08b9['subtract'](_0x16a409);
return new _0x5d6929(Math['atan2'](_0x5300a2['y'], _0x5300a2['x']));
}
,
_0x5d6929['FromRadians'] = function(_0x47a3a3) {
return new _0x5d6929(_0x47a3a3);
}
,
_0x5d6929['FromDegrees'] = function(_0x2c4c85) {
return new _0x5d6929(_0x2c4c85 * Math['PI'] / 0xb4);
}
,
_0x5d6929;
}()
, _0x2333b1 = function() {
return function(_0x57d2e1, _0x3d6fc0, _0x3344d6) {
this['startPoint'] = _0x57d2e1,
this['midPoint'] = _0x3d6fc0,
this['endPoint'] = _0x3344d6;
var _0x172d19 = Math['pow'](_0x3d6fc0['x'], 0x2) + Math['pow'](_0x3d6fc0['y'], 0x2)
, _0x1e27a7 = (Math['pow'](_0x57d2e1['x'], 0x2) + Math['pow'](_0x57d2e1['y'], 0x2) - _0x172d19) / 0x2
, _0x2e279a = (_0x172d19 - Math['pow'](_0x3344d6['x'], 0x2) - Math['pow'](_0x3344d6['y'], 0x2)) / 0x2
, _0x20e54e = (_0x57d2e1['x'] - _0x3d6fc0['x']) * (_0x3d6fc0['y'] - _0x3344d6['y']) - (_0x3d6fc0['x'] - _0x3344d6['x']) * (_0x57d2e1['y'] - _0x3d6fc0['y']);
this['centerPoint'] = new _0x461b0a((_0x1e27a7 * (_0x3d6fc0['y'] - _0x3344d6['y']) - _0x2e279a * (_0x57d2e1['y'] - _0x3d6fc0['y'])) / _0x20e54e,((_0x57d2e1['x'] - _0x3d6fc0['x']) * _0x2e279a - (_0x3d6fc0['x'] - _0x3344d6['x']) * _0x1e27a7) / _0x20e54e),
this['radius'] = this['centerPoint']['subtract'](this['startPoint'])['length'](),
this['startAngle'] = _0x21c421['BetweenTwoPoints'](this['centerPoint'], this['startPoint']);
var _0x5cb5e3 = this['startAngle']['degrees']()
, _0x303904 = _0x21c421['BetweenTwoPoints'](this['centerPoint'], this['midPoint'])['degrees']()
, _0x134da1 = _0x21c421['BetweenTwoPoints'](this['centerPoint'], this['endPoint'])['degrees']();
_0x303904 - _0x5cb5e3 > 0xb4 && (_0x303904 -= 0x168),
_0x303904 - _0x5cb5e3 < -0xb4 && (_0x303904 += 0x168),
_0x134da1 - _0x303904 > 0xb4 && (_0x134da1 -= 0x168),
_0x134da1 - _0x303904 < -0xb4 && (_0x134da1 += 0x168),
this['orientation'] = _0x303904 - _0x5cb5e3 < 0x0 ? _0x388ee5['CW'] : _0x388ee5['CCW'],
this['angle'] = _0x21c421['FromDegrees'](this['orientation'] === _0x388ee5['CW'] ? _0x5cb5e3 - _0x134da1 : _0x134da1 - _0x5cb5e3);
}
;
}()
, _0x23ab56 = function() {
function _0x35e658(_0x1a5984, _0x57d161) {
this['_points'] = new Array(),
this['_length'] = 0x0,
this['closed'] = !0x1,
this['_points']['push'](new _0x461b0a(_0x1a5984,_0x57d161));
}
return _0x35e658['prototype']['addLineTo'] = function(_0x730fad, _0x46b235) {
if (this['closed'])
return this;
var _0x2e3e16 = new _0x461b0a(_0x730fad,_0x46b235)
, _0x4c93df = this['_points'][this['_points']['length'] - 0x1];
return this['_points']['push'](_0x2e3e16),
this['_length'] += _0x2e3e16['subtract'](_0x4c93df)['length'](),
this;
}
,
_0x35e658['prototype']['addArcTo'] = function(_0x1fbdce, _0x6e7690, _0x29c810, _0x285ee5, _0x9720ed) {
if (void 0x0 === _0x9720ed && (_0x9720ed = 0x24),
this['closed'])
return this;
var _0x5b9664 = this['_points'][this['_points']['length'] - 0x1]
, _0x3fdc2b = new _0x461b0a(_0x1fbdce,_0x6e7690)
, _0x20738d = new _0x461b0a(_0x29c810,_0x285ee5)
, _0xa07cb8 = new _0x2333b1(_0x5b9664,_0x3fdc2b,_0x20738d)
, _0xee164c = _0xa07cb8['angle']['radians']() / _0x9720ed;
_0xa07cb8['orientation'] === _0x388ee5['CW'] && (_0xee164c *= -0x1);
for (var _0x48ed9a = _0xa07cb8['startAngle']['radians']() + _0xee164c, _0x574663 = 0x0; _0x574663 < _0x9720ed; _0x574663++) {
var _0x2e6f63 = Math['cos'](_0x48ed9a) * _0xa07cb8['radius'] + _0xa07cb8['centerPoint']['x']
, _0x23add7 = Math['sin'](_0x48ed9a) * _0xa07cb8['radius'] + _0xa07cb8['centerPoint']['y'];
this['addLineTo'](_0x2e6f63, _0x23add7),
_0x48ed9a += _0xee164c;
}
return this;
}
,
_0x35e658['prototype']['close'] = function() {
return this['closed'] = !0x0,
this;
}
,
_0x35e658['prototype']['length'] = function() {
var _0x532d76 = this['_length'];
if (!this['closed']) {
var _0x88a043 = this['_points'][this['_points']['length'] - 0x1];
_0x532d76 += this['_points'][0x0]['subtract'](_0x88a043)['length']();
}
return _0x532d76;
}
,
_0x35e658['prototype']['getPoints'] = function() {
return this['_points'];
}
,
_0x35e658['prototype']['getPointAtLengthPosition'] = function(_0x533c6c) {
if (_0x533c6c < 0x0 || _0x533c6c > 0x1)
return _0x461b0a['Zero']();
for (var _0x5aa48e = _0x533c6c * this['length'](), _0xeeaad1 = 0x0, _0xb1105b = 0x0; _0xb1105b < this['_points']['length']; _0xb1105b++) {
var _0x235b69 = (_0xb1105b + 0x1) % this['_points']['length']
, _0x416a65 = this['_points'][_0xb1105b]
, _0x3751d7 = this['_points'][_0x235b69]['subtract'](_0x416a65)
, _0x4217ca = _0x3751d7['length']() + _0xeeaad1;
if (_0x5aa48e >= _0xeeaad1 && _0x5aa48e <= _0x4217ca) {
var _0x31a562 = _0x3751d7['normalize']()
, _0x1092b8 = _0x5aa48e - _0xeeaad1;
return new _0x461b0a(_0x416a65['x'] + _0x31a562['x'] * _0x1092b8,_0x416a65['y'] + _0x31a562['y'] * _0x1092b8);
}
_0xeeaad1 = _0x4217ca;
}
return _0x461b0a['Zero']();
}
,
_0x35e658['StartingAt'] = function(_0x113f70, _0x21a12b) {
return new _0x35e658(_0x113f70,_0x21a12b);
}
,
_0x35e658;
}()
, _0x1679c4 = function() {
function _0x3a2e58(_0x50be3d, _0x1198c6, _0x5e5f21) {
void 0x0 === _0x1198c6 && (_0x1198c6 = null),
this['path'] = _0x50be3d,
this['_curve'] = new Array(),
this['_distances'] = new Array(),
this['_tangents'] = new Array(),
this['_normals'] = new Array(),
this['_binormals'] = new Array();
for (var _0x3524ad = 0x0; _0x3524ad < _0x50be3d['length']; _0x3524ad++)
this['_curve'][_0x3524ad] = _0x50be3d[_0x3524ad]['clone']();
this['_raw'] = _0x5e5f21 || !0x1,
this['_compute'](_0x1198c6);
}
return _0x3a2e58['prototype']['getCurve'] = function() {
return this['_curve'];
}
,
_0x3a2e58['prototype']['getTangents'] = function() {
return this['_tangents'];
}
,
_0x3a2e58['prototype']['getNormals'] = function() {
return this['_normals'];
}
,
_0x3a2e58['prototype']['getBinormals'] = function() {
return this['_binormals'];
}
,
_0x3a2e58['prototype']['getDistances'] = function() {
return this['_distances'];
}
,
_0x3a2e58['prototype']['update'] = function(_0x5a95db, _0x1257d6) {
void 0x0 === _0x1257d6 && (_0x1257d6 = null);
for (var _0x4c0581 = 0x0; _0x4c0581 < _0x5a95db['length']; _0x4c0581++)
this['_curve'][_0x4c0581]['x'] = _0x5a95db[_0x4c0581]['x'],
this['_curve'][_0x4c0581]['y'] = _0x5a95db[_0x4c0581]['y'],
this['_curve'][_0x4c0581]['z'] = _0x5a95db[_0x4c0581]['z'];
return this['_compute'](_0x1257d6),
this;
}
,
_0x3a2e58['prototype']['_compute'] = function(_0x2797e6) {
var _0x37c6d8 = this['_curve']['length'];
this['_tangents'][0x0] = this['_getFirstNonNullVector'](0x0),
this['_raw'] || this['_tangents'][0x0]['normalize'](),
this['_tangents'][_0x37c6d8 - 0x1] = this['_curve'][_0x37c6d8 - 0x1]['subtract'](this['_curve'][_0x37c6d8 - 0x2]),
this['_raw'] || this['_tangents'][_0x37c6d8 - 0x1]['normalize']();
var _0x39dd16, _0x5d744c, _0x5c5b4b, _0x3cd036, _0x340dc8 = this['_tangents'][0x0], _0x1a6b54 = this['_normalVector'](_0x340dc8, _0x2797e6);
this['_normals'][0x0] = _0x1a6b54,
this['_raw'] || this['_normals'][0x0]['normalize'](),
this['_binormals'][0x0] = _0x3fbe20['Cross'](_0x340dc8, this['_normals'][0x0]),
this['_raw'] || this['_binormals'][0x0]['normalize'](),
this['_distances'][0x0] = 0x0;
for (var _0x2907aa = 0x1; _0x2907aa < _0x37c6d8; _0x2907aa++)
_0x39dd16 = this['_getLastNonNullVector'](_0x2907aa),
_0x2907aa < _0x37c6d8 - 0x1 && (_0x5d744c = this['_getFirstNonNullVector'](_0x2907aa),
this['_tangents'][_0x2907aa] = _0x39dd16['add'](_0x5d744c),
this['_tangents'][_0x2907aa]['normalize']()),
this['_distances'][_0x2907aa] = this['_distances'][_0x2907aa - 0x1] + _0x39dd16['length'](),
_0x5c5b4b = this['_tangents'][_0x2907aa],
_0x3cd036 = this['_binormals'][_0x2907aa - 0x1],
this['_normals'][_0x2907aa] = _0x3fbe20['Cross'](_0x3cd036, _0x5c5b4b),
this['_raw'] || this['_normals'][_0x2907aa]['normalize'](),
this['_binormals'][_0x2907aa] = _0x3fbe20['Cross'](_0x5c5b4b, this['_normals'][_0x2907aa]),
this['_raw'] || this['_binormals'][_0x2907aa]['normalize']();
}
,
_0x3a2e58['prototype']['_getFirstNonNullVector'] = function(_0x970b79) {
for (var _0x2b9627 = 0x1, _0xe96e54 = this['_curve'][_0x970b79 + _0x2b9627]['subtract'](this['_curve'][_0x970b79]); 0x0 === _0xe96e54['length']() && _0x970b79 + _0x2b9627 + 0x1 < this['_curve']['length']; )
_0x2b9627++,
_0xe96e54 = this['_curve'][_0x970b79 + _0x2b9627]['subtract'](this['_curve'][_0x970b79]);
return _0xe96e54;
}
,
_0x3a2e58['prototype']['_getLastNonNullVector'] = function(_0x52e743) {
for (var _0x2d7645 = 0x1, _0x36656e = this['_curve'][_0x52e743]['subtract'](this['_curve'][_0x52e743 - _0x2d7645]); 0x0 === _0x36656e['length']() && _0x52e743 > _0x2d7645 + 0x1; )
_0x2d7645++,
_0x36656e = this['_curve'][_0x52e743]['subtract'](this['_curve'][_0x52e743 - _0x2d7645]);
return _0x36656e;
}
,
_0x3a2e58['prototype']['_normalVector'] = function(_0x4471a8, _0x574dfb) {
var _0x2d7e2e, _0x30dbf1, _0x3f72ee = _0x4471a8['length']();
(0x0 === _0x3f72ee && (_0x3f72ee = 0x1),
null == _0x574dfb) ? (_0x30dbf1 = _0x15f609['a']['WithinEpsilon'](Math['abs'](_0x4471a8['y']) / _0x3f72ee, 0x1, _0x3e57e9) ? _0x15f609['a']['WithinEpsilon'](Math['abs'](_0x4471a8['x']) / _0x3f72ee, 0x1, _0x3e57e9) ? _0x15f609['a']['WithinEpsilon'](Math['abs'](_0x4471a8['z']) / _0x3f72ee, 0x1, _0x3e57e9) ? _0x3fbe20['Zero']() : new _0x3fbe20(0x0,0x0,0x1) : new _0x3fbe20(0x1,0x0,0x0) : new _0x3fbe20(0x0,-0x1,0x0),
_0x2d7e2e = _0x3fbe20['Cross'](_0x4471a8, _0x30dbf1)) : (_0x2d7e2e = _0x3fbe20['Cross'](_0x4471a8, _0x574dfb),
_0x3fbe20['CrossToRef'](_0x2d7e2e, _0x4471a8, _0x2d7e2e));
return _0x2d7e2e['normalize'](),
_0x2d7e2e;
}
,
_0x3a2e58;
}()
, _0x4c8767 = function() {
function _0x489112(_0x189423) {
this['_length'] = 0x0,
this['_points'] = _0x189423,
this['_length'] = this['_computeLength'](_0x189423);
}
return _0x489112['CreateQuadraticBezier'] = function(_0x1a7509, _0x313b4b, _0x2b7f33, _0x5ec5b4) {
_0x5ec5b4 = _0x5ec5b4 > 0x2 ? _0x5ec5b4 : 0x3;
for (var _0x4f0bea = new Array(), _0x30ab70 = function(_0xff9a69, _0x55a28f, _0x4c5d51, _0x3fd489) {
return (0x1 - _0xff9a69) * (0x1 - _0xff9a69) * _0x55a28f + 0x2 * _0xff9a69 * (0x1 - _0xff9a69) * _0x4c5d51 + _0xff9a69 * _0xff9a69 * _0x3fd489;
}, _0x34b41 = 0x0; _0x34b41 <= _0x5ec5b4; _0x34b41++)
_0x4f0bea['push'](new _0x3fbe20(_0x30ab70(_0x34b41 / _0x5ec5b4, _0x1a7509['x'], _0x313b4b['x'], _0x2b7f33['x']),_0x30ab70(_0x34b41 / _0x5ec5b4, _0x1a7509['y'], _0x313b4b['y'], _0x2b7f33['y']),_0x30ab70(_0x34b41 / _0x5ec5b4, _0x1a7509['z'], _0x313b4b['z'], _0x2b7f33['z'])));
return new _0x489112(_0x4f0bea);
}
,
_0x489112['CreateCubicBezier'] = function(_0x198092, _0x568f29, _0x26cc36, _0x3d08ad, _0x348dd2) {
_0x348dd2 = _0x348dd2 > 0x3 ? _0x348dd2 : 0x4;
for (var _0x4c1fb2 = new Array(), _0x37181e = function(_0x4b1f43, _0x303c96, _0x3baf91, _0x2a220e, _0x329d90) {
return (0x1 - _0x4b1f43) * (0x1 - _0x4b1f43) * (0x1 - _0x4b1f43) * _0x303c96 + 0x3 * _0x4b1f43 * (0x1 - _0x4b1f43) * (0x1 - _0x4b1f43) * _0x3baf91 + 0x3 * _0x4b1f43 * _0x4b1f43 * (0x1 - _0x4b1f43) * _0x2a220e + _0x4b1f43 * _0x4b1f43 * _0x4b1f43 * _0x329d90;
}, _0x450e1f = 0x0; _0x450e1f <= _0x348dd2; _0x450e1f++)
_0x4c1fb2['push'](new _0x3fbe20(_0x37181e(_0x450e1f / _0x348dd2, _0x198092['x'], _0x568f29['x'], _0x26cc36['x'], _0x3d08ad['x']),_0x37181e(_0x450e1f / _0x348dd2, _0x198092['y'], _0x568f29['y'], _0x26cc36['y'], _0x3d08ad['y']),_0x37181e(_0x450e1f / _0x348dd2, _0x198092['z'], _0x568f29['z'], _0x26cc36['z'], _0x3d08ad['z'])));
return new _0x489112(_0x4c1fb2);
}
,
_0x489112['CreateHermiteSpline'] = function(_0xf1dc62, _0x2b4e07, _0x1e226c, _0x19338b, _0xe0a411) {
for (var _0x56a377 = new Array(), _0x56825a = 0x1 / _0xe0a411, _0x55af47 = 0x0; _0x55af47 <= _0xe0a411; _0x55af47++)
_0x56a377['push'](_0x3fbe20['Hermite'](_0xf1dc62, _0x2b4e07, _0x1e226c, _0x19338b, _0x55af47 * _0x56825a));
return new _0x489112(_0x56a377);
}
,
_0x489112['CreateCatmullRomSpline'] = function(_0x4408e8, _0x2ece40, _0xbc879) {
var _0x4b7a52 = new Array()
, _0x22e9b9 = 0x1 / _0x2ece40
, _0x3ca45f = 0x0;
if (_0xbc879) {
for (var _0x3bb68d = _0x4408e8['length'], _0x30b031 = 0x0; _0x30b031 < _0x3bb68d; _0x30b031++) {
_0x3ca45f = 0x0;
for (var _0x559b3c = 0x0; _0x559b3c < _0x2ece40; _0x559b3c++)
_0x4b7a52['push'](_0x3fbe20['CatmullRom'](_0x4408e8[_0x30b031 % _0x3bb68d], _0x4408e8[(_0x30b031 + 0x1) % _0x3bb68d], _0x4408e8[(_0x30b031 + 0x2) % _0x3bb68d], _0x4408e8[(_0x30b031 + 0x3) % _0x3bb68d], _0x3ca45f)),
_0x3ca45f += _0x22e9b9;
}
_0x4b7a52['push'](_0x4b7a52[0x0]);
} else {
var _0x3d694b = new Array();
_0x3d694b['push'](_0x4408e8[0x0]['clone']()),
Array['prototype']['push']['apply'](_0x3d694b, _0x4408e8),
_0x3d694b['push'](_0x4408e8[_0x4408e8['length'] - 0x1]['clone']());
for (_0x30b031 = 0x0; _0x30b031 < _0x3d694b['length'] - 0x3; _0x30b031++) {
_0x3ca45f = 0x0;
for (_0x559b3c = 0x0; _0x559b3c < _0x2ece40; _0x559b3c++)
_0x4b7a52['push'](_0x3fbe20['CatmullRom'](_0x3d694b[_0x30b031], _0x3d694b[_0x30b031 + 0x1], _0x3d694b[_0x30b031 + 0x2], _0x3d694b[_0x30b031 + 0x3], _0x3ca45f)),
_0x3ca45f += _0x22e9b9;
}
_0x30b031--,
_0x4b7a52['push'](_0x3fbe20['CatmullRom'](_0x3d694b[_0x30b031], _0x3d694b[_0x30b031 + 0x1], _0x3d694b[_0x30b031 + 0x2], _0x3d694b[_0x30b031 + 0x3], _0x3ca45f));
}
return new _0x489112(_0x4b7a52);
}
,
_0x489112['prototype']['getPoints'] = function() {
return this['_points'];
}
,
_0x489112['prototype']['length'] = function() {
return this['_length'];
}
,
_0x489112['prototype']['continue'] = function(_0x2585fa) {
for (var _0x4561cd = this['_points'][this['_points']['length'] - 0x1], _0x5c2558 = this['_points']['slice'](), _0x79e852 = _0x2585fa['getPoints'](), _0x58ac7a = 0x1; _0x58ac7a < _0x79e852['length']; _0x58ac7a++)
_0x5c2558['push'](_0x79e852[_0x58ac7a]['subtract'](_0x79e852[0x0])['add'](_0x4561cd));
return new _0x489112(_0x5c2558);
}
,
_0x489112['prototype']['_computeLength'] = function(_0x30f1a1) {
for (var _0x121703 = 0x0, _0x4c026d = 0x1; _0x4c026d < _0x30f1a1['length']; _0x4c026d++)
_0x121703 += _0x30f1a1[_0x4c026d]['subtract'](_0x30f1a1[_0x4c026d - 0x1])['length']();
return _0x121703;
}
,
_0x489112;
}()
, _0x251d0b = function() {
function _0x380c35(_0x148726, _0x54b55a) {
void 0x0 === _0x148726 && (_0x148726 = _0x3fbe20['Zero']()),
void 0x0 === _0x54b55a && (_0x54b55a = _0x3fbe20['Up']()),
this['position'] = _0x148726,
this['normal'] = _0x54b55a;
}
return _0x380c35['prototype']['clone'] = function() {
return new _0x380c35(this['position']['clone'](),this['normal']['clone']());
}
,
_0x380c35;
}()
, _0x1a40e0 = function() {
function _0x79d303(_0x5b0f6a, _0xf84458, _0x4e1523) {
void 0x0 === _0x5b0f6a && (_0x5b0f6a = _0x3fbe20['Zero']()),
void 0x0 === _0xf84458 && (_0xf84458 = _0x3fbe20['Up']()),
void 0x0 === _0x4e1523 && (_0x4e1523 = _0x461b0a['Zero']()),
this['position'] = _0x5b0f6a,
this['normal'] = _0xf84458,
this['uv'] = _0x4e1523;
}
return _0x79d303['prototype']['clone'] = function() {
return new _0x79d303(this['position']['clone'](),this['normal']['clone'](),this['uv']['clone']());
}
,
_0x79d303;
}()
, _0x503241 = function() {
function _0x5302f2() {}
return _0x5302f2['Color3'] = _0x1528c3['a']['BuildArray'](0x3, _0x30c94a['Black']),
_0x5302f2['Color4'] = _0x1528c3['a']['BuildArray'](0x3, function() {
return new _0x3acf15(0x0,0x0,0x0,0x0);
}),
_0x5302f2['Vector2'] = _0x1528c3['a']['BuildArray'](0x3, _0x461b0a['Zero']),
_0x5302f2['Vector3'] = _0x1528c3['a']['BuildArray'](0xd, _0x3fbe20['Zero']),
_0x5302f2['Vector4'] = _0x1528c3['a']['BuildArray'](0x3, _0x298fee['Zero']),
_0x5302f2['Quaternion'] = _0x1528c3['a']['BuildArray'](0x2, _0x897ad5['Zero']),
_0x5302f2['Matrix'] = _0x1528c3['a']['BuildArray'](0x8, _0x5e57bc['Identity']),
_0x5302f2;
}()
, _0x53a116 = function() {
function _0x4dae3e() {}
return _0x4dae3e['Vector3'] = _0x1528c3['a']['BuildArray'](0x6, _0x3fbe20['Zero']),
_0x4dae3e['Matrix'] = _0x1528c3['a']['BuildArray'](0x2, _0x5e57bc['Identity']),
_0x4dae3e['Quaternion'] = _0x1528c3['a']['BuildArray'](0x3, _0x897ad5['Zero']),
_0x4dae3e;
}();
}
, function(_0x1ee7e7, _0x1b580e, _0xaa40ef) {
'use strict';
_0xaa40ef['d'](_0x1b580e, 'd', function() {
return _0x3895cd;
}),
_0xaa40ef['d'](_0x1b580e, 'a', function() {
return _0x1d4edb;
}),
_0xaa40ef['d'](_0x1b580e, 'c', function() {
return _0x15a921;
}),
_0xaa40ef['d'](_0x1b580e, 'b', function() {
return _0x5839d9;
}),
_0xaa40ef['d'](_0x1b580e, 'e', function() {
return _0x5cb60d;
});
var _0x36502e = function(_0x53e90d, _0x32f708) {
return (_0x36502e = Object['setPrototypeOf'] || {
'__proto__': []
}instanceof Array && function(_0x4e90d1, _0x3cf896) {
_0x4e90d1['__proto__'] = _0x3cf896;
}
|| function(_0x238d36, _0x3620a3) {
for (var _0x447320 in _0x3620a3)
_0x3620a3['hasOwnProperty'](_0x447320) && (_0x238d36[_0x447320] = _0x3620a3[_0x447320]);
}
)(_0x53e90d, _0x32f708);
};
function _0x3895cd(_0xf4a5ad, _0x344846) {
function _0x1aabcf() {
this['constructor'] = _0xf4a5ad;
}
_0x36502e(_0xf4a5ad, _0x344846),
_0xf4a5ad['prototype'] = null === _0x344846 ? Object['create'](_0x344846) : (_0x1aabcf['prototype'] = _0x344846['prototype'],
new _0x1aabcf());
}
var _0x1d4edb = function() {
return (_0x1d4edb = Object['assign'] || function(_0x51eaca) {
for (var _0x291b6e, _0x240d3b = 0x1, _0x367e0a = arguments['length']; _0x240d3b < _0x367e0a; _0x240d3b++)
for (var _0x7243d9 in _0x291b6e = arguments[_0x240d3b])
Object['prototype']['hasOwnProperty']['call'](_0x291b6e, _0x7243d9) && (_0x51eaca[_0x7243d9] = _0x291b6e[_0x7243d9]);
return _0x51eaca;
}
)['apply'](this, arguments);
};
function _0x15a921(_0x4ec9c8, _0x56f125, _0x194314, _0x4fed38) {
var _0x2d532, _0x311215 = arguments['length'], _0x3fe3c1 = _0x311215 < 0x3 ? _0x56f125 : null === _0x4fed38 ? _0x4fed38 = Object['getOwnPropertyDescriptor'](_0x56f125, _0x194314) : _0x4fed38;
if ('object' == typeof Reflect && 'function' == typeof Reflect['decorate'])
_0x3fe3c1 = Reflect['decorate'](_0x4ec9c8, _0x56f125, _0x194314, _0x4fed38);
else
for (var _0x1edf25 = _0x4ec9c8['length'] - 0x1; _0x1edf25 >= 0x0; _0x1edf25--)
(_0x2d532 = _0x4ec9c8[_0x1edf25]) && (_0x3fe3c1 = (_0x311215 < 0x3 ? _0x2d532(_0x3fe3c1) : _0x311215 > 0x3 ? _0x2d532(_0x56f125, _0x194314, _0x3fe3c1) : _0x2d532(_0x56f125, _0x194314)) || _0x3fe3c1);
return _0x311215 > 0x3 && _0x3fe3c1 && Object['defineProperty'](_0x56f125, _0x194314, _0x3fe3c1),
_0x3fe3c1;
}
function _0x5839d9(_0x365464, _0x1213c7, _0x5b6811, _0x2d31b3) {
return new (_0x5b6811 || (_0x5b6811 = Promise))(function(_0x382ef4, _0x39a6d6) {
function _0xe20faa(_0x3392f3) {
try {
_0xac2dfe(_0x2d31b3['next'](_0x3392f3));
} catch (_0x2620e3) {
_0x39a6d6(_0x2620e3);
}
}
function _0x148b6e(_0xf6cf9f) {
try {
_0xac2dfe(_0x2d31b3['throw'](_0xf6cf9f));
} catch (_0x348410) {
_0x39a6d6(_0x348410);
}
}
function _0xac2dfe(_0x5cc7a5) {
_0x5cc7a5['done'] ? _0x382ef4(_0x5cc7a5['value']) : new _0x5b6811(function(_0x31ce19) {
_0x31ce19(_0x5cc7a5['value']);
}
)['then'](_0xe20faa, _0x148b6e);
}
_0xac2dfe((_0x2d31b3 = _0x2d31b3['apply'](_0x365464, _0x1213c7 || []))['next']());
}
);
}
function _0x5cb60d(_0x16ccdf, _0x19a431) {
var _0x4216a0, _0x5d4322, _0x442dc5, _0x48f13c, _0x344e75 = {
'label': 0x0,
'sent': function() {
if (0x1 & _0x442dc5[0x0])
throw _0x442dc5[0x1];
return _0x442dc5[0x1];
},
'trys': [],
'ops': []
};
return _0x48f13c = {
'next': _0x8cfde2(0x0),
'throw': _0x8cfde2(0x1),
'return': _0x8cfde2(0x2)
},
'function' == typeof Symbol && (_0x48f13c[Symbol['iterator']] = function() {
return this;
}
),
_0x48f13c;
function _0x8cfde2(_0x275d20) {
return function(_0x109002) {
return function(_0xe589a) {
if (_0x4216a0)
throw new TypeError('Generator\x20is\x20already\x20executing.');
for (; _0x344e75; )
try {
if (_0x4216a0 = 0x1,
_0x5d4322 && (_0x442dc5 = 0x2 & _0xe589a[0x0] ? _0x5d4322['return'] : _0xe589a[0x0] ? _0x5d4322['throw'] || ((_0x442dc5 = _0x5d4322['return']) && _0x442dc5['call'](_0x5d4322),
0x0) : _0x5d4322['next']) && !(_0x442dc5 = _0x442dc5['call'](_0x5d4322, _0xe589a[0x1]))['done'])
return _0x442dc5;
switch (_0x5d4322 = 0x0,
_0x442dc5 && (_0xe589a = [0x2 & _0xe589a[0x0], _0x442dc5['value']]),
_0xe589a[0x0]) {
case 0x0:
case 0x1:
_0x442dc5 = _0xe589a;
break;
case 0x4:
return _0x344e75['label']++,
{
'value': _0xe589a[0x1],
'done': !0x1
};
case 0x5:
_0x344e75['label']++,
_0x5d4322 = _0xe589a[0x1],
_0xe589a = [0x0];
continue;
case 0x7:
_0xe589a = _0x344e75['ops']['pop'](),
_0x344e75['trys']['pop']();
continue;
default:
if (!(_0x442dc5 = (_0x442dc5 = _0x344e75['trys'])['length'] > 0x0 && _0x442dc5[_0x442dc5['length'] - 0x1]) && (0x6 === _0xe589a[0x0] || 0x2 === _0xe589a[0x0])) {
_0x344e75 = 0x0;
continue;
}
if (0x3 === _0xe589a[0x0] && (!_0x442dc5 || _0xe589a[0x1] > _0x442dc5[0x0] && _0xe589a[0x1] < _0x442dc5[0x3])) {
_0x344e75['label'] = _0xe589a[0x1];
break;
}
if (0x6 === _0xe589a[0x0] && _0x344e75['label'] < _0x442dc5[0x1]) {
_0x344e75['label'] = _0x442dc5[0x1],
_0x442dc5 = _0xe589a;
break;
}
if (_0x442dc5 && _0x344e75['label'] < _0x442dc5[0x2]) {
_0x344e75['label'] = _0x442dc5[0x2],
_0x344e75['ops']['push'](_0xe589a);
break;
}
_0x442dc5[0x2] && _0x344e75['ops']['pop'](),
_0x344e75['trys']['pop']();
continue;
}
_0xe589a = _0x19a431['call'](_0x16ccdf, _0x344e75);
} catch (_0x5c5d68) {
_0xe589a = [0x6, _0x5c5d68],
_0x5d4322 = 0x0;
} finally {
_0x4216a0 = _0x442dc5 = 0x0;
}
if (0x5 & _0xe589a[0x0])
throw _0xe589a[0x1];
return {
'value': _0xe589a[0x0] ? _0xe589a[0x1] : void 0x0,
'done': !0x0
};
}([_0x275d20, _0x109002]);
}
;
}
}
}
, function(_0x52917b, _0x1fff53, _0x4edc04) {
'use strict';
_0x4edc04['d'](_0x1fff53, 'b', function() {
return _0x2d3906;
}),
_0x4edc04['d'](_0x1fff53, 'c', function() {
return _0x34d352;
}),
_0x4edc04['d'](_0x1fff53, 'm', function() {
return _0x2437f4;
}),
_0x4edc04['d'](_0x1fff53, 'e', function() {
return _0x226a27;
}),
_0x4edc04['d'](_0x1fff53, 'h', function() {
return _0xaeb87d;
}),
_0x4edc04['d'](_0x1fff53, 'n', function() {
return _0x252d33;
}),
_0x4edc04['d'](_0x1fff53, 'o', function() {
return _0x3e9b80;
}),
_0x4edc04['d'](_0x1fff53, 'k', function() {
return _0x5e47cf;
}),
_0x4edc04['d'](_0x1fff53, 'g', function() {
return _0x3af95a;
}),
_0x4edc04['d'](_0x1fff53, 'f', function() {
return _0x1cae37;
}),
_0x4edc04['d'](_0x1fff53, 'i', function() {
return _0x4e5269;
}),
_0x4edc04['d'](_0x1fff53, 'l', function() {
return _0x4aaf5a;
}),
_0x4edc04['d'](_0x1fff53, 'j', function() {
return _0x4279cd;
}),
_0x4edc04['d'](_0x1fff53, 'd', function() {
return _0x31a72b;
}),
_0x4edc04['d'](_0x1fff53, 'a', function() {
return _0x189625;
});
var _0x4725dc = _0x4edc04(0x1d)
, _0x1b63dc = _0x4edc04(0x0)
, _0x445abe = _0x4edc04(0x13)
, _0xda6ab3 = {}
, _0x46885e = {}
, _0x2cebb2 = function(_0x398a2e, _0x1d9976, _0x507c43) {
var _0x29a1e6 = _0x398a2e();
_0x4725dc['a'] && _0x4725dc['a']['AddTagsTo'](_0x29a1e6, _0x1d9976['tags']);
var _0x1323fc = _0x4ed30f(_0x29a1e6);
for (var _0x461768 in _0x1323fc) {
var _0x31f1c5 = _0x1323fc[_0x461768]
, _0x104949 = _0x1d9976[_0x461768]
, _0x1f5b3c = _0x31f1c5['type'];
if (null != _0x104949 && 'uniqueId' !== _0x461768)
switch (_0x1f5b3c) {
case 0x0:
case 0x6:
case 0xb:
_0x29a1e6[_0x461768] = _0x104949;
break;
case 0x1:
_0x29a1e6[_0x461768] = _0x507c43 || _0x104949['isRenderTarget'] ? _0x104949 : _0x104949['clone']();
break;
case 0x2:
case 0x3:
case 0x4:
case 0x5:
case 0x7:
case 0xa:
case 0xc:
_0x29a1e6[_0x461768] = _0x507c43 ? _0x104949 : _0x104949['clone']();
}
}
return _0x29a1e6;
};
function _0x4ed30f(_0x44c842) {
var _0x203b09 = _0x44c842['getClassName']();
if (_0x46885e[_0x203b09])
return _0x46885e[_0x203b09];
_0x46885e[_0x203b09] = {};
for (var _0x438409 = _0x46885e[_0x203b09], _0x5af7ed = _0x44c842, _0x3d18b1 = _0x203b09; _0x3d18b1; ) {
var _0x14d832 = _0xda6ab3[_0x3d18b1];
for (var _0x362cc2 in _0x14d832)
_0x438409[_0x362cc2] = _0x14d832[_0x362cc2];
var _0x43ca31 = void 0x0
, _0x43ab43 = !0x1;
do {
if (!(_0x43ca31 = Object['getPrototypeOf'](_0x5af7ed))['getClassName']) {
_0x43ab43 = !0x0;
break;
}
if (_0x43ca31['getClassName']() !== _0x3d18b1)
break;
_0x5af7ed = _0x43ca31;
} while (_0x43ca31);
if (_0x43ab43)
break;
_0x3d18b1 = _0x43ca31['getClassName'](),
_0x5af7ed = _0x43ca31;
}
return _0x438409;
}
function _0x68bae3(_0x5008f3, _0x1b49a0) {
return function(_0x343837, _0x4fff56) {
var _0x14bdeb = function(_0x2c6a7b) {
var _0x34c0d1 = _0x2c6a7b['getClassName']();
return _0xda6ab3[_0x34c0d1] || (_0xda6ab3[_0x34c0d1] = {}),
_0xda6ab3[_0x34c0d1];
}(_0x343837);
_0x14bdeb[_0x4fff56] || (_0x14bdeb[_0x4fff56] = {
'type': _0x5008f3,
'sourceName': _0x1b49a0
});
}
;
}
function _0x2d3906(_0x2e1f81, _0x4adef9) {
return void 0x0 === _0x4adef9 && (_0x4adef9 = null),
function(_0x3d121b, _0x45a65e) {
return void 0x0 === _0x45a65e && (_0x45a65e = null),
function(_0x3b7bbe, _0x6e0318) {
var _0x1bcf27 = _0x45a65e || '_' + _0x6e0318;
Object['defineProperty'](_0x3b7bbe, _0x6e0318, {
'get': function() {
return this[_0x1bcf27];
},
'set': function(_0x7da32a) {
this[_0x1bcf27] !== _0x7da32a && (this[_0x1bcf27] = _0x7da32a,
_0x3b7bbe[_0x3d121b]['apply'](this));
},
'enumerable': !0x0,
'configurable': !0x0
});
}
;
}(_0x2e1f81, _0x4adef9);
}
function _0x34d352(_0x1a4cfa) {
return _0x68bae3(0x0, _0x1a4cfa);
}
function _0x2437f4(_0x4b8da4) {
return _0x68bae3(0x1, _0x4b8da4);
}
function _0x226a27(_0x252a61) {
return _0x68bae3(0x2, _0x252a61);
}
function _0xaeb87d(_0x4afe33) {
return _0x68bae3(0x3, _0x4afe33);
}
function _0x252d33(_0x141be5) {
return _0x68bae3(0x4, _0x141be5);
}
function _0x3e9b80(_0x568c25) {
return _0x68bae3(0x5, _0x568c25);
}
function _0x5e47cf(_0x38c9ff) {
return _0x68bae3(0x6, _0x38c9ff);
}
function _0x3af95a(_0x3e8645) {
return _0x68bae3(0x7, _0x3e8645);
}
function _0x1cae37(_0x42f5b1) {
return _0x68bae3(0x8, _0x42f5b1);
}
function _0x4e5269(_0xd47b30) {
return _0x68bae3(0x9, _0xd47b30);
}
function _0x4aaf5a(_0x2a7eed) {
return _0x68bae3(0xa, _0x2a7eed);
}
function _0x4279cd(_0x4573ca) {
return _0x68bae3(0xc, _0x4573ca);
}
function _0x31a72b(_0x2adec7) {
return _0x68bae3(0xb, _0x2adec7);
}
var _0x189625 = function() {
function _0xcb0708() {}
return _0xcb0708['AppendSerializedAnimations'] = function(_0x54533e, _0x26502e) {
if (_0x54533e['animations']) {
_0x26502e['animations'] = [];
for (var _0x5e55a4 = 0x0; _0x5e55a4 < _0x54533e['animations']['length']; _0x5e55a4++) {
var _0x163cc6 = _0x54533e['animations'][_0x5e55a4];
_0x26502e['animations']['push'](_0x163cc6['serialize']());
}
}
}
,
_0xcb0708['Serialize'] = function(_0x2891e9, _0x5895e4) {
_0x5895e4 || (_0x5895e4 = {}),
_0x4725dc['a'] && (_0x5895e4['tags'] = _0x4725dc['a']['GetTags'](_0x2891e9));
var _0x36f753 = _0x4ed30f(_0x2891e9);
for (var _0x9e71d4 in _0x36f753) {
var _0x13e11c = _0x36f753[_0x9e71d4]
, _0xc4fbdc = _0x13e11c['sourceName'] || _0x9e71d4
, _0x4f99ae = _0x13e11c['type']
, _0x2514d3 = _0x2891e9[_0x9e71d4];
if (null != _0x2514d3)
switch (_0x4f99ae) {
case 0x0:
_0x5895e4[_0xc4fbdc] = _0x2514d3;
break;
case 0x1:
_0x5895e4[_0xc4fbdc] = _0x2514d3['serialize']();
break;
case 0x2:
_0x5895e4[_0xc4fbdc] = _0x2514d3['asArray']();
break;
case 0x3:
_0x5895e4[_0xc4fbdc] = _0x2514d3['serialize']();
break;
case 0x4:
case 0x5:
_0x5895e4[_0xc4fbdc] = _0x2514d3['asArray']();
break;
case 0x6:
_0x5895e4[_0xc4fbdc] = _0x2514d3['id'];
break;
case 0x7:
_0x5895e4[_0xc4fbdc] = _0x2514d3['serialize']();
break;
case 0x8:
_0x5895e4[_0xc4fbdc] = _0x2514d3['asArray']();
break;
case 0x9:
_0x5895e4[_0xc4fbdc] = _0x2514d3['serialize']();
break;
case 0xa:
_0x5895e4[_0xc4fbdc] = _0x2514d3['asArray']();
break;
case 0xb:
_0x5895e4[_0xc4fbdc] = _0x2514d3['id'];
case 0xc:
_0x5895e4[_0xc4fbdc] = _0x2514d3['asArray']();
}
}
return _0x5895e4;
}
,
_0xcb0708['Parse'] = function(_0x176ec6, _0x2f3a0f, _0x1238b4, _0x54122f) {
void 0x0 === _0x54122f && (_0x54122f = null);
var _0xb99be2 = _0x176ec6();
_0x54122f || (_0x54122f = ''),
_0x4725dc['a'] && _0x4725dc['a']['AddTagsTo'](_0xb99be2, _0x2f3a0f['tags']);
var _0xaa1727 = _0x4ed30f(_0xb99be2);
for (var _0x26e1a2 in _0xaa1727) {
var _0x34a295 = _0xaa1727[_0x26e1a2]
, _0x1b181b = _0x2f3a0f[_0x34a295['sourceName'] || _0x26e1a2]
, _0x451718 = _0x34a295['type'];
if (null != _0x1b181b) {
var _0x407703 = _0xb99be2;
switch (_0x451718) {
case 0x0:
_0x407703[_0x26e1a2] = _0x1b181b;
break;
case 0x1:
_0x1238b4 && (_0x407703[_0x26e1a2] = _0xcb0708['_TextureParser'](_0x1b181b, _0x1238b4, _0x54122f));
break;
case 0x2:
_0x407703[_0x26e1a2] = _0x1b63dc['e']['FromArray'](_0x1b181b);
break;
case 0x3:
_0x407703[_0x26e1a2] = _0xcb0708['_FresnelParametersParser'](_0x1b181b);
break;
case 0x4:
_0x407703[_0x26e1a2] = _0x1b63dc['w']['FromArray'](_0x1b181b);
break;
case 0x5:
_0x407703[_0x26e1a2] = _0x1b63dc['x']['FromArray'](_0x1b181b);
break;
case 0x6:
_0x1238b4 && (_0x407703[_0x26e1a2] = _0x1238b4['getLastMeshByID'](_0x1b181b));
break;
case 0x7:
_0x407703[_0x26e1a2] = _0xcb0708['_ColorCurvesParser'](_0x1b181b);
break;
case 0x8:
_0x407703[_0x26e1a2] = _0x1b63dc['f']['FromArray'](_0x1b181b);
break;
case 0x9:
_0x407703[_0x26e1a2] = _0xcb0708['_ImageProcessingConfigurationParser'](_0x1b181b);
break;
case 0xa:
_0x407703[_0x26e1a2] = _0x1b63dc['q']['FromArray'](_0x1b181b);
break;
case 0xb:
_0x1238b4 && (_0x407703[_0x26e1a2] = _0x1238b4['getCameraByID'](_0x1b181b));
case 0xc:
_0x407703[_0x26e1a2] = _0x1b63dc['j']['FromArray'](_0x1b181b);
}
}
}
return _0xb99be2;
}
,
_0xcb0708['Clone'] = function(_0x534f69, _0x147eda) {
return _0x2cebb2(_0x534f69, _0x147eda, !0x1);
}
,
_0xcb0708['Instanciate'] = function(_0x349884, _0x10dd6d) {
return _0x2cebb2(_0x349884, _0x10dd6d, !0x0);
}
,
_0xcb0708['_ImageProcessingConfigurationParser'] = function(_0x30030a) {
throw _0x445abe['a']['WarnImport']('ImageProcessingConfiguration');
}
,
_0xcb0708['_FresnelParametersParser'] = function(_0x21ad78) {
throw _0x445abe['a']['WarnImport']('FresnelParameters');
}
,
_0xcb0708['_ColorCurvesParser'] = function(_0x2c07a4) {
throw _0x445abe['a']['WarnImport']('ColorCurves');
}
,
_0xcb0708['_TextureParser'] = function(_0xf7618b, _0x56f081, _0x5f12f4) {
throw _0x445abe['a']['WarnImport']('Texture');
}
,
_0xcb0708;
}();
}
, function(_0x57f133, _0x17ae95, _0x4f0ae2) {
'use strict';
_0x4f0ae2['d'](_0x17ae95, 'a', function() {
return _0x4276c6;
});
var _0x4276c6 = function() {
function _0x47655e() {}
return _0x47655e['ALPHA_DISABLE'] = 0x0,
_0x47655e['ALPHA_ADD'] = 0x1,
_0x47655e['ALPHA_COMBINE'] = 0x2,
_0x47655e['ALPHA_SUBTRACT'] = 0x3,
_0x47655e['ALPHA_MULTIPLY'] = 0x4,
_0x47655e['ALPHA_MAXIMIZED'] = 0x5,
_0x47655e['ALPHA_ONEONE'] = 0x6,
_0x47655e['ALPHA_PREMULTIPLIED'] = 0x7,
_0x47655e['ALPHA_PREMULTIPLIED_PORTERDUFF'] = 0x8,
_0x47655e['ALPHA_INTERPOLATE'] = 0x9,
_0x47655e['ALPHA_SCREENMODE'] = 0xa,
_0x47655e['DELAYLOADSTATE_NONE'] = 0x0,
_0x47655e['DELAYLOADSTATE_LOADED'] = 0x1,
_0x47655e['DELAYLOADSTATE_LOADING'] = 0x2,
_0x47655e['DELAYLOADSTATE_NOTLOADED'] = 0x4,
_0x47655e['NEVER'] = 0x200,
_0x47655e['ALWAYS'] = 0x207,
_0x47655e['LESS'] = 0x201,
_0x47655e['EQUAL'] = 0x202,
_0x47655e['LEQUAL'] = 0x203,
_0x47655e['GREATER'] = 0x204,
_0x47655e['GEQUAL'] = 0x206,
_0x47655e['NOTEQUAL'] = 0x205,
_0x47655e['KEEP'] = 0x1e00,
_0x47655e['REPLACE'] = 0x1e01,
_0x47655e['INCR'] = 0x1e02,
_0x47655e['DECR'] = 0x1e03,
_0x47655e['INVERT'] = 0x150a,
_0x47655e['INCR_WRAP'] = 0x8507,
_0x47655e['DECR_WRAP'] = 0x8508,
_0x47655e['TEXTURE_CLAMP_ADDRESSMODE'] = 0x0,
_0x47655e['TEXTURE_WRAP_ADDRESSMODE'] = 0x1,
_0x47655e['TEXTURE_MIRROR_ADDRESSMODE'] = 0x2,
_0x47655e['TEXTUREFORMAT_ALPHA'] = 0x0,
_0x47655e['TEXTUREFORMAT_LUMINANCE'] = 0x1,
_0x47655e['TEXTUREFORMAT_LUMINANCE_ALPHA'] = 0x2,
_0x47655e['TEXTUREFORMAT_RGB'] = 0x4,
_0x47655e['TEXTUREFORMAT_RGBA'] = 0x5,
_0x47655e['TEXTUREFORMAT_RED'] = 0x6,
_0x47655e['TEXTUREFORMAT_R'] = 0x6,
_0x47655e['TEXTUREFORMAT_RG'] = 0x7,
_0x47655e['TEXTUREFORMAT_RED_INTEGER'] = 0x8,
_0x47655e['TEXTUREFORMAT_R_INTEGER'] = 0x8,
_0x47655e['TEXTUREFORMAT_RG_INTEGER'] = 0x9,
_0x47655e['TEXTUREFORMAT_RGB_INTEGER'] = 0xa,
_0x47655e['TEXTUREFORMAT_RGBA_INTEGER'] = 0xb,
_0x47655e['TEXTURETYPE_UNSIGNED_BYTE'] = 0x0,
_0x47655e['TEXTURETYPE_UNSIGNED_INT'] = 0x0,
_0x47655e['TEXTURETYPE_FLOAT'] = 0x1,
_0x47655e['TEXTURETYPE_HALF_FLOAT'] = 0x2,
_0x47655e['TEXTURETYPE_BYTE'] = 0x3,
_0x47655e['TEXTURETYPE_SHORT'] = 0x4,
_0x47655e['TEXTURETYPE_UNSIGNED_SHORT'] = 0x5,
_0x47655e['TEXTURETYPE_INT'] = 0x6,
_0x47655e['TEXTURETYPE_UNSIGNED_INTEGER'] = 0x7,
_0x47655e['TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4'] = 0x8,
_0x47655e['TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1'] = 0x9,
_0x47655e['TEXTURETYPE_UNSIGNED_SHORT_5_6_5'] = 0xa,
_0x47655e['TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV'] = 0xb,
_0x47655e['TEXTURETYPE_UNSIGNED_INT_24_8'] = 0xc,
_0x47655e['TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV'] = 0xd,
_0x47655e['TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV'] = 0xe,
_0x47655e['TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV'] = 0xf,
_0x47655e['TEXTURE_NEAREST_SAMPLINGMODE'] = 0x1,
_0x47655e['TEXTURE_BILINEAR_SAMPLINGMODE'] = 0x2,
_0x47655e['TEXTURE_TRILINEAR_SAMPLINGMODE'] = 0x3,
_0x47655e['TEXTURE_NEAREST_NEAREST_MIPLINEAR'] = 0x1,
_0x47655e['TEXTURE_LINEAR_LINEAR_MIPNEAREST'] = 0x2,
_0x47655e['TEXTURE_LINEAR_LINEAR_MIPLINEAR'] = 0x3,
_0x47655e['TEXTURE_NEAREST_NEAREST_MIPNEAREST'] = 0x4,
_0x47655e['TEXTURE_NEAREST_LINEAR_MIPNEAREST'] = 0x5,
_0x47655e['TEXTURE_NEAREST_LINEAR_MIPLINEAR'] = 0x6,
_0x47655e['TEXTURE_NEAREST_LINEAR'] = 0x7,
_0x47655e['TEXTURE_NEAREST_NEAREST'] = 0x8,
_0x47655e['TEXTURE_LINEAR_NEAREST_MIPNEAREST'] = 0x9,
_0x47655e['TEXTURE_LINEAR_NEAREST_MIPLINEAR'] = 0xa,
_0x47655e['TEXTURE_LINEAR_LINEAR'] = 0xb,
_0x47655e['TEXTURE_LINEAR_NEAREST'] = 0xc,
_0x47655e['TEXTURE_EXPLICIT_MODE'] = 0x0,
_0x47655e['TEXTURE_SPHERICAL_MODE'] = 0x1,
_0x47655e['TEXTURE_PLANAR_MODE'] = 0x2,
_0x47655e['TEXTURE_CUBIC_MODE'] = 0x3,
_0x47655e['TEXTURE_PROJECTION_MODE'] = 0x4,
_0x47655e['TEXTURE_SKYBOX_MODE'] = 0x5,
_0x47655e['TEXTURE_INVCUBIC_MODE'] = 0x6,
_0x47655e['TEXTURE_EQUIRECTANGULAR_MODE'] = 0x7,
_0x47655e['TEXTURE_FIXED_EQUIRECTANGULAR_MODE'] = 0x8,
_0x47655e['TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE'] = 0x9,
_0x47655e['SCALEMODE_FLOOR'] = 0x1,
_0x47655e['SCALEMODE_NEAREST'] = 0x2,
_0x47655e['SCALEMODE_CEILING'] = 0x3,
_0x47655e['MATERIAL_TextureDirtyFlag'] = 0x1,
_0x47655e['MATERIAL_LightDirtyFlag'] = 0x2,
_0x47655e['MATERIAL_FresnelDirtyFlag'] = 0x4,
_0x47655e['MATERIAL_AttributesDirtyFlag'] = 0x8,
_0x47655e['MATERIAL_MiscDirtyFlag'] = 0x10,
_0x47655e['MATERIAL_AllDirtyFlag'] = 0x1f,
_0x47655e['MATERIAL_TriangleFillMode'] = 0x0,
_0x47655e['MATERIAL_WireFrameFillMode'] = 0x1,
_0x47655e['MATERIAL_PointFillMode'] = 0x2,
_0x47655e['MATERIAL_PointListDrawMode'] = 0x3,
_0x47655e['MATERIAL_LineListDrawMode'] = 0x4,
_0x47655e['MATERIAL_LineLoopDrawMode'] = 0x5,
_0x47655e['MATERIAL_LineStripDrawMode'] = 0x6,
_0x47655e['MATERIAL_TriangleStripDrawMode'] = 0x7,
_0x47655e['MATERIAL_TriangleFanDrawMode'] = 0x8,
_0x47655e['MATERIAL_ClockWiseSideOrientation'] = 0x0,
_0x47655e['MATERIAL_CounterClockWiseSideOrientation'] = 0x1,
_0x47655e['ACTION_NothingTrigger'] = 0x0,
_0x47655e['ACTION_OnPickTrigger'] = 0x1,
_0x47655e['ACTION_OnLeftPickTrigger'] = 0x2,
_0x47655e['ACTION_OnRightPickTrigger'] = 0x3,
_0x47655e['ACTION_OnCenterPickTrigger'] = 0x4,
_0x47655e['ACTION_OnPickDownTrigger'] = 0x5,
_0x47655e['ACTION_OnDoublePickTrigger'] = 0x6,
_0x47655e['ACTION_OnPickUpTrigger'] = 0x7,
_0x47655e['ACTION_OnPickOutTrigger'] = 0x10,
_0x47655e['ACTION_OnLongPressTrigger'] = 0x8,
_0x47655e['ACTION_OnPointerOverTrigger'] = 0x9,
_0x47655e['ACTION_OnPointerOutTrigger'] = 0xa,
_0x47655e['ACTION_OnEveryFrameTrigger'] = 0xb,
_0x47655e['ACTION_OnIntersectionEnterTrigger'] = 0xc,
_0x47655e['ACTION_OnIntersectionExitTrigger'] = 0xd,
_0x47655e['ACTION_OnKeyDownTrigger'] = 0xe,
_0x47655e['ACTION_OnKeyUpTrigger'] = 0xf,
_0x47655e['PARTICLES_BILLBOARDMODE_Y'] = 0x2,
_0x47655e['PARTICLES_BILLBOARDMODE_ALL'] = 0x7,
_0x47655e['PARTICLES_BILLBOARDMODE_STRETCHED'] = 0x8,
_0x47655e['PARTICLES_BaseAssetsUrl'] = 'https://assets.babylonjs.com/particles',
_0x47655e['MESHES_CULLINGSTRATEGY_STANDARD'] = 0x0,
_0x47655e['MESHES_CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY'] = 0x1,
_0x47655e['MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION'] = 0x2,
_0x47655e['MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY'] = 0x3,
_0x47655e['SCENELOADER_NO_LOGGING'] = 0x0,
_0x47655e['SCENELOADER_MINIMAL_LOGGING'] = 0x1,
_0x47655e['SCENELOADER_SUMMARY_LOGGING'] = 0x2,
_0x47655e['SCENELOADER_DETAILED_LOGGING'] = 0x3,
_0x47655e;
}();
}
, function(_0x397118, _0x228224, _0x33a343) {
'use strict';
_0x33a343['d'](_0x228224, 'a', function() {
return _0x44f3ec;
}),
_0x33a343['d'](_0x228224, 'b', function() {
return _0x18afc9;
});
var _0x44f3ec = function() {
function _0x4d1a30(_0xa4c053, _0x36f3fa, _0x1ad9d2, _0x15e52c, _0x2eabca, _0x15322c, _0x344927) {
void 0x0 === _0x15e52c && (_0x15e52c = 0x0),
void 0x0 === _0x2eabca && (_0x2eabca = !0x1),
void 0x0 === _0x15322c && (_0x15322c = !0x1),
void 0x0 === _0x344927 && (_0x344927 = !0x1),
_0xa4c053['getScene'] ? this['_engine'] = _0xa4c053['getScene']()['getEngine']() : this['_engine'] = _0xa4c053,
this['_updatable'] = _0x1ad9d2,
this['_instanced'] = _0x15322c,
this['_data'] = _0x36f3fa,
this['byteStride'] = _0x344927 ? _0x15e52c : _0x15e52c * Float32Array['BYTES_PER_ELEMENT'],
_0x2eabca || this['create']();
}
return _0x4d1a30['prototype']['createVertexBuffer'] = function(_0x3cbe31, _0x36668c, _0x3089f2, _0x468793, _0x1c682c, _0x10400e) {
void 0x0 === _0x10400e && (_0x10400e = !0x1);
var _0x1ecbf5 = _0x10400e ? _0x36668c : _0x36668c * Float32Array['BYTES_PER_ELEMENT']
, _0x5a1dab = _0x468793 ? _0x10400e ? _0x468793 : _0x468793 * Float32Array['BYTES_PER_ELEMENT'] : this['byteStride'];
return new _0x18afc9(this['_engine'],this,_0x3cbe31,this['_updatable'],!0x0,_0x5a1dab,void 0x0 === _0x1c682c ? this['_instanced'] : _0x1c682c,_0x1ecbf5,_0x3089f2,void 0x0,void 0x0,!0x0);
}
,
_0x4d1a30['prototype']['isUpdatable'] = function() {
return this['_updatable'];
}
,
_0x4d1a30['prototype']['getData'] = function() {
return this['_data'];
}
,
_0x4d1a30['prototype']['getBuffer'] = function() {
return this['_buffer'];
}
,
_0x4d1a30['prototype']['getStrideSize'] = function() {
return this['byteStride'] / Float32Array['BYTES_PER_ELEMENT'];
}
,
_0x4d1a30['prototype']['create'] = function(_0x572fe6) {
void 0x0 === _0x572fe6 && (_0x572fe6 = null),
!_0x572fe6 && this['_buffer'] || (_0x572fe6 = _0x572fe6 || this['_data']) && (this['_buffer'] ? this['_updatable'] && (this['_engine']['updateDynamicVertexBuffer'](this['_buffer'], _0x572fe6),
this['_data'] = _0x572fe6) : this['_updatable'] ? (this['_buffer'] = this['_engine']['createDynamicVertexBuffer'](_0x572fe6),
this['_data'] = _0x572fe6) : this['_buffer'] = this['_engine']['createVertexBuffer'](_0x572fe6));
}
,
_0x4d1a30['prototype']['_rebuild'] = function() {
this['_buffer'] = null,
this['create'](this['_data']);
}
,
_0x4d1a30['prototype']['update'] = function(_0x39be1a) {
this['create'](_0x39be1a);
}
,
_0x4d1a30['prototype']['updateDirectly'] = function(_0x1786e3, _0x51f800, _0x2866d3, _0x35478f) {
void 0x0 === _0x35478f && (_0x35478f = !0x1),
this['_buffer'] && this['_updatable'] && (this['_engine']['updateDynamicVertexBuffer'](this['_buffer'], _0x1786e3, _0x35478f ? _0x51f800 : _0x51f800 * Float32Array['BYTES_PER_ELEMENT'], _0x2866d3 ? _0x2866d3 * this['byteStride'] : void 0x0),
this['_data'] = null);
}
,
_0x4d1a30['prototype']['dispose'] = function() {
this['_buffer'] && this['_engine']['_releaseBuffer'](this['_buffer']) && (this['_buffer'] = null);
}
,
_0x4d1a30;
}()
, _0x18afc9 = function() {
function _0x555f95(_0x53c908, _0xe291f5, _0x2e10f7, _0x10d34a, _0x4ba619, _0x552cae, _0x56ee97, _0x5c7be1, _0x493fe1, _0x2e5e09, _0x2937cc, _0xaaeb29) {
if (void 0x0 === _0x2937cc && (_0x2937cc = !0x1),
void 0x0 === _0xaaeb29 && (_0xaaeb29 = !0x1),
_0xe291f5 instanceof _0x44f3ec ? (this['_buffer'] = _0xe291f5,
this['_ownsBuffer'] = !0x1) : (this['_buffer'] = new _0x44f3ec(_0x53c908,_0xe291f5,_0x10d34a,_0x552cae,_0x4ba619,_0x56ee97,_0xaaeb29),
this['_ownsBuffer'] = !0x0),
this['_kind'] = _0x2e10f7,
null == _0x2e5e09) {
var _0x5b20e8 = this['getData']();
this['type'] = _0x555f95['FLOAT'],
_0x5b20e8 instanceof Int8Array ? this['type'] = _0x555f95['BYTE'] : _0x5b20e8 instanceof Uint8Array ? this['type'] = _0x555f95['UNSIGNED_BYTE'] : _0x5b20e8 instanceof Int16Array ? this['type'] = _0x555f95['SHORT'] : _0x5b20e8 instanceof Uint16Array ? this['type'] = _0x555f95['UNSIGNED_SHORT'] : _0x5b20e8 instanceof Int32Array ? this['type'] = _0x555f95['INT'] : _0x5b20e8 instanceof Uint32Array && (this['type'] = _0x555f95['UNSIGNED_INT']);
} else
this['type'] = _0x2e5e09;
var _0x1ed74d = _0x555f95['GetTypeByteLength'](this['type']);
_0xaaeb29 ? (this['_size'] = _0x493fe1 || (_0x552cae ? _0x552cae / _0x1ed74d : _0x555f95['DeduceStride'](_0x2e10f7)),
this['byteStride'] = _0x552cae || this['_buffer']['byteStride'] || this['_size'] * _0x1ed74d,
this['byteOffset'] = _0x5c7be1 || 0x0) : (this['_size'] = _0x493fe1 || _0x552cae || _0x555f95['DeduceStride'](_0x2e10f7),
this['byteStride'] = _0x552cae ? _0x552cae * _0x1ed74d : this['_buffer']['byteStride'] || this['_size'] * _0x1ed74d,
this['byteOffset'] = (_0x5c7be1 || 0x0) * _0x1ed74d),
this['normalized'] = _0x2937cc,
this['_instanced'] = void 0x0 !== _0x56ee97 && _0x56ee97,
this['_instanceDivisor'] = _0x56ee97 ? 0x1 : 0x0;
}
return Object['defineProperty'](_0x555f95['prototype'], 'instanceDivisor', {
'get': function() {
return this['_instanceDivisor'];
},
'set': function(_0x2f0443) {
this['_instanceDivisor'] = _0x2f0443,
this['_instanced'] = 0x0 != _0x2f0443;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x555f95['prototype']['_rebuild'] = function() {
this['_buffer'] && this['_buffer']['_rebuild']();
}
,
_0x555f95['prototype']['getKind'] = function() {
return this['_kind'];
}
,
_0x555f95['prototype']['isUpdatable'] = function() {
return this['_buffer']['isUpdatable']();
}
,
_0x555f95['prototype']['getData'] = function() {
return this['_buffer']['getData']();
}
,
_0x555f95['prototype']['getBuffer'] = function() {
return this['_buffer']['getBuffer']();
}
,
_0x555f95['prototype']['getStrideSize'] = function() {
return this['byteStride'] / _0x555f95['GetTypeByteLength'](this['type']);
}
,
_0x555f95['prototype']['getOffset'] = function() {
return this['byteOffset'] / _0x555f95['GetTypeByteLength'](this['type']);
}
,
_0x555f95['prototype']['getSize'] = function() {
return this['_size'];
}
,
_0x555f95['prototype']['getIsInstanced'] = function() {
return this['_instanced'];
}
,
_0x555f95['prototype']['getInstanceDivisor'] = function() {
return this['_instanceDivisor'];
}
,
_0x555f95['prototype']['create'] = function(_0x421023) {
this['_buffer']['create'](_0x421023);
}
,
_0x555f95['prototype']['update'] = function(_0xeca118) {
this['_buffer']['update'](_0xeca118);
}
,
_0x555f95['prototype']['updateDirectly'] = function(_0x18e4a9, _0x102d8c, _0x344ee5) {
void 0x0 === _0x344ee5 && (_0x344ee5 = !0x1),
this['_buffer']['updateDirectly'](_0x18e4a9, _0x102d8c, void 0x0, _0x344ee5);
}
,
_0x555f95['prototype']['dispose'] = function() {
this['_ownsBuffer'] && this['_buffer']['dispose']();
}
,
_0x555f95['prototype']['forEach'] = function(_0x155d5d, _0x483f6d) {
_0x555f95['ForEach'](this['_buffer']['getData'](), this['byteOffset'], this['byteStride'], this['_size'], this['type'], _0x155d5d, this['normalized'], _0x483f6d);
}
,
_0x555f95['DeduceStride'] = function(_0x4fda75) {
switch (_0x4fda75) {
case _0x555f95['UVKind']:
case _0x555f95['UV2Kind']:
case _0x555f95['UV3Kind']:
case _0x555f95['UV4Kind']:
case _0x555f95['UV5Kind']:
case _0x555f95['UV6Kind']:
return 0x2;
case _0x555f95['NormalKind']:
case _0x555f95['PositionKind']:
return 0x3;
case _0x555f95['ColorKind']:
case _0x555f95['MatricesIndicesKind']:
case _0x555f95['MatricesIndicesExtraKind']:
case _0x555f95['MatricesWeightsKind']:
case _0x555f95['MatricesWeightsExtraKind']:
case _0x555f95['TangentKind']:
return 0x4;
default:
throw new Error('Invalid\x20kind\x20\x27' + _0x4fda75 + '\x27');
}
}
,
_0x555f95['GetTypeByteLength'] = function(_0x56729c) {
switch (_0x56729c) {
case _0x555f95['BYTE']:
case _0x555f95['UNSIGNED_BYTE']:
return 0x1;
case _0x555f95['SHORT']:
case _0x555f95['UNSIGNED_SHORT']:
return 0x2;
case _0x555f95['INT']:
case _0x555f95['FLOAT']:
return 0x4;
default:
throw new Error('Invalid\x20type\x20\x27' + _0x56729c + '\x27');
}
}
,
_0x555f95['ForEach'] = function(_0x4733ab, _0x51908b, _0x251b4c, _0x2a7d4d, _0x2ce0fb, _0x514b79, _0x3cea63, _0x5188d1) {
if (_0x4733ab instanceof Array)
for (var _0x310d21 = _0x51908b / 0x4, _0x4244c8 = _0x251b4c / 0x4, _0x2f465c = 0x0; _0x2f465c < _0x514b79; _0x2f465c += _0x2a7d4d) {
for (var _0x286c3e = 0x0; _0x286c3e < _0x2a7d4d; _0x286c3e++)
_0x5188d1(_0x4733ab[_0x310d21 + _0x286c3e], _0x2f465c + _0x286c3e);
_0x310d21 += _0x4244c8;
}
else {
var _0x1e80de = _0x4733ab instanceof ArrayBuffer ? new DataView(_0x4733ab) : new DataView(_0x4733ab['buffer'],_0x4733ab['byteOffset'],_0x4733ab['byteLength'])
, _0x22aeb8 = _0x555f95['GetTypeByteLength'](_0x2ce0fb);
for (_0x2f465c = 0x0; _0x2f465c < _0x514b79; _0x2f465c += _0x2a7d4d) {
var _0x2d3b51 = _0x51908b;
for (_0x286c3e = 0x0; _0x286c3e < _0x2a7d4d; _0x286c3e++) {
_0x5188d1(_0x555f95['_GetFloatValue'](_0x1e80de, _0x2ce0fb, _0x2d3b51, _0x3cea63), _0x2f465c + _0x286c3e),
_0x2d3b51 += _0x22aeb8;
}
_0x51908b += _0x251b4c;
}
}
}
,
_0x555f95['_GetFloatValue'] = function(_0x454e38, _0x25caff, _0x27b3d7, _0x34a556) {
switch (_0x25caff) {
case _0x555f95['BYTE']:
var _0x1a366b = _0x454e38['getInt8'](_0x27b3d7);
return _0x34a556 && (_0x1a366b = Math['max'](_0x1a366b / 0x7f, -0x1)),
_0x1a366b;
case _0x555f95['UNSIGNED_BYTE']:
_0x1a366b = _0x454e38['getUint8'](_0x27b3d7);
return _0x34a556 && (_0x1a366b /= 0xff),
_0x1a366b;
case _0x555f95['SHORT']:
_0x1a366b = _0x454e38['getInt16'](_0x27b3d7, !0x0);
return _0x34a556 && (_0x1a366b = Math['max'](_0x1a366b / 0x3fff, -0x1)),
_0x1a366b;
case _0x555f95['UNSIGNED_SHORT']:
_0x1a366b = _0x454e38['getUint16'](_0x27b3d7, !0x0);
return _0x34a556 && (_0x1a366b /= 0xffff),
_0x1a366b;
case _0x555f95['FLOAT']:
return _0x454e38['getFloat32'](_0x27b3d7, !0x0);
default:
throw new Error('Invalid\x20component\x20type\x20' + _0x25caff);
}
}
,
_0x555f95['BYTE'] = 0x1400,
_0x555f95['UNSIGNED_BYTE'] = 0x1401,
_0x555f95['SHORT'] = 0x1402,
_0x555f95['UNSIGNED_SHORT'] = 0x1403,
_0x555f95['INT'] = 0x1404,
_0x555f95['UNSIGNED_INT'] = 0x1405,
_0x555f95['FLOAT'] = 0x1406,
_0x555f95['PositionKind'] = 'position',
_0x555f95['NormalKind'] = 'normal',
_0x555f95['TangentKind'] = 'tangent',
_0x555f95['UVKind'] = 'uv',
_0x555f95['UV2Kind'] = 'uv2',
_0x555f95['UV3Kind'] = 'uv3',
_0x555f95['UV4Kind'] = 'uv4',
_0x555f95['UV5Kind'] = 'uv5',
_0x555f95['UV6Kind'] = 'uv6',
_0x555f95['ColorKind'] = 'color',
_0x555f95['MatricesIndicesKind'] = 'matricesIndices',
_0x555f95['MatricesWeightsKind'] = 'matricesWeights',
_0x555f95['MatricesIndicesExtraKind'] = 'matricesIndicesExtra',
_0x555f95['MatricesWeightsExtraKind'] = 'matricesWeightsExtra',
_0x555f95;
}();
}
, function(_0x11453a, _0xb2de45, _0x289301) {
'use strict';
_0x289301['d'](_0xb2de45, 'c', function() {
return _0x5572a4;
}),
_0x289301['d'](_0xb2de45, 'b', function() {
return _0x3e8cfe;
}),
_0x289301['d'](_0xb2de45, 'a', function() {
return _0x478f45;
});
var _0x1a9947 = _0x289301(0x8)
, _0x20a51e = _0x289301(0x3)
, _0x1e8d1c = _0x289301(0x23)
, _0x51f87d = _0x289301(0x6)
, _0x5572a4 = function() {
function _0x5843e3() {
this['_defines'] = {},
this['_currentRank'] = 0x20,
this['_maxRank'] = -0x1,
this['_mesh'] = null;
}
return _0x5843e3['prototype']['unBindMesh'] = function() {
this['_mesh'] = null;
}
,
_0x5843e3['prototype']['addFallback'] = function(_0x28664d, _0x8c33ec) {
this['_defines'][_0x28664d] || (_0x28664d < this['_currentRank'] && (this['_currentRank'] = _0x28664d),
_0x28664d > this['_maxRank'] && (this['_maxRank'] = _0x28664d),
this['_defines'][_0x28664d] = new Array()),
this['_defines'][_0x28664d]['push'](_0x8c33ec);
}
,
_0x5843e3['prototype']['addCPUSkinningFallback'] = function(_0x535daf, _0x573c87) {
this['_mesh'] = _0x573c87,
_0x535daf < this['_currentRank'] && (this['_currentRank'] = _0x535daf),
_0x535daf > this['_maxRank'] && (this['_maxRank'] = _0x535daf);
}
,
Object['defineProperty'](_0x5843e3['prototype'], 'isMoreFallbacks', {
'get': function() {
return this['_currentRank'] <= this['_maxRank'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5843e3['prototype']['reduce'] = function(_0x3edd5c, _0x553dca) {
if (this['_mesh'] && this['_mesh']['computeBonesUsingShaders'] && this['_mesh']['numBoneInfluencers'] > 0x0 && this['_mesh']['material']) {
this['_mesh']['computeBonesUsingShaders'] = !0x1,
_0x3edd5c = _0x3edd5c['replace']('#define\x20NUM_BONE_INFLUENCERS\x20' + this['_mesh']['numBoneInfluencers'], '#define\x20NUM_BONE_INFLUENCERS\x200'),
_0x553dca['_bonesComputationForcedToCPU'] = !0x0;
for (var _0x5bd35a = this['_mesh']['getScene'](), _0x2faade = 0x0; _0x2faade < _0x5bd35a['meshes']['length']; _0x2faade++) {
var _0x5c1b6e = _0x5bd35a['meshes'][_0x2faade];
if (_0x5c1b6e['material'] && (_0x5c1b6e['computeBonesUsingShaders'] && 0x0 !== _0x5c1b6e['numBoneInfluencers']))
if (_0x5c1b6e['material']['getEffect']() === _0x553dca)
_0x5c1b6e['computeBonesUsingShaders'] = !0x1;
else if (_0x5c1b6e['subMeshes'])
for (var _0x306028 = 0x0, _0x365276 = _0x5c1b6e['subMeshes']; _0x306028 < _0x365276['length']; _0x306028++) {
if (_0x365276[_0x306028]['effect'] === _0x553dca) {
_0x5c1b6e['computeBonesUsingShaders'] = !0x1;
break;
}
}
}
} else {
var _0x5cc23e = this['_defines'][this['_currentRank']];
if (_0x5cc23e)
for (_0x2faade = 0x0; _0x2faade < _0x5cc23e['length']; _0x2faade++)
_0x3edd5c = _0x3edd5c['replace']('#define\x20' + _0x5cc23e[_0x2faade], '');
this['_currentRank']++;
}
return _0x3edd5c;
}
,
_0x5843e3;
}()
, _0x3e8cfe = function() {
return function() {}
;
}()
, _0x478f45 = function() {
function _0x39d1fb(_0x3372bd, _0x199c50, _0x311e29, _0x48bff4, _0x5d7cec, _0x295414, _0x3f8d63, _0x6ea91b, _0x2eb317, _0x3fa203) {
var _0x2dda73, _0x2872c9, _0x19a86a = this;
if (void 0x0 === _0x48bff4 && (_0x48bff4 = null),
void 0x0 === _0x295414 && (_0x295414 = null),
void 0x0 === _0x3f8d63 && (_0x3f8d63 = null),
void 0x0 === _0x6ea91b && (_0x6ea91b = null),
void 0x0 === _0x2eb317 && (_0x2eb317 = null),
this['name'] = null,
this['defines'] = '',
this['onCompiled'] = null,
this['onError'] = null,
this['onBind'] = null,
this['uniqueId'] = 0x0,
this['onCompileObservable'] = new _0x1a9947['c'](),
this['onErrorObservable'] = new _0x1a9947['c'](),
this['_onBindObservable'] = null,
this['_bonesComputationForcedToCPU'] = !0x1,
this['_uniformBuffersNames'] = {},
this['_samplers'] = {},
this['_isReady'] = !0x1,
this['_compilationError'] = '',
this['_uniforms'] = {},
this['_key'] = '',
this['_fallbacks'] = null,
this['_vertexSourceCode'] = '',
this['_fragmentSourceCode'] = '',
this['_vertexSourceCodeOverride'] = '',
this['_fragmentSourceCodeOverride'] = '',
this['_transformFeedbackVaryings'] = null,
this['_pipelineContext'] = null,
this['_valueCache'] = {},
this['name'] = _0x3372bd,
_0x199c50['attributes']) {
var _0x3172cb = _0x199c50;
if (this['_engine'] = _0x311e29,
this['_attributesNames'] = _0x3172cb['attributes'],
this['_uniformsNames'] = _0x3172cb['uniformsNames']['concat'](_0x3172cb['samplers']),
this['_samplerList'] = _0x3172cb['samplers']['slice'](),
this['defines'] = _0x3172cb['defines'],
this['onError'] = _0x3172cb['onError'],
this['onCompiled'] = _0x3172cb['onCompiled'],
this['_fallbacks'] = _0x3172cb['fallbacks'],
this['_indexParameters'] = _0x3172cb['indexParameters'],
this['_transformFeedbackVaryings'] = _0x3172cb['transformFeedbackVaryings'],
_0x3172cb['uniformBuffersNames'])
for (var _0x14faa5 = 0x0; _0x14faa5 < _0x3172cb['uniformBuffersNames']['length']; _0x14faa5++)
this['_uniformBuffersNames'][_0x3172cb['uniformBuffersNames'][_0x14faa5]] = _0x14faa5;
} else
this['_engine'] = _0x5d7cec,
this['defines'] = null == _0x295414 ? '' : _0x295414,
this['_uniformsNames'] = _0x311e29['concat'](_0x48bff4),
this['_samplerList'] = _0x48bff4 ? _0x48bff4['slice']() : [],
this['_attributesNames'] = _0x199c50,
this['onError'] = _0x2eb317,
this['onCompiled'] = _0x6ea91b,
this['_indexParameters'] = _0x3fa203,
this['_fallbacks'] = _0x3f8d63;
this['uniqueId'] = _0x39d1fb['_uniqueIdSeed']++,
_0x3372bd['vertexElement'] ? (_0x2dda73 = document['getElementById'](_0x3372bd['vertexElement'])) || (_0x2dda73 = _0x3372bd['vertexElement']) : _0x2dda73 = _0x3372bd['vertex'] || _0x3372bd,
_0x3372bd['fragmentElement'] ? (_0x2872c9 = document['getElementById'](_0x3372bd['fragmentElement'])) || (_0x2872c9 = _0x3372bd['fragmentElement']) : _0x2872c9 = _0x3372bd['fragment'] || _0x3372bd,
this['_loadVertexShader'](_0x2dda73, function(_0x1c89e5) {
_0x19a86a['_processIncludes'](_0x1c89e5, function(_0x3c7b90) {
_0x19a86a['_processShaderConversion'](_0x3c7b90, !0x1, function(_0x8853a7) {
_0x19a86a['_loadFragmentShader'](_0x2872c9, function(_0x16623c) {
_0x19a86a['_processIncludes'](_0x16623c, function(_0x529155) {
_0x19a86a['_processShaderConversion'](_0x529155, !0x0, function(_0x26d009) {
if (_0x3372bd) {
var _0x409961 = _0x3372bd['vertexElement'] || _0x3372bd['vertex'] || _0x3372bd
, _0x347af5 = _0x3372bd['fragmentElement'] || _0x3372bd['fragment'] || _0x3372bd;
_0x19a86a['_vertexSourceCode'] = '#define\x20SHADER_NAME\x20vertex:' + _0x409961 + '\x0a' + _0x8853a7,
_0x19a86a['_fragmentSourceCode'] = '#define\x20SHADER_NAME\x20fragment:' + _0x347af5 + '\x0a' + _0x26d009;
} else
_0x19a86a['_vertexSourceCode'] = _0x8853a7,
_0x19a86a['_fragmentSourceCode'] = _0x26d009;
_0x19a86a['_prepareEffect']();
});
});
});
});
});
});
}
return Object['defineProperty'](_0x39d1fb['prototype'], 'onBindObservable', {
'get': function() {
return this['_onBindObservable'] || (this['_onBindObservable'] = new _0x1a9947['c']()),
this['_onBindObservable'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x39d1fb['prototype'], 'key', {
'get': function() {
return this['_key'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x39d1fb['prototype']['isReady'] = function() {
return !!this['_isReady'] || !!this['_pipelineContext'] && this['_pipelineContext']['isReady'];
}
,
_0x39d1fb['prototype']['getEngine'] = function() {
return this['_engine'];
}
,
_0x39d1fb['prototype']['getPipelineContext'] = function() {
return this['_pipelineContext'];
}
,
_0x39d1fb['prototype']['getAttributesNames'] = function() {
return this['_attributesNames'];
}
,
_0x39d1fb['prototype']['getAttributeLocation'] = function(_0x5ab29a) {
return this['_attributes'][_0x5ab29a];
}
,
_0x39d1fb['prototype']['getAttributeLocationByName'] = function(_0x1c91a3) {
var _0x408171 = this['_attributesNames']['indexOf'](_0x1c91a3);
return this['_attributes'][_0x408171];
}
,
_0x39d1fb['prototype']['getAttributesCount'] = function() {
return this['_attributes']['length'];
}
,
_0x39d1fb['prototype']['getUniformIndex'] = function(_0x351047) {
return this['_uniformsNames']['indexOf'](_0x351047);
}
,
_0x39d1fb['prototype']['getUniform'] = function(_0x325a6e) {
return this['_uniforms'][_0x325a6e];
}
,
_0x39d1fb['prototype']['getSamplers'] = function() {
return this['_samplerList'];
}
,
_0x39d1fb['prototype']['getCompilationError'] = function() {
return this['_compilationError'];
}
,
_0x39d1fb['prototype']['executeWhenCompiled'] = function(_0x559ecd) {
var _0x4d35af = this;
this['isReady']() ? _0x559ecd(this) : (this['onCompileObservable']['add'](function(_0x39190e) {
_0x559ecd(_0x39190e);
}),
this['_pipelineContext'] && !this['_pipelineContext']['isAsync'] || setTimeout(function() {
_0x4d35af['_checkIsReady']();
}, 0x10));
}
,
_0x39d1fb['prototype']['_checkIsReady'] = function() {
var _0x5a628c = this;
this['isReady']() || setTimeout(function() {
_0x5a628c['_checkIsReady']();
}, 0x10);
}
,
_0x39d1fb['prototype']['_loadVertexShader'] = function(_0x4ed117, _0x1e69d8) {
var _0x5bcd93;
if (_0x1e8d1c['a']['IsWindowObjectExist']() && _0x4ed117 instanceof HTMLElement)
return void _0x1e69d8(_0x1e8d1c['a']['GetDOMTextContent'](_0x4ed117));
'base64:' !== _0x4ed117['substr'](0x0, 0x7) ? _0x39d1fb['ShadersStore'][_0x4ed117 + 'VertexShader'] ? _0x1e69d8(_0x39d1fb['ShadersStore'][_0x4ed117 + 'VertexShader']) : (_0x5bcd93 = '.' === _0x4ed117[0x0] || '/' === _0x4ed117[0x0] || _0x4ed117['indexOf']('http') > -0x1 ? _0x4ed117 : _0x39d1fb['ShadersRepository'] + _0x4ed117,
this['_engine']['_loadFile'](_0x5bcd93 + '.vertex.fx', _0x1e69d8)) : _0x1e69d8(window['atob'](_0x4ed117['substr'](0x7)));
}
,
_0x39d1fb['prototype']['_loadFragmentShader'] = function(_0x1bb300, _0x2eb39e) {
var _0x267ca8;
if (_0x1e8d1c['a']['IsWindowObjectExist']() && _0x1bb300 instanceof HTMLElement)
return void _0x2eb39e(_0x1e8d1c['a']['GetDOMTextContent'](_0x1bb300));
'base64:' !== _0x1bb300['substr'](0x0, 0x7) ? _0x39d1fb['ShadersStore'][_0x1bb300 + 'PixelShader'] ? _0x2eb39e(_0x39d1fb['ShadersStore'][_0x1bb300 + 'PixelShader']) : _0x39d1fb['ShadersStore'][_0x1bb300 + 'FragmentShader'] ? _0x2eb39e(_0x39d1fb['ShadersStore'][_0x1bb300 + 'FragmentShader']) : (_0x267ca8 = '.' === _0x1bb300[0x0] || '/' === _0x1bb300[0x0] || _0x1bb300['indexOf']('http') > -0x1 ? _0x1bb300 : _0x39d1fb['ShadersRepository'] + _0x1bb300,
this['_engine']['_loadFile'](_0x267ca8 + '.fragment.fx', _0x2eb39e)) : _0x2eb39e(window['atob'](_0x1bb300['substr'](0x7)));
}
,
_0x39d1fb['prototype']['_dumpShadersSource'] = function(_0x220bff, _0x189057, _0x3e78a4) {
var _0x526041 = (this['_engine']['webGLVersion'] > 0x1 ? '#version\x20300\x20es\x0a#define\x20WEBGL2\x20\x0a' : '') + (_0x3e78a4 ? _0x3e78a4 + '\x0a' : '');
_0x189057 = _0x526041 + _0x189057;
var _0xcd9046 = 0x2
, _0x353338 = /\n/gm
, _0x6abd3d = '\x0a1\x09' + (_0x220bff = _0x526041 + _0x220bff)['replace'](_0x353338, function() {
return '\x0a' + _0xcd9046++ + '\x09';
});
_0xcd9046 = 0x2;
var _0x4ee123 = '\x0a1\x09' + _0x189057['replace'](_0x353338, function() {
return '\x0a' + _0xcd9046++ + '\x09';
});
this['name']['vertexElement'] ? (_0x51f87d['a']['Error']('Vertex\x20shader:\x20' + this['name']['vertexElement'] + _0x6abd3d),
_0x51f87d['a']['Error']('Fragment\x20shader:\x20' + this['name']['fragmentElement'] + _0x4ee123)) : this['name']['vertex'] ? (_0x51f87d['a']['Error']('Vertex\x20shader:\x20' + this['name']['vertex'] + _0x6abd3d),
_0x51f87d['a']['Error']('Fragment\x20shader:\x20' + this['name']['fragment'] + _0x4ee123)) : (_0x51f87d['a']['Error']('Vertex\x20shader:\x20' + this['name'] + _0x6abd3d),
_0x51f87d['a']['Error']('Fragment\x20shader:\x20' + this['name'] + _0x4ee123));
}
,
_0x39d1fb['prototype']['_processShaderConversion'] = function(_0x3d9183, _0x3ae77b, _0x1541a7) {
var _0x3d63ac = this['_processPrecision'](_0x3d9183);
if (0x1 != this['_engine']['webGLVersion'])
if (-0x1 === _0x3d63ac['indexOf']('#version\x203')) {
var _0x275251 = -0x1 !== _0x3d63ac['search'](/#extension.+GL_EXT_draw_buffers.+require/)
, _0x3bcb7d = _0x3d63ac['replace'](/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g, '');
_0x3bcb7d = (_0x3bcb7d = (_0x3bcb7d = (_0x3bcb7d = _0x3bcb7d['replace'](/varying(?![\n\r])\s/g, _0x3ae77b ? 'in\x20' : 'out\x20'))['replace'](/attribute[ \t]/g, 'in\x20'))['replace'](/[ \t]attribute/g, '\x20in'))['replace'](/texture2D\s*\(/g, 'texture('),
_0x3ae77b && (_0x3bcb7d = (_0x3bcb7d = (_0x3bcb7d = (_0x3bcb7d = (_0x3bcb7d = (_0x3bcb7d = (_0x3bcb7d = _0x3bcb7d['replace'](/texture2DLodEXT\s*\(/g, 'textureLod('))['replace'](/textureCubeLodEXT\s*\(/g, 'textureLod('))['replace'](/textureCube\s*\(/g, 'texture('))['replace'](/gl_FragDepthEXT/g, 'gl_FragDepth'))['replace'](/gl_FragColor/g, 'glFragColor'))['replace'](/gl_FragData/g, 'glFragData'))['replace'](/void\s+?main\s*\(/g, (_0x275251 ? '' : 'out\x20vec4\x20glFragColor;\x0a') + 'void\x20main(')),
-0x1 !== this['defines']['indexOf']('#define\x20MULTIVIEW\x0a') && !_0x3ae77b && (_0x3bcb7d = '#extension\x20GL_OVR_multiview2\x20:\x20require\x0alayout\x20(num_views\x20=\x202)\x20in;\x0a' + _0x3bcb7d),
_0x1541a7(_0x3bcb7d);
} else
_0x1541a7(_0x3d63ac['replace']('#version\x20300\x20es', ''));
else
_0x1541a7(_0x3d63ac);
}
,
_0x39d1fb['prototype']['_processIncludes'] = function(_0x47e079, _0x127800) {
for (var _0x36d07a = this, _0x15e472 = /#include<(.+)>(\((.*)\))*(\[(.*)\])*/g, _0x2940ec = _0x15e472['exec'](_0x47e079), _0x1c2fdc = new String(_0x47e079); null != _0x2940ec; ) {
var _0x2669ae = _0x2940ec[0x1];
if (-0x1 !== _0x2669ae['indexOf']('__decl__') && (_0x2669ae = _0x2669ae['replace'](/__decl__/, ''),
this['_engine']['supportsUniformBuffers'] && (_0x2669ae = (_0x2669ae = _0x2669ae['replace'](/Vertex/, 'Ubo'))['replace'](/Fragment/, 'Ubo')),
_0x2669ae += 'Declaration'),
!_0x39d1fb['IncludesShadersStore'][_0x2669ae]) {
var _0x2b2c7f = _0x39d1fb['ShadersRepository'] + 'ShadersInclude/' + _0x2669ae + '.fx';
return void this['_engine']['_loadFile'](_0x2b2c7f, function(_0x8079db) {
_0x39d1fb['IncludesShadersStore'][_0x2669ae] = _0x8079db,
_0x36d07a['_processIncludes'](_0x1c2fdc, _0x127800);
});
}
var _0x480773 = _0x39d1fb['IncludesShadersStore'][_0x2669ae];
if (_0x2940ec[0x2])
for (var _0x230616 = _0x2940ec[0x3]['split'](','), _0x10e027 = 0x0; _0x10e027 < _0x230616['length']; _0x10e027 += 0x2) {
var _0x3445ed = new RegExp(_0x230616[_0x10e027],'g')
, _0x32eb47 = _0x230616[_0x10e027 + 0x1];
_0x480773 = _0x480773['replace'](_0x3445ed, _0x32eb47);
}
if (_0x2940ec[0x4]) {
var _0x30c47a = _0x2940ec[0x5];
if (-0x1 !== _0x30c47a['indexOf']('..')) {
var _0x10d390 = _0x30c47a['split']('..')
, _0x21fcde = parseInt(_0x10d390[0x0])
, _0x13e5c2 = parseInt(_0x10d390[0x1])
, _0x5ce630 = _0x480773['slice'](0x0);
_0x480773 = '',
isNaN(_0x13e5c2) && (_0x13e5c2 = this['_indexParameters'][_0x10d390[0x1]]);
for (var _0x137474 = _0x21fcde; _0x137474 < _0x13e5c2; _0x137474++)
this['_engine']['supportsUniformBuffers'] || (_0x5ce630 = _0x5ce630['replace'](/light\{X\}.(\w*)/g, function(_0x59b2f3, _0x2d459c) {
return _0x2d459c + '{X}';
})),
_0x480773 += _0x5ce630['replace'](/\{X\}/g, _0x137474['toString']()) + '\x0a';
} else
this['_engine']['supportsUniformBuffers'] || (_0x480773 = _0x480773['replace'](/light\{X\}.(\w*)/g, function(_0xedac8e, _0x1032e1) {
return _0x1032e1 + '{X}';
})),
_0x480773 = _0x480773['replace'](/\{X\}/g, _0x30c47a);
}
_0x1c2fdc = _0x1c2fdc['replace'](_0x2940ec[0x0], _0x480773),
_0x2940ec = _0x15e472['exec'](_0x47e079);
}
_0x127800(_0x1c2fdc);
}
,
_0x39d1fb['prototype']['_processPrecision'] = function(_0x3367c2) {
var _0x338535 = this['_engine']['_shouldUseHighPrecisionShader'];
return -0x1 === _0x3367c2['indexOf']('precision\x20highp\x20float') ? _0x3367c2 = _0x338535 ? 'precision\x20highp\x20float;\x0a' + _0x3367c2 : 'precision\x20mediump\x20float;\x0a' + _0x3367c2 : _0x338535 || (_0x3367c2 = _0x3367c2['replace']('precision\x20highp\x20float', 'precision\x20mediump\x20float')),
_0x3367c2;
}
,
_0x39d1fb['prototype']['_rebuildProgram'] = function(_0x5eb77d, _0x23edb1, _0x4301c9, _0x13b141) {
var _0x4dabd4 = this;
this['_isReady'] = !0x1,
this['_vertexSourceCodeOverride'] = _0x5eb77d,
this['_fragmentSourceCodeOverride'] = _0x23edb1,
this['onError'] = function(_0x4b3b08, _0x4d2338) {
_0x13b141 && _0x13b141(_0x4d2338);
}
,
this['onCompiled'] = function() {
for (var _0x2b07cb = _0x4dabd4['getEngine']()['scenes'], _0x1c47ed = 0x0; _0x1c47ed < _0x2b07cb['length']; _0x1c47ed++)
_0x2b07cb[_0x1c47ed]['markAllMaterialsAsDirty'](_0x20a51e['a']['MATERIAL_AllDirtyFlag']);
_0x4dabd4['_pipelineContext']['_handlesSpectorRebuildCallback'](_0x4301c9);
}
,
this['_fallbacks'] = null,
this['_prepareEffect']();
}
,
_0x39d1fb['prototype']['_prepareEffect'] = function() {
var _0x34c23c = this
, _0x2df6d1 = this['_attributesNames']
, _0x12f3bd = this['defines']
, _0x5ea16b = this['_fallbacks'];
this['_valueCache'] = {};
var _0x2c04ae = this['_pipelineContext'];
try {
var _0x3b7cb4 = this['_engine'];
this['_pipelineContext'] = _0x3b7cb4['createPipelineContext']();
var _0x566d95 = this['_rebuildProgram']['bind'](this);
this['_vertexSourceCodeOverride'] && this['_fragmentSourceCodeOverride'] ? _0x3b7cb4['_preparePipelineContext'](this['_pipelineContext'], this['_vertexSourceCodeOverride'], this['_fragmentSourceCodeOverride'], !0x0, _0x566d95, null, this['_transformFeedbackVaryings']) : _0x3b7cb4['_preparePipelineContext'](this['_pipelineContext'], this['_vertexSourceCode'], this['_fragmentSourceCode'], !0x1, _0x566d95, _0x12f3bd, this['_transformFeedbackVaryings']),
_0x3b7cb4['_executeWhenRenderingStateIsCompiled'](this['_pipelineContext'], function() {
if (_0x3b7cb4['supportsUniformBuffers'])
for (var _0x199d28 in _0x34c23c['_uniformBuffersNames'])
_0x34c23c['bindUniformBlock'](_0x199d28, _0x34c23c['_uniformBuffersNames'][_0x199d28]);
var _0x2fd5fe;
for (_0x3b7cb4['getUniforms'](_0x34c23c['_pipelineContext'], _0x34c23c['_uniformsNames'])['forEach'](function(_0x48e30b, _0x24c56e) {
_0x34c23c['_uniforms'][_0x34c23c['_uniformsNames'][_0x24c56e]] = _0x48e30b;
}),
_0x34c23c['_attributes'] = _0x3b7cb4['getAttributes'](_0x34c23c['_pipelineContext'], _0x2df6d1),
_0x2fd5fe = 0x0; _0x2fd5fe < _0x34c23c['_samplerList']['length']; _0x2fd5fe++) {
null == _0x34c23c['getUniform'](_0x34c23c['_samplerList'][_0x2fd5fe]) && (_0x34c23c['_samplerList']['splice'](_0x2fd5fe, 0x1),
_0x2fd5fe--);
}
_0x34c23c['_samplerList']['forEach'](function(_0x567200, _0xe8102f) {
_0x34c23c['_samplers'][_0x567200] = _0xe8102f;
}),
_0x3b7cb4['bindSamplers'](_0x34c23c),
_0x34c23c['_compilationError'] = '',
_0x34c23c['_isReady'] = !0x0,
_0x34c23c['onCompiled'] && _0x34c23c['onCompiled'](_0x34c23c),
_0x34c23c['onCompileObservable']['notifyObservers'](_0x34c23c),
_0x34c23c['onCompileObservable']['clear'](),
_0x34c23c['_fallbacks'] && _0x34c23c['_fallbacks']['unBindMesh'](),
_0x2c04ae && _0x34c23c['getEngine']()['_deletePipelineContext'](_0x2c04ae);
}),
this['_pipelineContext']['isAsync'] && this['_checkIsReady']();
} catch (_0x1542d3) {
this['_compilationError'] = _0x1542d3['message'],
_0x51f87d['a']['Error']('Unable\x20to\x20compile\x20effect:'),
_0x51f87d['a']['Error']('Uniforms:\x20' + this['_uniformsNames']['map'](function(_0x3bf66a) {
return '\x20' + _0x3bf66a;
})),
_0x51f87d['a']['Error']('Attributes:\x20' + _0x2df6d1['map'](function(_0x17e3eb) {
return '\x20' + _0x17e3eb;
})),
_0x51f87d['a']['Error']('Error:\x20' + this['_compilationError']),
_0x2c04ae && (this['_pipelineContext'] = _0x2c04ae,
this['_isReady'] = !0x0,
this['onError'] && this['onError'](this, this['_compilationError']),
this['onErrorObservable']['notifyObservers'](this)),
_0x5ea16b && _0x5ea16b['isMoreFallbacks'] ? (_0x51f87d['a']['Error']('Trying\x20next\x20fallback.'),
this['defines'] = _0x5ea16b['reduce'](this['defines'], this),
this['_prepareEffect']()) : (this['onError'] && this['onError'](this, this['_compilationError']),
this['onErrorObservable']['notifyObservers'](this),
this['onErrorObservable']['clear'](),
this['_fallbacks'] && this['_fallbacks']['unBindMesh']());
}
}
,
Object['defineProperty'](_0x39d1fb['prototype'], 'isSupported', {
'get': function() {
return '' === this['_compilationError'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x39d1fb['prototype']['_bindTexture'] = function(_0x595b95, _0x5a6dd9) {
this['_engine']['_bindTexture'](this['_samplers'][_0x595b95], _0x5a6dd9);
}
,
_0x39d1fb['prototype']['setTexture'] = function(_0xc4fec2, _0x1fbec5) {
this['_engine']['setTexture'](this['_samplers'][_0xc4fec2], this['_uniforms'][_0xc4fec2], _0x1fbec5);
}
,
_0x39d1fb['prototype']['setDepthStencilTexture'] = function(_0x1ce0fe, _0x1648c6) {
this['_engine']['setDepthStencilTexture'](this['_samplers'][_0x1ce0fe], this['_uniforms'][_0x1ce0fe], _0x1648c6);
}
,
_0x39d1fb['prototype']['setTextureArray'] = function(_0x4455ae, _0x149db3) {
var _0x3377ad = _0x4455ae + 'Ex';
if (-0x1 === this['_samplerList']['indexOf'](_0x3377ad))
for (var _0x28b544 = this['_samplers'][_0x4455ae], _0x1c41c6 = 0x1; _0x1c41c6 < _0x149db3['length']; _0x1c41c6++)
this['_samplerList']['splice'](_0x28b544 + _0x1c41c6, 0x0, _0x3377ad),
this['_samplers'][_0x3377ad] = _0x28b544 + _0x1c41c6;
this['_engine']['setTextureArray'](this['_samplers'][_0x4455ae], this['_uniforms'][_0x4455ae], _0x149db3);
}
,
_0x39d1fb['prototype']['setTextureFromPostProcess'] = function(_0x460372, _0x477caa) {
this['_engine']['setTextureFromPostProcess'](this['_samplers'][_0x460372], _0x477caa);
}
,
_0x39d1fb['prototype']['setTextureFromPostProcessOutput'] = function(_0x23fea4, _0x5d4186) {
this['_engine']['setTextureFromPostProcessOutput'](this['_samplers'][_0x23fea4], _0x5d4186);
}
,
_0x39d1fb['prototype']['_cacheMatrix'] = function(_0x2dfa44, _0x4959e6) {
var _0x5edab7 = this['_valueCache'][_0x2dfa44]
, _0x2fac51 = _0x4959e6['updateFlag'];
return (void 0x0 === _0x5edab7 || _0x5edab7 !== _0x2fac51) && (this['_valueCache'][_0x2dfa44] = _0x2fac51,
!0x0);
}
,
_0x39d1fb['prototype']['_cacheFloat2'] = function(_0x1203cd, _0x3aed5e, _0x59f2d6) {
var _0x2bc195 = this['_valueCache'][_0x1203cd];
if (!_0x2bc195)
return _0x2bc195 = [_0x3aed5e, _0x59f2d6],
this['_valueCache'][_0x1203cd] = _0x2bc195,
!0x0;
var _0x16e4d5 = !0x1;
return _0x2bc195[0x0] !== _0x3aed5e && (_0x2bc195[0x0] = _0x3aed5e,
_0x16e4d5 = !0x0),
_0x2bc195[0x1] !== _0x59f2d6 && (_0x2bc195[0x1] = _0x59f2d6,
_0x16e4d5 = !0x0),
_0x16e4d5;
}
,
_0x39d1fb['prototype']['_cacheFloat3'] = function(_0x56f450, _0x1ad5df, _0x37cae8, _0x43c00f) {
var _0xd2036c = this['_valueCache'][_0x56f450];
if (!_0xd2036c)
return _0xd2036c = [_0x1ad5df, _0x37cae8, _0x43c00f],
this['_valueCache'][_0x56f450] = _0xd2036c,
!0x0;
var _0x6c5014 = !0x1;
return _0xd2036c[0x0] !== _0x1ad5df && (_0xd2036c[0x0] = _0x1ad5df,
_0x6c5014 = !0x0),
_0xd2036c[0x1] !== _0x37cae8 && (_0xd2036c[0x1] = _0x37cae8,
_0x6c5014 = !0x0),
_0xd2036c[0x2] !== _0x43c00f && (_0xd2036c[0x2] = _0x43c00f,
_0x6c5014 = !0x0),
_0x6c5014;
}
,
_0x39d1fb['prototype']['_cacheFloat4'] = function(_0xc1abe0, _0x3f75b0, _0x7a4399, _0x27b3d4, _0x117a71) {
var _0x1d5086 = this['_valueCache'][_0xc1abe0];
if (!_0x1d5086)
return _0x1d5086 = [_0x3f75b0, _0x7a4399, _0x27b3d4, _0x117a71],
this['_valueCache'][_0xc1abe0] = _0x1d5086,
!0x0;
var _0x246bd1 = !0x1;
return _0x1d5086[0x0] !== _0x3f75b0 && (_0x1d5086[0x0] = _0x3f75b0,
_0x246bd1 = !0x0),
_0x1d5086[0x1] !== _0x7a4399 && (_0x1d5086[0x1] = _0x7a4399,
_0x246bd1 = !0x0),
_0x1d5086[0x2] !== _0x27b3d4 && (_0x1d5086[0x2] = _0x27b3d4,
_0x246bd1 = !0x0),
_0x1d5086[0x3] !== _0x117a71 && (_0x1d5086[0x3] = _0x117a71,
_0x246bd1 = !0x0),
_0x246bd1;
}
,
_0x39d1fb['prototype']['bindUniformBuffer'] = function(_0x2c0016, _0x1afbe2) {
var _0x46d00f = this['_uniformBuffersNames'][_0x1afbe2];
void 0x0 !== _0x46d00f && _0x39d1fb['_baseCache'][_0x46d00f] !== _0x2c0016 && (_0x39d1fb['_baseCache'][_0x46d00f] = _0x2c0016,
this['_engine']['bindUniformBufferBase'](_0x2c0016, _0x46d00f));
}
,
_0x39d1fb['prototype']['bindUniformBlock'] = function(_0x320cc3, _0x53f9e3) {
this['_engine']['bindUniformBlock'](this['_pipelineContext'], _0x320cc3, _0x53f9e3);
}
,
_0x39d1fb['prototype']['setInt'] = function(_0x4b824a, _0x1695d5) {
var _0x1c8cf2 = this['_valueCache'][_0x4b824a];
return void 0x0 !== _0x1c8cf2 && _0x1c8cf2 === _0x1695d5 ? this : (this['_valueCache'][_0x4b824a] = _0x1695d5,
this['_engine']['setInt'](this['_uniforms'][_0x4b824a], _0x1695d5),
this);
}
,
_0x39d1fb['prototype']['setIntArray'] = function(_0x21c37b, _0x118b98) {
return this['_valueCache'][_0x21c37b] = null,
this['_engine']['setIntArray'](this['_uniforms'][_0x21c37b], _0x118b98),
this;
}
,
_0x39d1fb['prototype']['setIntArray2'] = function(_0x32a20f, _0x30fb68) {
return this['_valueCache'][_0x32a20f] = null,
this['_engine']['setIntArray2'](this['_uniforms'][_0x32a20f], _0x30fb68),
this;
}
,
_0x39d1fb['prototype']['setIntArray3'] = function(_0x490e62, _0x3e19a9) {
return this['_valueCache'][_0x490e62] = null,
this['_engine']['setIntArray3'](this['_uniforms'][_0x490e62], _0x3e19a9),
this;
}
,
_0x39d1fb['prototype']['setIntArray4'] = function(_0x2b8549, _0x46712e) {
return this['_valueCache'][_0x2b8549] = null,
this['_engine']['setIntArray4'](this['_uniforms'][_0x2b8549], _0x46712e),
this;
}
,
_0x39d1fb['prototype']['setFloatArray'] = function(_0xe59523, _0x4fa1e6) {
return this['_valueCache'][_0xe59523] = null,
this['_engine']['setFloatArray'](this['_uniforms'][_0xe59523], _0x4fa1e6),
this;
}
,
_0x39d1fb['prototype']['setFloatArray2'] = function(_0x6a138, _0x9fe321) {
return this['_valueCache'][_0x6a138] = null,
this['_engine']['setFloatArray2'](this['_uniforms'][_0x6a138], _0x9fe321),
this;
}
,
_0x39d1fb['prototype']['setFloatArray3'] = function(_0x4b2a43, _0xf2143d) {
return this['_valueCache'][_0x4b2a43] = null,
this['_engine']['setFloatArray3'](this['_uniforms'][_0x4b2a43], _0xf2143d),
this;
}
,
_0x39d1fb['prototype']['setFloatArray4'] = function(_0x3af40b, _0x34bf0e) {
return this['_valueCache'][_0x3af40b] = null,
this['_engine']['setFloatArray4'](this['_uniforms'][_0x3af40b], _0x34bf0e),
this;
}
,
_0x39d1fb['prototype']['setArray'] = function(_0x48b964, _0x3160d2) {
return this['_valueCache'][_0x48b964] = null,
this['_engine']['setArray'](this['_uniforms'][_0x48b964], _0x3160d2),
this;
}
,
_0x39d1fb['prototype']['setArray2'] = function(_0x1573ad, _0x455ab2) {
return this['_valueCache'][_0x1573ad] = null,
this['_engine']['setArray2'](this['_uniforms'][_0x1573ad], _0x455ab2),
this;
}
,
_0x39d1fb['prototype']['setArray3'] = function(_0x3affd, _0x4900ff) {
return this['_valueCache'][_0x3affd] = null,
this['_engine']['setArray3'](this['_uniforms'][_0x3affd], _0x4900ff),
this;
}
,
_0x39d1fb['prototype']['setArray4'] = function(_0x3d8da0, _0x155a4c) {
return this['_valueCache'][_0x3d8da0] = null,
this['_engine']['setArray4'](this['_uniforms'][_0x3d8da0], _0x155a4c),
this;
}
,
_0x39d1fb['prototype']['setMatrices'] = function(_0x272a28, _0x2959d5) {
return _0x2959d5 ? (this['_valueCache'][_0x272a28] = null,
this['_engine']['setMatrices'](this['_uniforms'][_0x272a28], _0x2959d5),
this) : this;
}
,
_0x39d1fb['prototype']['setMatrix'] = function(_0x2cd56b, _0x460144) {
return this['_cacheMatrix'](_0x2cd56b, _0x460144) && this['_engine']['setMatrix'](this['_uniforms'][_0x2cd56b], _0x460144),
this;
}
,
_0x39d1fb['prototype']['setMatrix3x3'] = function(_0x45af8e, _0xd06960) {
return this['_valueCache'][_0x45af8e] = null,
this['_engine']['setMatrix3x3'](this['_uniforms'][_0x45af8e], _0xd06960),
this;
}
,
_0x39d1fb['prototype']['setMatrix2x2'] = function(_0x52939f, _0x230894) {
return this['_valueCache'][_0x52939f] = null,
this['_engine']['setMatrix2x2'](this['_uniforms'][_0x52939f], _0x230894),
this;
}
,
_0x39d1fb['prototype']['setFloat'] = function(_0x4f5bf0, _0x41a361) {
var _0x4dc33d = this['_valueCache'][_0x4f5bf0];
return void 0x0 !== _0x4dc33d && _0x4dc33d === _0x41a361 ? this : (this['_valueCache'][_0x4f5bf0] = _0x41a361,
this['_engine']['setFloat'](this['_uniforms'][_0x4f5bf0], _0x41a361),
this);
}
,
_0x39d1fb['prototype']['setBool'] = function(_0x4fd82b, _0xf08b3c) {
var _0x49fad0 = this['_valueCache'][_0x4fd82b];
return void 0x0 !== _0x49fad0 && _0x49fad0 === _0xf08b3c ? this : (this['_valueCache'][_0x4fd82b] = _0xf08b3c,
this['_engine']['setBool'](this['_uniforms'][_0x4fd82b], _0xf08b3c ? 0x1 : 0x0),
this);
}
,
_0x39d1fb['prototype']['setVector2'] = function(_0x1bebec, _0x57afb7) {
return this['_cacheFloat2'](_0x1bebec, _0x57afb7['x'], _0x57afb7['y']) && this['_engine']['setFloat2'](this['_uniforms'][_0x1bebec], _0x57afb7['x'], _0x57afb7['y']),
this;
}
,
_0x39d1fb['prototype']['setFloat2'] = function(_0x393da1, _0x3c8973, _0x2e39a8) {
return this['_cacheFloat2'](_0x393da1, _0x3c8973, _0x2e39a8) && this['_engine']['setFloat2'](this['_uniforms'][_0x393da1], _0x3c8973, _0x2e39a8),
this;
}
,
_0x39d1fb['prototype']['setVector3'] = function(_0x2a11da, _0x4579d4) {
return this['_cacheFloat3'](_0x2a11da, _0x4579d4['x'], _0x4579d4['y'], _0x4579d4['z']) && this['_engine']['setFloat3'](this['_uniforms'][_0x2a11da], _0x4579d4['x'], _0x4579d4['y'], _0x4579d4['z']),
this;
}
,
_0x39d1fb['prototype']['setFloat3'] = function(_0x28f798, _0x5d31f2, _0x3e19b8, _0x1b2767) {
return this['_cacheFloat3'](_0x28f798, _0x5d31f2, _0x3e19b8, _0x1b2767) && this['_engine']['setFloat3'](this['_uniforms'][_0x28f798], _0x5d31f2, _0x3e19b8, _0x1b2767),
this;
}
,
_0x39d1fb['prototype']['setVector4'] = function(_0x1c5b4f, _0x3b7d19) {
return this['_cacheFloat4'](_0x1c5b4f, _0x3b7d19['x'], _0x3b7d19['y'], _0x3b7d19['z'], _0x3b7d19['w']) && this['_engine']['setFloat4'](this['_uniforms'][_0x1c5b4f], _0x3b7d19['x'], _0x3b7d19['y'], _0x3b7d19['z'], _0x3b7d19['w']),
this;
}
,
_0x39d1fb['prototype']['setFloat4'] = function(_0x582c90, _0x135d25, _0x477114, _0x2af92b, _0x5ac140) {
return this['_cacheFloat4'](_0x582c90, _0x135d25, _0x477114, _0x2af92b, _0x5ac140) && this['_engine']['setFloat4'](this['_uniforms'][_0x582c90], _0x135d25, _0x477114, _0x2af92b, _0x5ac140),
this;
}
,
_0x39d1fb['prototype']['setColor3'] = function(_0x2f2ea8, _0x4e294d) {
return this['_cacheFloat3'](_0x2f2ea8, _0x4e294d['r'], _0x4e294d['g'], _0x4e294d['b']) && this['_engine']['setColor3'](this['_uniforms'][_0x2f2ea8], _0x4e294d),
this;
}
,
_0x39d1fb['prototype']['setColor4'] = function(_0x260a10, _0x10792a, _0x1465a8) {
return this['_cacheFloat4'](_0x260a10, _0x10792a['r'], _0x10792a['g'], _0x10792a['b'], _0x1465a8) && this['_engine']['setColor4'](this['_uniforms'][_0x260a10], _0x10792a, _0x1465a8),
this;
}
,
_0x39d1fb['prototype']['setDirectColor4'] = function(_0x393da2, _0x361e49) {
return this['_cacheFloat4'](_0x393da2, _0x361e49['r'], _0x361e49['g'], _0x361e49['b'], _0x361e49['a']) && this['_engine']['setDirectColor4'](this['_uniforms'][_0x393da2], _0x361e49),
this;
}
,
_0x39d1fb['prototype']['dispose'] = function() {
this['_engine']['_releaseEffect'](this);
}
,
_0x39d1fb['RegisterShader'] = function(_0x3a0d6d, _0x2e8d40, _0x2a6d2c) {
_0x2e8d40 && (_0x39d1fb['ShadersStore'][_0x3a0d6d + 'PixelShader'] = _0x2e8d40),
_0x2a6d2c && (_0x39d1fb['ShadersStore'][_0x3a0d6d + 'VertexShader'] = _0x2a6d2c);
}
,
_0x39d1fb['ResetCache'] = function() {
_0x39d1fb['_baseCache'] = {};
}
,
_0x39d1fb['ShadersRepository'] = 'src/Shaders/',
_0x39d1fb['_uniqueIdSeed'] = 0x0,
_0x39d1fb['_baseCache'] = {},
_0x39d1fb['ShadersStore'] = {},
_0x39d1fb['IncludesShadersStore'] = {},
_0x39d1fb;
}();
}
, function(_0x819878, _0x544379, _0x54bfc0) {
'use strict';
_0x54bfc0['d'](_0x544379, 'a', function() {
return _0x566c42;
});
var _0x566c42 = function() {
function _0x16225b() {}
return _0x16225b['_AddLogEntry'] = function(_0x1847ab) {
_0x16225b['_LogCache'] = _0x1847ab + _0x16225b['_LogCache'],
_0x16225b['OnNewCacheEntry'] && _0x16225b['OnNewCacheEntry'](_0x1847ab);
}
,
_0x16225b['_FormatMessage'] = function(_0x40f7fc) {
var _0x4d18ed = function(_0xec2633) {
return _0xec2633 < 0xa ? '0' + _0xec2633 : '' + _0xec2633;
}
, _0x18d1e9 = new Date();
return '[' + _0x4d18ed(_0x18d1e9['getHours']()) + ':' + _0x4d18ed(_0x18d1e9['getMinutes']()) + ':' + _0x4d18ed(_0x18d1e9['getSeconds']()) + ']:\x20' + _0x40f7fc;
}
,
_0x16225b['_LogDisabled'] = function(_0x35e827) {}
,
_0x16225b['_LogEnabled'] = function(_0x1b0ad8) {
var _0x126ed1 = _0x16225b['_FormatMessage'](_0x1b0ad8);
console['log']('BJS\x20-\x20' + _0x126ed1);
var _0xabfbe5 = '
' + _0x126ed1 + '
';
_0x16225b['_AddLogEntry'](_0xabfbe5);
}
,
_0x16225b['_WarnDisabled'] = function(_0x5908e5) {}
,
_0x16225b['_WarnEnabled'] = function(_0x2292a0) {
var _0x2ffc19 = _0x16225b['_FormatMessage'](_0x2292a0);
console['warn']('BJS\x20-\x20' + _0x2ffc19);
var _0x3dd232 = '' + _0x2ffc19 + '
';
_0x16225b['_AddLogEntry'](_0x3dd232);
}
,
_0x16225b['_ErrorDisabled'] = function(_0x3adf51) {}
,
_0x16225b['_ErrorEnabled'] = function(_0x4a8e03) {
_0x16225b['errorsCount']++;
var _0x2d261d = _0x16225b['_FormatMessage'](_0x4a8e03);
console['error']('BJS\x20-\x20' + _0x2d261d);
var _0x56460d = '' + _0x2d261d + '
';
_0x16225b['_AddLogEntry'](_0x56460d);
}
,
Object['defineProperty'](_0x16225b, 'LogCache', {
'get': function() {
return _0x16225b['_LogCache'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x16225b['ClearLogCache'] = function() {
_0x16225b['_LogCache'] = '',
_0x16225b['errorsCount'] = 0x0;
}
,
Object['defineProperty'](_0x16225b, 'LogLevels', {
'set': function(_0x3eb66f) {
(_0x3eb66f & _0x16225b['MessageLogLevel']) === _0x16225b['MessageLogLevel'] ? _0x16225b['Log'] = _0x16225b['_LogEnabled'] : _0x16225b['Log'] = _0x16225b['_LogDisabled'],
(_0x3eb66f & _0x16225b['WarningLogLevel']) === _0x16225b['WarningLogLevel'] ? _0x16225b['Warn'] = _0x16225b['_WarnEnabled'] : _0x16225b['Warn'] = _0x16225b['_WarnDisabled'],
(_0x3eb66f & _0x16225b['ErrorLogLevel']) === _0x16225b['ErrorLogLevel'] ? _0x16225b['Error'] = _0x16225b['_ErrorEnabled'] : _0x16225b['Error'] = _0x16225b['_ErrorDisabled'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x16225b['NoneLogLevel'] = 0x0,
_0x16225b['MessageLogLevel'] = 0x1,
_0x16225b['WarningLogLevel'] = 0x2,
_0x16225b['ErrorLogLevel'] = 0x4,
_0x16225b['AllLogLevel'] = 0x7,
_0x16225b['_LogCache'] = '',
_0x16225b['errorsCount'] = 0x0,
_0x16225b['Log'] = _0x16225b['_LogEnabled'],
_0x16225b['Warn'] = _0x16225b['_WarnEnabled'],
_0x16225b['Error'] = _0x16225b['_ErrorEnabled'],
_0x16225b;
}();
}
, function(_0x10df5b, _0x42ddd3, _0x4654a8) {
'use strict';
_0x4654a8['d'](_0x42ddd3, 'a', function() {
return _0x281880;
});
var _0x17015b = _0x4654a8(0x1)
, _0x9d2a2d = _0x4654a8(0x2)
, _0x2b4355 = _0x4654a8(0x8)
, _0x292450 = _0x4654a8(0x9)
, _0x261146 = _0x4654a8(0x0)
, _0x40afb4 = _0x4654a8(0x2c)
, _0x5d6dab = _0x4654a8(0x3)
, _0x2eccda = _0x4654a8(0x16)
, _0x3b0ffe = _0x4654a8(0x13)
, _0x281880 = function(_0x173745) {
function _0x419ce6(_0x22d610, _0x2e2176, _0x17459f, _0xbf91df, _0x46090d, _0x5d20cc, _0x4b4ffa, _0x361c90, _0x56370f, _0x4b108e) {
void 0x0 === _0x17459f && (_0x17459f = !0x1),
void 0x0 === _0xbf91df && (_0xbf91df = !0x0),
void 0x0 === _0x46090d && (_0x46090d = _0x419ce6['TRILINEAR_SAMPLINGMODE']),
void 0x0 === _0x5d20cc && (_0x5d20cc = null),
void 0x0 === _0x4b4ffa && (_0x4b4ffa = null),
void 0x0 === _0x361c90 && (_0x361c90 = null),
void 0x0 === _0x56370f && (_0x56370f = !0x1);
var _0x1113ff = _0x173745['call'](this, _0x2e2176) || this;
if (_0x1113ff['url'] = null,
_0x1113ff['uOffset'] = 0x0,
_0x1113ff['vOffset'] = 0x0,
_0x1113ff['uScale'] = 0x1,
_0x1113ff['vScale'] = 0x1,
_0x1113ff['uAng'] = 0x0,
_0x1113ff['vAng'] = 0x0,
_0x1113ff['wAng'] = 0x0,
_0x1113ff['uRotationCenter'] = 0.5,
_0x1113ff['vRotationCenter'] = 0.5,
_0x1113ff['wRotationCenter'] = 0.5,
_0x1113ff['inspectableCustomProperties'] = null,
_0x1113ff['_noMipmap'] = !0x1,
_0x1113ff['_invertY'] = !0x1,
_0x1113ff['_rowGenerationMatrix'] = null,
_0x1113ff['_cachedTextureMatrix'] = null,
_0x1113ff['_projectionModeMatrix'] = null,
_0x1113ff['_t0'] = null,
_0x1113ff['_t1'] = null,
_0x1113ff['_t2'] = null,
_0x1113ff['_cachedUOffset'] = -0x1,
_0x1113ff['_cachedVOffset'] = -0x1,
_0x1113ff['_cachedUScale'] = 0x0,
_0x1113ff['_cachedVScale'] = 0x0,
_0x1113ff['_cachedUAng'] = -0x1,
_0x1113ff['_cachedVAng'] = -0x1,
_0x1113ff['_cachedWAng'] = -0x1,
_0x1113ff['_cachedProjectionMatrixId'] = -0x1,
_0x1113ff['_cachedCoordinatesMode'] = -0x1,
_0x1113ff['_initialSamplingMode'] = _0x419ce6['BILINEAR_SAMPLINGMODE'],
_0x1113ff['_buffer'] = null,
_0x1113ff['_deleteBuffer'] = !0x1,
_0x1113ff['_format'] = null,
_0x1113ff['_delayedOnLoad'] = null,
_0x1113ff['_delayedOnError'] = null,
_0x1113ff['onLoadObservable'] = new _0x2b4355['c'](),
_0x1113ff['_isBlocking'] = !0x0,
_0x1113ff['name'] = _0x22d610 || '',
_0x1113ff['url'] = _0x22d610,
_0x1113ff['_noMipmap'] = _0x17459f,
_0x1113ff['_invertY'] = _0xbf91df,
_0x1113ff['_initialSamplingMode'] = _0x46090d,
_0x1113ff['_buffer'] = _0x361c90,
_0x1113ff['_deleteBuffer'] = _0x56370f,
_0x4b108e && (_0x1113ff['_format'] = _0x4b108e),
!(_0x2e2176 = _0x1113ff['getScene']()))
return _0x1113ff;
_0x2e2176['getEngine']()['onBeforeTextureInitObservable']['notifyObservers'](_0x1113ff);
var _0x58c17f = function() {
_0x1113ff['_texture'] && _0x1113ff['_texture']['_invertVScale'] && (_0x1113ff['vScale'] = -0x1),
_0x1113ff['onLoadObservable']['hasObservers']() && _0x1113ff['onLoadObservable']['notifyObservers'](_0x1113ff),
_0x5d20cc && _0x5d20cc(),
!_0x1113ff['isBlocking'] && _0x2e2176 && _0x2e2176['resetCachedMaterial']();
};
return _0x1113ff['url'] ? (_0x1113ff['_texture'] = _0x1113ff['_getFromCache'](_0x1113ff['url'], _0x17459f, _0x46090d, _0xbf91df),
_0x1113ff['_texture'] ? _0x1113ff['_texture']['isReady'] ? _0x292450['h']['SetImmediate'](function() {
return _0x58c17f();
}) : _0x1113ff['_texture']['onLoadedObservable']['add'](_0x58c17f) : _0x2e2176['useDelayedTextureLoading'] ? (_0x1113ff['delayLoadState'] = _0x5d6dab['a']['DELAYLOADSTATE_NOTLOADED'],
_0x1113ff['_delayedOnLoad'] = _0x58c17f,
_0x1113ff['_delayedOnError'] = _0x4b4ffa) : (_0x1113ff['_texture'] = _0x2e2176['getEngine']()['createTexture'](_0x1113ff['url'], _0x17459f, _0xbf91df, _0x2e2176, _0x46090d, _0x58c17f, _0x4b4ffa, _0x1113ff['_buffer'], void 0x0, _0x1113ff['_format']),
_0x56370f && delete _0x1113ff['_buffer']),
_0x1113ff) : (_0x1113ff['_delayedOnLoad'] = _0x58c17f,
_0x1113ff['_delayedOnError'] = _0x4b4ffa,
_0x1113ff);
}
return _0x17015b['d'](_0x419ce6, _0x173745),
Object['defineProperty'](_0x419ce6['prototype'], 'noMipmap', {
'get': function() {
return this['_noMipmap'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x419ce6['prototype'], 'isBlocking', {
'get': function() {
return this['_isBlocking'];
},
'set': function(_0x13fb84) {
this['_isBlocking'] = _0x13fb84;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x419ce6['prototype'], 'samplingMode', {
'get': function() {
return this['_texture'] ? this['_texture']['samplingMode'] : this['_initialSamplingMode'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x419ce6['prototype'], 'invertY', {
'get': function() {
return this['_invertY'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x419ce6['prototype']['updateURL'] = function(_0x33300e, _0x2239b4, _0x18390a) {
void 0x0 === _0x2239b4 && (_0x2239b4 = null),
this['url'] && (this['releaseInternalTexture'](),
this['getScene']()['markAllMaterialsAsDirty'](_0x5d6dab['a']['MATERIAL_TextureDirtyFlag'])),
this['url'] = _0x33300e,
this['_buffer'] = _0x2239b4,
this['delayLoadState'] = _0x5d6dab['a']['DELAYLOADSTATE_NOTLOADED'],
_0x18390a && (this['_delayedOnLoad'] = _0x18390a),
this['delayLoad']();
}
,
_0x419ce6['prototype']['delayLoad'] = function() {
if (this['delayLoadState'] === _0x5d6dab['a']['DELAYLOADSTATE_NOTLOADED']) {
var _0x805abb = this['getScene']();
_0x805abb && (this['delayLoadState'] = _0x5d6dab['a']['DELAYLOADSTATE_LOADED'],
this['_texture'] = this['_getFromCache'](this['url'], this['_noMipmap'], this['samplingMode'], this['_invertY']),
this['_texture'] ? this['_delayedOnLoad'] && (this['_texture']['isReady'] ? _0x292450['h']['SetImmediate'](this['_delayedOnLoad']) : this['_texture']['onLoadedObservable']['add'](this['_delayedOnLoad'])) : (this['_texture'] = _0x805abb['getEngine']()['createTexture'](this['url'], this['_noMipmap'], this['_invertY'], _0x805abb, this['samplingMode'], this['_delayedOnLoad'], this['_delayedOnError'], this['_buffer'], null, this['_format']),
this['_deleteBuffer'] && delete this['_buffer']),
this['_delayedOnLoad'] = null,
this['_delayedOnError'] = null);
}
}
,
_0x419ce6['prototype']['_prepareRowForTextureGeneration'] = function(_0x9c6d23, _0x61c9d6, _0x3098d5, _0x339726) {
_0x9c6d23 *= this['uScale'],
_0x61c9d6 *= this['vScale'],
_0x9c6d23 -= this['uRotationCenter'] * this['uScale'],
_0x61c9d6 -= this['vRotationCenter'] * this['vScale'],
_0x3098d5 -= this['wRotationCenter'],
_0x261146['x']['TransformCoordinatesFromFloatsToRef'](_0x9c6d23, _0x61c9d6, _0x3098d5, this['_rowGenerationMatrix'], _0x339726),
_0x339726['x'] += this['uRotationCenter'] * this['uScale'] + this['uOffset'],
_0x339726['y'] += this['vRotationCenter'] * this['vScale'] + this['vOffset'],
_0x339726['z'] += this['wRotationCenter'];
}
,
_0x419ce6['prototype']['getTextureMatrix'] = function() {
var _0x3141d7 = this;
if (this['uOffset'] === this['_cachedUOffset'] && this['vOffset'] === this['_cachedVOffset'] && this['uScale'] === this['_cachedUScale'] && this['vScale'] === this['_cachedVScale'] && this['uAng'] === this['_cachedUAng'] && this['vAng'] === this['_cachedVAng'] && this['wAng'] === this['_cachedWAng'])
return this['_cachedTextureMatrix'];
this['_cachedUOffset'] = this['uOffset'],
this['_cachedVOffset'] = this['vOffset'],
this['_cachedUScale'] = this['uScale'],
this['_cachedVScale'] = this['vScale'],
this['_cachedUAng'] = this['uAng'],
this['_cachedVAng'] = this['vAng'],
this['_cachedWAng'] = this['wAng'],
this['_cachedTextureMatrix'] || (this['_cachedTextureMatrix'] = _0x261146['j']['Zero'](),
this['_rowGenerationMatrix'] = new _0x261146['j'](),
this['_t0'] = _0x261146['x']['Zero'](),
this['_t1'] = _0x261146['x']['Zero'](),
this['_t2'] = _0x261146['x']['Zero']()),
_0x261146['j']['RotationYawPitchRollToRef'](this['vAng'], this['uAng'], this['wAng'], this['_rowGenerationMatrix']),
this['_prepareRowForTextureGeneration'](0x0, 0x0, 0x0, this['_t0']),
this['_prepareRowForTextureGeneration'](0x1, 0x0, 0x0, this['_t1']),
this['_prepareRowForTextureGeneration'](0x0, 0x1, 0x0, this['_t2']),
this['_t1']['subtractInPlace'](this['_t0']),
this['_t2']['subtractInPlace'](this['_t0']),
_0x261146['j']['FromValuesToRef'](this['_t1']['x'], this['_t1']['y'], this['_t1']['z'], 0x0, this['_t2']['x'], this['_t2']['y'], this['_t2']['z'], 0x0, this['_t0']['x'], this['_t0']['y'], this['_t0']['z'], 0x0, 0x0, 0x0, 0x0, 0x1, this['_cachedTextureMatrix']);
var _0x52d6c8 = this['getScene']();
return _0x52d6c8 ? (_0x52d6c8['markAllMaterialsAsDirty'](_0x5d6dab['a']['MATERIAL_TextureDirtyFlag'], function(_0x5a550d) {
return _0x5a550d['hasTexture'](_0x3141d7);
}),
this['_cachedTextureMatrix']) : this['_cachedTextureMatrix'];
}
,
_0x419ce6['prototype']['getReflectionTextureMatrix'] = function() {
var _0x32d1d3 = this
, _0x48780b = this['getScene']();
if (!_0x48780b)
return this['_cachedTextureMatrix'];
if (this['uOffset'] === this['_cachedUOffset'] && this['vOffset'] === this['_cachedVOffset'] && this['uScale'] === this['_cachedUScale'] && this['vScale'] === this['_cachedVScale'] && this['coordinatesMode'] === this['_cachedCoordinatesMode']) {
if (this['coordinatesMode'] !== _0x419ce6['PROJECTION_MODE'])
return this['_cachedTextureMatrix'];
if (this['_cachedProjectionMatrixId'] === _0x48780b['getProjectionMatrix']()['updateFlag'])
return this['_cachedTextureMatrix'];
}
switch (this['_cachedTextureMatrix'] || (this['_cachedTextureMatrix'] = _0x261146['j']['Zero']()),
this['_projectionModeMatrix'] || (this['_projectionModeMatrix'] = _0x261146['j']['Zero']()),
this['_cachedUOffset'] = this['uOffset'],
this['_cachedVOffset'] = this['vOffset'],
this['_cachedUScale'] = this['uScale'],
this['_cachedVScale'] = this['vScale'],
this['_cachedCoordinatesMode'] = this['coordinatesMode'],
this['coordinatesMode']) {
case _0x419ce6['PLANAR_MODE']:
_0x261146['j']['IdentityToRef'](this['_cachedTextureMatrix']),
this['_cachedTextureMatrix'][0x0] = this['uScale'],
this['_cachedTextureMatrix'][0x5] = this['vScale'],
this['_cachedTextureMatrix'][0xc] = this['uOffset'],
this['_cachedTextureMatrix'][0xd] = this['vOffset'];
break;
case _0x419ce6['PROJECTION_MODE']:
_0x261146['j']['FromValuesToRef'](0.5, 0x0, 0x0, 0x0, 0x0, -0.5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0.5, 0.5, 0x1, 0x1, this['_projectionModeMatrix']);
var _0x3bdddd = _0x48780b['getProjectionMatrix']();
this['_cachedProjectionMatrixId'] = _0x3bdddd['updateFlag'],
_0x3bdddd['multiplyToRef'](this['_projectionModeMatrix'], this['_cachedTextureMatrix']);
break;
default:
_0x261146['j']['IdentityToRef'](this['_cachedTextureMatrix']);
}
return _0x48780b['markAllMaterialsAsDirty'](_0x5d6dab['a']['MATERIAL_TextureDirtyFlag'], function(_0x1b46cd) {
return -0x1 !== _0x1b46cd['getActiveTextures']()['indexOf'](_0x32d1d3);
}),
this['_cachedTextureMatrix'];
}
,
_0x419ce6['prototype']['clone'] = function() {
var _0x2cbb42 = this;
return _0x9d2a2d['a']['Clone'](function() {
return new _0x419ce6(_0x2cbb42['_texture'] ? _0x2cbb42['_texture']['url'] : null,_0x2cbb42['getScene'](),_0x2cbb42['_noMipmap'],_0x2cbb42['_invertY'],_0x2cbb42['samplingMode'],void 0x0,void 0x0,_0x2cbb42['_texture'] ? _0x2cbb42['_texture']['_buffer'] : void 0x0);
}, this);
}
,
_0x419ce6['prototype']['serialize'] = function() {
var _0x337ffd = _0x173745['prototype']['serialize']['call'](this);
return 'string' == typeof this['_buffer'] && 'data:' === this['_buffer']['substr'](0x0, 0x5) && (_0x337ffd['base64String'] = this['_buffer'],
_0x337ffd['name'] = _0x337ffd['name']['replace']('data:', '')),
_0x337ffd['invertY'] = this['_invertY'],
_0x337ffd['samplingMode'] = this['samplingMode'],
_0x337ffd;
}
,
_0x419ce6['prototype']['getClassName'] = function() {
return 'Texture';
}
,
_0x419ce6['prototype']['dispose'] = function() {
_0x173745['prototype']['dispose']['call'](this),
this['onLoadObservable']['clear'](),
this['_delayedOnLoad'] = null,
this['_delayedOnError'] = null;
}
,
_0x419ce6['Parse'] = function(_0x489b01, _0x9e889e, _0x59b518) {
if (_0x489b01['customType']) {
var _0x242736 = _0x292450['h']['Instantiate'](_0x489b01['customType'])['Parse'](_0x489b01, _0x9e889e, _0x59b518);
return _0x489b01['samplingMode'] && _0x242736['updateSamplingMode'] && _0x242736['_samplingMode'] && _0x242736['_samplingMode'] !== _0x489b01['samplingMode'] && _0x242736['updateSamplingMode'](_0x489b01['samplingMode']),
_0x242736;
}
if (_0x489b01['isCube'] && !_0x489b01['isRenderTarget'])
return _0x419ce6['_CubeTextureParser'](_0x489b01, _0x9e889e, _0x59b518);
if (!_0x489b01['name'] && !_0x489b01['isRenderTarget'])
return null;
var _0x1f80c3 = _0x9d2a2d['a']['Parse'](function() {
var _0x1b4290, _0x26395a = !0x0;
if (_0x489b01['noMipmap'] && (_0x26395a = !0x1),
_0x489b01['mirrorPlane']) {
var _0x45871a = _0x419ce6['_CreateMirror'](_0x489b01['name'], _0x489b01['renderTargetSize'], _0x9e889e, _0x26395a);
return _0x45871a['_waitingRenderList'] = _0x489b01['renderList'],
_0x45871a['mirrorPlane'] = _0x261146['n']['FromArray'](_0x489b01['mirrorPlane']),
_0x45871a;
}
if (_0x489b01['isRenderTarget']) {
var _0xf4f08e = null;
if (_0x489b01['isCube']) {
if (_0x9e889e['reflectionProbes'])
for (var _0x29ad57 = 0x0; _0x29ad57 < _0x9e889e['reflectionProbes']['length']; _0x29ad57++) {
var _0x14fedf = _0x9e889e['reflectionProbes'][_0x29ad57];
if (_0x14fedf['name'] === _0x489b01['name'])
return _0x14fedf['cubeTexture'];
}
} else
(_0xf4f08e = _0x419ce6['_CreateRenderTargetTexture'](_0x489b01['name'], _0x489b01['renderTargetSize'], _0x9e889e, _0x26395a))['_waitingRenderList'] = _0x489b01['renderList'];
return _0xf4f08e;
}
if (_0x489b01['base64String'])
_0x1b4290 = _0x419ce6['CreateFromBase64String'](_0x489b01['base64String'], _0x489b01['name'], _0x9e889e, !_0x26395a);
else {
var _0xd10fd1 = _0x59b518 + _0x489b01['name'];
_0x419ce6['UseSerializedUrlIfAny'] && _0x489b01['url'] && (_0xd10fd1 = _0x489b01['url']),
_0x1b4290 = new _0x419ce6(_0xd10fd1,_0x9e889e,!_0x26395a,_0x489b01['invertY']);
}
return _0x1b4290;
}, _0x489b01, _0x9e889e);
if (_0x489b01['samplingMode']) {
var _0x7c0f5d = _0x489b01['samplingMode'];
_0x1f80c3 && _0x1f80c3['samplingMode'] !== _0x7c0f5d && _0x1f80c3['updateSamplingMode'](_0x7c0f5d);
}
if (_0x1f80c3 && _0x489b01['animations'])
for (var _0x144145 = 0x0; _0x144145 < _0x489b01['animations']['length']; _0x144145++) {
var _0x1d11fe = _0x489b01['animations'][_0x144145]
, _0x50e317 = _0x2eccda['a']['GetClass']('BABYLON.Animation');
_0x50e317 && _0x1f80c3['animations']['push'](_0x50e317['Parse'](_0x1d11fe));
}
return _0x1f80c3;
}
,
_0x419ce6['CreateFromBase64String'] = function(_0x556a7f, _0x20f6b9, _0x29711b, _0x21158a, _0x8b7272, _0x21d846, _0x492c3a, _0x37ec2d, _0x579ef4) {
return void 0x0 === _0x21d846 && (_0x21d846 = _0x419ce6['TRILINEAR_SAMPLINGMODE']),
void 0x0 === _0x492c3a && (_0x492c3a = null),
void 0x0 === _0x37ec2d && (_0x37ec2d = null),
void 0x0 === _0x579ef4 && (_0x579ef4 = _0x5d6dab['a']['TEXTUREFORMAT_RGBA']),
new _0x419ce6('data:' + _0x20f6b9,_0x29711b,_0x21158a,_0x8b7272,_0x21d846,_0x492c3a,_0x37ec2d,_0x556a7f,!0x1,_0x579ef4);
}
,
_0x419ce6['LoadFromDataString'] = function(_0x3163f0, _0x19e261, _0x1d8838, _0x23a305, _0x3e9733, _0x674355, _0xac2125, _0x3ca386, _0x243944, _0x48ef0c) {
return void 0x0 === _0x23a305 && (_0x23a305 = !0x1),
void 0x0 === _0x3e9733 && (_0x3e9733 = !0x1),
void 0x0 === _0x674355 && (_0x674355 = !0x0),
void 0x0 === _0xac2125 && (_0xac2125 = _0x419ce6['TRILINEAR_SAMPLINGMODE']),
void 0x0 === _0x3ca386 && (_0x3ca386 = null),
void 0x0 === _0x243944 && (_0x243944 = null),
void 0x0 === _0x48ef0c && (_0x48ef0c = _0x5d6dab['a']['TEXTUREFORMAT_RGBA']),
'data:' !== _0x3163f0['substr'](0x0, 0x5) && (_0x3163f0 = 'data:' + _0x3163f0),
new _0x419ce6(_0x3163f0,_0x1d8838,_0x3e9733,_0x674355,_0xac2125,_0x3ca386,_0x243944,_0x19e261,_0x23a305,_0x48ef0c);
}
,
_0x419ce6['_CubeTextureParser'] = function(_0x23ff05, _0x14f08a, _0xa0b4d6) {
throw _0x3b0ffe['a']['WarnImport']('CubeTexture');
}
,
_0x419ce6['_CreateMirror'] = function(_0x37cdda, _0x138220, _0x504b24, _0x282eef) {
throw _0x3b0ffe['a']['WarnImport']('MirrorTexture');
}
,
_0x419ce6['_CreateRenderTargetTexture'] = function(_0x4dd686, _0x3bbb76, _0x37f51d, _0x2914f0) {
throw _0x3b0ffe['a']['WarnImport']('RenderTargetTexture');
}
,
_0x419ce6['NEAREST_SAMPLINGMODE'] = _0x5d6dab['a']['TEXTURE_NEAREST_SAMPLINGMODE'],
_0x419ce6['NEAREST_NEAREST_MIPLINEAR'] = _0x5d6dab['a']['TEXTURE_NEAREST_NEAREST_MIPLINEAR'],
_0x419ce6['BILINEAR_SAMPLINGMODE'] = _0x5d6dab['a']['TEXTURE_BILINEAR_SAMPLINGMODE'],
_0x419ce6['LINEAR_LINEAR_MIPNEAREST'] = _0x5d6dab['a']['TEXTURE_LINEAR_LINEAR_MIPNEAREST'],
_0x419ce6['TRILINEAR_SAMPLINGMODE'] = _0x5d6dab['a']['TEXTURE_TRILINEAR_SAMPLINGMODE'],
_0x419ce6['LINEAR_LINEAR_MIPLINEAR'] = _0x5d6dab['a']['TEXTURE_LINEAR_LINEAR_MIPLINEAR'],
_0x419ce6['NEAREST_NEAREST_MIPNEAREST'] = _0x5d6dab['a']['TEXTURE_NEAREST_NEAREST_MIPNEAREST'],
_0x419ce6['NEAREST_LINEAR_MIPNEAREST'] = _0x5d6dab['a']['TEXTURE_NEAREST_LINEAR_MIPNEAREST'],
_0x419ce6['NEAREST_LINEAR_MIPLINEAR'] = _0x5d6dab['a']['TEXTURE_NEAREST_LINEAR_MIPLINEAR'],
_0x419ce6['NEAREST_LINEAR'] = _0x5d6dab['a']['TEXTURE_NEAREST_LINEAR'],
_0x419ce6['NEAREST_NEAREST'] = _0x5d6dab['a']['TEXTURE_NEAREST_NEAREST'],
_0x419ce6['LINEAR_NEAREST_MIPNEAREST'] = _0x5d6dab['a']['TEXTURE_LINEAR_NEAREST_MIPNEAREST'],
_0x419ce6['LINEAR_NEAREST_MIPLINEAR'] = _0x5d6dab['a']['TEXTURE_LINEAR_NEAREST_MIPLINEAR'],
_0x419ce6['LINEAR_LINEAR'] = _0x5d6dab['a']['TEXTURE_LINEAR_LINEAR'],
_0x419ce6['LINEAR_NEAREST'] = _0x5d6dab['a']['TEXTURE_LINEAR_NEAREST'],
_0x419ce6['EXPLICIT_MODE'] = _0x5d6dab['a']['TEXTURE_EXPLICIT_MODE'],
_0x419ce6['SPHERICAL_MODE'] = _0x5d6dab['a']['TEXTURE_SPHERICAL_MODE'],
_0x419ce6['PLANAR_MODE'] = _0x5d6dab['a']['TEXTURE_PLANAR_MODE'],
_0x419ce6['CUBIC_MODE'] = _0x5d6dab['a']['TEXTURE_CUBIC_MODE'],
_0x419ce6['PROJECTION_MODE'] = _0x5d6dab['a']['TEXTURE_PROJECTION_MODE'],
_0x419ce6['SKYBOX_MODE'] = _0x5d6dab['a']['TEXTURE_SKYBOX_MODE'],
_0x419ce6['INVCUBIC_MODE'] = _0x5d6dab['a']['TEXTURE_INVCUBIC_MODE'],
_0x419ce6['EQUIRECTANGULAR_MODE'] = _0x5d6dab['a']['TEXTURE_EQUIRECTANGULAR_MODE'],
_0x419ce6['FIXED_EQUIRECTANGULAR_MODE'] = _0x5d6dab['a']['TEXTURE_FIXED_EQUIRECTANGULAR_MODE'],
_0x419ce6['FIXED_EQUIRECTANGULAR_MIRRORED_MODE'] = _0x5d6dab['a']['TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE'],
_0x419ce6['CLAMP_ADDRESSMODE'] = _0x5d6dab['a']['TEXTURE_CLAMP_ADDRESSMODE'],
_0x419ce6['WRAP_ADDRESSMODE'] = _0x5d6dab['a']['TEXTURE_WRAP_ADDRESSMODE'],
_0x419ce6['MIRROR_ADDRESSMODE'] = _0x5d6dab['a']['TEXTURE_MIRROR_ADDRESSMODE'],
_0x419ce6['UseSerializedUrlIfAny'] = !0x1,
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'url', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'uOffset', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'vOffset', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'uScale', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'vScale', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'uAng', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'vAng', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'wAng', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'uRotationCenter', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'vRotationCenter', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'wRotationCenter', void 0x0),
_0x17015b['c']([Object(_0x9d2a2d['c'])()], _0x419ce6['prototype'], 'isBlocking', null),
_0x419ce6;
}(_0x40afb4['a']);
_0x9d2a2d['a']['_TextureParser'] = _0x281880['Parse'];
}
, function(_0x2bd5e2, _0x8cad38, _0x5592ae) {
'use strict';
_0x5592ae['d'](_0x8cad38, 'a', function() {
return _0x1f73e5;
}),
_0x5592ae['d'](_0x8cad38, 'd', function() {
return _0x2c4aa9;
}),
_0x5592ae['d'](_0x8cad38, 'b', function() {
return _0x24057a;
}),
_0x5592ae['d'](_0x8cad38, 'c', function() {
return _0x35f06d;
});
var _0x1f73e5 = function() {
function _0x2e31d0(_0x2eacbc, _0x24a62d, _0xaf2635, _0x130de4) {
void 0x0 === _0x24a62d && (_0x24a62d = !0x1),
this['initalize'](_0x2eacbc, _0x24a62d, _0xaf2635, _0x130de4);
}
return _0x2e31d0['prototype']['initalize'] = function(_0x14cd8e, _0x56118e, _0x2015aa, _0x21f10c) {
return void 0x0 === _0x56118e && (_0x56118e = !0x1),
this['mask'] = _0x14cd8e,
this['skipNextObservers'] = _0x56118e,
this['target'] = _0x2015aa,
this['currentTarget'] = _0x21f10c,
this;
}
,
_0x2e31d0;
}()
, _0x2c4aa9 = function() {
return function(_0x2f9ab5, _0x358aa4, _0x30ad64) {
void 0x0 === _0x30ad64 && (_0x30ad64 = null),
this['callback'] = _0x2f9ab5,
this['mask'] = _0x358aa4,
this['scope'] = _0x30ad64,
this['_willBeUnregistered'] = !0x1,
this['unregisterOnNextCall'] = !0x1;
}
;
}()
, _0x24057a = function() {
function _0x10337b() {}
return _0x10337b['prototype']['dispose'] = function() {
if (this['_observers'] && this['_observables'])
for (var _0x4ea134 = 0x0; _0x4ea134 < this['_observers']['length']; _0x4ea134++)
this['_observables'][_0x4ea134]['remove'](this['_observers'][_0x4ea134]);
this['_observers'] = null,
this['_observables'] = null;
}
,
_0x10337b['Watch'] = function(_0x308f8d, _0x219532, _0xd16321, _0x3dc1e1) {
void 0x0 === _0xd16321 && (_0xd16321 = -0x1),
void 0x0 === _0x3dc1e1 && (_0x3dc1e1 = null);
var _0x114a61 = new _0x10337b();
_0x114a61['_observers'] = new Array(),
_0x114a61['_observables'] = _0x308f8d;
for (var _0x12bfa4 = 0x0, _0x231210 = _0x308f8d; _0x12bfa4 < _0x231210['length']; _0x12bfa4++) {
var _0x10240f = _0x231210[_0x12bfa4]['add'](_0x219532, _0xd16321, !0x1, _0x3dc1e1);
_0x10240f && _0x114a61['_observers']['push'](_0x10240f);
}
return _0x114a61;
}
,
_0x10337b;
}()
, _0x35f06d = function() {
function _0xc32dcc(_0x2f1757) {
this['_observers'] = new Array(),
this['_eventState'] = new _0x1f73e5(0x0),
_0x2f1757 && (this['_onObserverAdded'] = _0x2f1757);
}
return _0xc32dcc['prototype']['add'] = function(_0x47a2c6, _0x1fe0db, _0x30bf23, _0x1734d3, _0x4ff6c6) {
if (void 0x0 === _0x1fe0db && (_0x1fe0db = -0x1),
void 0x0 === _0x30bf23 && (_0x30bf23 = !0x1),
void 0x0 === _0x1734d3 && (_0x1734d3 = null),
void 0x0 === _0x4ff6c6 && (_0x4ff6c6 = !0x1),
!_0x47a2c6)
return null;
var _0x4962c1 = new _0x2c4aa9(_0x47a2c6,_0x1fe0db,_0x1734d3);
return _0x4962c1['unregisterOnNextCall'] = _0x4ff6c6,
_0x30bf23 ? this['_observers']['unshift'](_0x4962c1) : this['_observers']['push'](_0x4962c1),
this['_onObserverAdded'] && this['_onObserverAdded'](_0x4962c1),
_0x4962c1;
}
,
_0xc32dcc['prototype']['addOnce'] = function(_0x23bd9b) {
return this['add'](_0x23bd9b, void 0x0, void 0x0, void 0x0, !0x0);
}
,
_0xc32dcc['prototype']['remove'] = function(_0xbaa4ab) {
return !!_0xbaa4ab && (-0x1 !== this['_observers']['indexOf'](_0xbaa4ab) && (this['_deferUnregister'](_0xbaa4ab),
!0x0));
}
,
_0xc32dcc['prototype']['removeCallback'] = function(_0x4f80ef, _0x577c08) {
for (var _0xf0673f = 0x0; _0xf0673f < this['_observers']['length']; _0xf0673f++)
if (this['_observers'][_0xf0673f]['callback'] === _0x4f80ef && (!_0x577c08 || _0x577c08 === this['_observers'][_0xf0673f]['scope']))
return this['_deferUnregister'](this['_observers'][_0xf0673f]),
!0x0;
return !0x1;
}
,
_0xc32dcc['prototype']['_deferUnregister'] = function(_0x598d74) {
var _0x43d750 = this;
_0x598d74['unregisterOnNextCall'] = !0x1,
_0x598d74['_willBeUnregistered'] = !0x0,
setTimeout(function() {
_0x43d750['_remove'](_0x598d74);
}, 0x0);
}
,
_0xc32dcc['prototype']['_remove'] = function(_0x2bfa49) {
if (!_0x2bfa49)
return !0x1;
var _0x11e455 = this['_observers']['indexOf'](_0x2bfa49);
return -0x1 !== _0x11e455 && (this['_observers']['splice'](_0x11e455, 0x1),
!0x0);
}
,
_0xc32dcc['prototype']['makeObserverTopPriority'] = function(_0x1f6ecb) {
this['_remove'](_0x1f6ecb),
this['_observers']['unshift'](_0x1f6ecb);
}
,
_0xc32dcc['prototype']['makeObserverBottomPriority'] = function(_0x301f35) {
this['_remove'](_0x301f35),
this['_observers']['push'](_0x301f35);
}
,
_0xc32dcc['prototype']['notifyObservers'] = function(_0x556058, _0x30c0c1, _0x5062b1, _0x484048) {
if (void 0x0 === _0x30c0c1 && (_0x30c0c1 = -0x1),
!this['_observers']['length'])
return !0x0;
var _0x584201 = this['_eventState'];
_0x584201['mask'] = _0x30c0c1,
_0x584201['target'] = _0x5062b1,
_0x584201['currentTarget'] = _0x484048,
_0x584201['skipNextObservers'] = !0x1,
_0x584201['lastReturnValue'] = _0x556058;
for (var _0x2f9add = 0x0, _0x11f0fb = this['_observers']; _0x2f9add < _0x11f0fb['length']; _0x2f9add++) {
var _0xf2257a = _0x11f0fb[_0x2f9add];
if (!_0xf2257a['_willBeUnregistered'] && (_0xf2257a['mask'] & _0x30c0c1 && (_0xf2257a['scope'] ? _0x584201['lastReturnValue'] = _0xf2257a['callback']['apply'](_0xf2257a['scope'], [_0x556058, _0x584201]) : _0x584201['lastReturnValue'] = _0xf2257a['callback'](_0x556058, _0x584201),
_0xf2257a['unregisterOnNextCall'] && this['_deferUnregister'](_0xf2257a)),
_0x584201['skipNextObservers']))
return !0x1;
}
return !0x0;
}
,
_0xc32dcc['prototype']['notifyObserversWithPromise'] = function(_0x398bf8, _0x25ce72, _0x4062aa, _0x3e4e68) {
var _0x28268a = this;
void 0x0 === _0x25ce72 && (_0x25ce72 = -0x1);
var _0x198168 = Promise['resolve'](_0x398bf8);
if (!this['_observers']['length'])
return _0x198168;
var _0xcbde7e = this['_eventState'];
return _0xcbde7e['mask'] = _0x25ce72,
_0xcbde7e['target'] = _0x4062aa,
_0xcbde7e['currentTarget'] = _0x3e4e68,
_0xcbde7e['skipNextObservers'] = !0x1,
this['_observers']['forEach'](function(_0x53715e) {
_0xcbde7e['skipNextObservers'] || _0x53715e['_willBeUnregistered'] || _0x53715e['mask'] & _0x25ce72 && (_0x198168 = _0x53715e['scope'] ? _0x198168['then'](function(_0x94404b) {
return _0xcbde7e['lastReturnValue'] = _0x94404b,
_0x53715e['callback']['apply'](_0x53715e['scope'], [_0x398bf8, _0xcbde7e]);
}) : _0x198168['then'](function(_0xd69e5a) {
return _0xcbde7e['lastReturnValue'] = _0xd69e5a,
_0x53715e['callback'](_0x398bf8, _0xcbde7e);
}),
_0x53715e['unregisterOnNextCall'] && _0x28268a['_deferUnregister'](_0x53715e));
}),
_0x198168['then'](function() {
return _0x398bf8;
});
}
,
_0xc32dcc['prototype']['notifyObserver'] = function(_0x53db55, _0x395b19, _0x4c3e32) {
void 0x0 === _0x4c3e32 && (_0x4c3e32 = -0x1);
var _0x32d7fd = this['_eventState'];
_0x32d7fd['mask'] = _0x4c3e32,
_0x32d7fd['skipNextObservers'] = !0x1,
_0x53db55['callback'](_0x395b19, _0x32d7fd);
}
,
_0xc32dcc['prototype']['hasObservers'] = function() {
return this['_observers']['length'] > 0x0;
}
,
_0xc32dcc['prototype']['clear'] = function() {
this['_observers'] = new Array(),
this['_onObserverAdded'] = null;
}
,
_0xc32dcc['prototype']['clone'] = function() {
var _0x42b751 = new _0xc32dcc();
return _0x42b751['_observers'] = this['_observers']['slice'](0x0),
_0x42b751;
}
,
_0xc32dcc['prototype']['hasSpecificMask'] = function(_0xd3fdbe) {
void 0x0 === _0xd3fdbe && (_0xd3fdbe = -0x1);
for (var _0x402914 = 0x0, _0x15d4f4 = this['_observers']; _0x402914 < _0x15d4f4['length']; _0x402914++) {
var _0x33c1d4 = _0x15d4f4[_0x402914];
if (_0x33c1d4['mask'] & _0xd3fdbe || _0x33c1d4['mask'] === _0xd3fdbe)
return !0x0;
}
return !0x1;
}
,
_0xc32dcc;
}();
}
, function(_0x3fbe92, _0x120cdc, _0x1d54de) {
'use strict';
_0x1d54de['d'](_0x120cdc, 'c', function() {
return _0xa97fef;
}),
_0x1d54de['d'](_0x120cdc, 'b', function() {
return _0x5e29c8;
}),
_0x1d54de['d'](_0x120cdc, 'd', function() {
return _0x115104;
}),
_0x1d54de['d'](_0x120cdc, 'e', function() {
return _0x504401;
}),
_0x1d54de['d'](_0x120cdc, 'g', function() {
return _0x135211;
}),
_0x1d54de['d'](_0x120cdc, 'h', function() {
return _0x30df3a;
}),
_0x1d54de['d'](_0x120cdc, 'f', function() {
return _0x4f4b1c;
}),
_0x1d54de['d'](_0x120cdc, 'i', function() {
return _0x4bbde3;
}),
_0x1d54de['d'](_0x120cdc, 'a', function() {
return _0x1f7766;
});
var _0x5def82 = _0x1d54de(0x1)
, _0xf51fd7 = _0x1d54de(0x0)
, _0x25f00c = _0x1d54de(0xc)
, _0x51c1ab = _0x1d54de(0x8)
, _0x1c8435 = _0x1d54de(0x3b)
, _0x4df2f2 = _0x1d54de(0x3)
, _0x55e0c9 = _0x1d54de(0x23)
, _0x1cb6be = _0x1d54de(0x6)
, _0x488bf7 = _0x1d54de(0x16)
, _0x1934ec = _0x1d54de(0x20)
, _0x4f4d06 = _0x1d54de(0x2f)
, _0x2354d1 = _0x1d54de(0x13)
, _0x2dfa9e = _0x1d54de(0x3c)
, _0xa97fef = function() {
function _0x50d22e() {}
return _0x50d22e['prototype']['getColorToRef'] = function(_0x2bd9d4) {
this['color2'] ? _0xf51fd7['f']['LerpToRef'](this['color1'], this['color2'], Math['random'](), _0x2bd9d4) : _0x2bd9d4['copyFrom'](this['color1']);
}
,
_0x50d22e;
}()
, _0x5e29c8 = function() {
return function() {}
;
}()
, _0x115104 = function() {
function _0x2f97b4() {}
return _0x2f97b4['prototype']['getFactor'] = function() {
return void 0x0 === this['factor2'] ? this['factor1'] : _0x25f00c['a']['Lerp'](this['factor1'], this['factor2'], Math['random']());
}
,
_0x2f97b4;
}()
, _0x504401 = function(_0x590bca) {
function _0x648cfc(_0x1c4996, _0x5bec20) {
var _0x497412 = _0x590bca['call'](this, _0x1c4996) || this;
return _0x497412['request'] = _0x5bec20,
_0x497412['name'] = 'LoadFileError',
_0x648cfc['_setPrototypeOf'](_0x497412, _0x648cfc['prototype']),
_0x497412;
}
return _0x5def82['d'](_0x648cfc, _0x590bca),
_0x648cfc['_setPrototypeOf'] = Object['setPrototypeOf'] || function(_0x4c6314, _0x589bfa) {
return _0x4c6314['__proto__'] = _0x589bfa,
_0x4c6314;
}
,
_0x648cfc;
}(Error)
, _0x135211 = function() {
function _0xedaa59() {}
return _0xedaa59['ExponentialBackoff'] = function(_0x131a2c, _0xbd966e) {
return void 0x0 === _0x131a2c && (_0x131a2c = 0x3),
void 0x0 === _0xbd966e && (_0xbd966e = 0x1f4),
function(_0x349d5e, _0x3fc9f0, _0x3091e8) {
return 0x0 !== _0x3fc9f0['status'] || _0x3091e8 >= _0x131a2c || -0x1 !== _0x349d5e['indexOf']('file:') ? -0x1 : Math['pow'](0x2, _0x3091e8) * _0xbd966e;
}
;
}
,
_0xedaa59;
}()
, _0x30df3a = function() {
function _0x412670() {}
return _0x412670['FetchToRef'] = function(_0x3775ea, _0x85438f, _0x51f44e, _0x1bee3c, _0x261305, _0x521782) {
var _0x301f27 = 0x4 * ((Math['abs'](_0x3775ea) * _0x51f44e % _0x51f44e | 0x0) + (Math['abs'](_0x85438f) * _0x1bee3c % _0x1bee3c | 0x0) * _0x51f44e);
_0x521782['r'] = _0x261305[_0x301f27] / 0xff,
_0x521782['g'] = _0x261305[_0x301f27 + 0x1] / 0xff,
_0x521782['b'] = _0x261305[_0x301f27 + 0x2] / 0xff,
_0x521782['a'] = _0x261305[_0x301f27 + 0x3] / 0xff;
}
,
_0x412670['Mix'] = function(_0x5b5acc, _0x31f6b0, _0x26f524) {
return _0x5b5acc * (0x1 - _0x26f524) + _0x31f6b0 * _0x26f524;
}
,
_0x412670['Instantiate'] = function(_0x4e1888) {
if (_0x412670['RegisteredExternalClasses'] && _0x412670['RegisteredExternalClasses'][_0x4e1888])
return _0x412670['RegisteredExternalClasses'][_0x4e1888];
var _0x13c61d = _0x488bf7['a']['GetClass'](_0x4e1888);
if (_0x13c61d)
return _0x13c61d;
_0x1cb6be['a']['Warn'](_0x4e1888 + '\x20not\x20found,\x20you\x20may\x20have\x20missed\x20an\x20import.');
for (var _0x5c51f8 = _0x4e1888['split']('.'), _0x13c1e6 = window || this, _0x436216 = 0x0, _0x45a1fa = _0x5c51f8['length']; _0x436216 < _0x45a1fa; _0x436216++)
_0x13c1e6 = _0x13c1e6[_0x5c51f8[_0x436216]];
return 'function' != typeof _0x13c1e6 ? null : _0x13c1e6;
}
,
_0x412670['Slice'] = function(_0x89c40f, _0x38b0a5, _0xabf9d7) {
return _0x89c40f['slice'] ? _0x89c40f['slice'](_0x38b0a5, _0xabf9d7) : Array['prototype']['slice']['call'](_0x89c40f, _0x38b0a5, _0xabf9d7);
}
,
_0x412670['SetImmediate'] = function(_0x53bb49) {
_0x55e0c9['a']['IsWindowObjectExist']() && window['setImmediate'] ? window['setImmediate'](_0x53bb49) : setTimeout(_0x53bb49, 0x1);
}
,
_0x412670['IsExponentOfTwo'] = function(_0x32223b) {
var _0x1a76ff = 0x1;
do {
_0x1a76ff *= 0x2;
} while (_0x1a76ff < _0x32223b);
return _0x1a76ff === _0x32223b;
}
,
_0x412670['FloatRound'] = function(_0x3ececa) {
return Math['fround'] ? Math['fround'](_0x3ececa) : _0x412670['_tmpFloatArray'][0x0] = _0x3ececa;
}
,
_0x412670['CeilingPOT'] = function(_0x374b9e) {
return _0x374b9e--,
_0x374b9e |= _0x374b9e >> 0x1,
_0x374b9e |= _0x374b9e >> 0x2,
_0x374b9e |= _0x374b9e >> 0x4,
_0x374b9e |= _0x374b9e >> 0x8,
_0x374b9e |= _0x374b9e >> 0x10,
++_0x374b9e;
}
,
_0x412670['FloorPOT'] = function(_0x5e80e2) {
return _0x5e80e2 |= _0x5e80e2 >> 0x1,
_0x5e80e2 |= _0x5e80e2 >> 0x2,
_0x5e80e2 |= _0x5e80e2 >> 0x4,
_0x5e80e2 |= _0x5e80e2 >> 0x8,
(_0x5e80e2 |= _0x5e80e2 >> 0x10) - (_0x5e80e2 >> 0x1);
}
,
_0x412670['NearestPOT'] = function(_0x2ef36b) {
var _0x371d7c = _0x412670['CeilingPOT'](_0x2ef36b)
, _0xb8b0b2 = _0x412670['FloorPOT'](_0x2ef36b);
return _0x371d7c - _0x2ef36b > _0x2ef36b - _0xb8b0b2 ? _0xb8b0b2 : _0x371d7c;
}
,
_0x412670['GetExponentOfTwo'] = function(_0x16d8e3, _0x208115, _0x1492e5) {
var _0xd5e589;
switch (void 0x0 === _0x1492e5 && (_0x1492e5 = _0x4df2f2['a']['SCALEMODE_NEAREST']),
_0x1492e5) {
case _0x4df2f2['a']['SCALEMODE_FLOOR']:
_0xd5e589 = _0x412670['FloorPOT'](_0x16d8e3);
break;
case _0x4df2f2['a']['SCALEMODE_NEAREST']:
_0xd5e589 = _0x412670['NearestPOT'](_0x16d8e3);
break;
case _0x4df2f2['a']['SCALEMODE_CEILING']:
default:
_0xd5e589 = _0x412670['CeilingPOT'](_0x16d8e3);
}
return Math['min'](_0xd5e589, _0x208115);
}
,
_0x412670['GetFilename'] = function(_0x515e05) {
var _0x3964b8 = _0x515e05['lastIndexOf']('/');
return _0x3964b8 < 0x0 ? _0x515e05 : _0x515e05['substring'](_0x3964b8 + 0x1);
}
,
_0x412670['GetFolderPath'] = function(_0x14e6b5, _0x43d3a0) {
void 0x0 === _0x43d3a0 && (_0x43d3a0 = !0x1);
var _0x2f8782 = _0x14e6b5['lastIndexOf']('/');
return _0x2f8782 < 0x0 ? _0x43d3a0 ? _0x14e6b5 : '' : _0x14e6b5['substring'](0x0, _0x2f8782 + 0x1);
}
,
_0x412670['ToDegrees'] = function(_0x23edac) {
return 0xb4 * _0x23edac / Math['PI'];
}
,
_0x412670['ToRadians'] = function(_0x349153) {
return _0x349153 * Math['PI'] / 0xb4;
}
,
_0x412670['EncodeArrayBufferTobase64'] = function(_0x350837) {
for (var _0x495814, _0x59257d, _0x277b5b, _0x265f80, _0x3c8f49, _0x26b50e, _0x55e7b5, _0x20227e = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', _0x47298a = '', _0x1e7275 = 0x0, _0x5b8e6c = new Uint8Array(_0x350837); _0x1e7275 < _0x5b8e6c['length']; )
_0x265f80 = (_0x495814 = _0x5b8e6c[_0x1e7275++]) >> 0x2,
_0x3c8f49 = (0x3 & _0x495814) << 0x4 | (_0x59257d = _0x1e7275 < _0x5b8e6c['length'] ? _0x5b8e6c[_0x1e7275++] : Number['NaN']) >> 0x4,
_0x26b50e = (0xf & _0x59257d) << 0x2 | (_0x277b5b = _0x1e7275 < _0x5b8e6c['length'] ? _0x5b8e6c[_0x1e7275++] : Number['NaN']) >> 0x6,
_0x55e7b5 = 0x3f & _0x277b5b,
isNaN(_0x59257d) ? _0x26b50e = _0x55e7b5 = 0x40 : isNaN(_0x277b5b) && (_0x55e7b5 = 0x40),
_0x47298a += _0x20227e['charAt'](_0x265f80) + _0x20227e['charAt'](_0x3c8f49) + _0x20227e['charAt'](_0x26b50e) + _0x20227e['charAt'](_0x55e7b5);
return 'data:image/png;base64,' + _0x47298a;
}
,
_0x412670['ExtractMinAndMaxIndexed'] = function(_0xe81c0c, _0x281239, _0x4af8e5, _0x2fc6f9, _0x2a4161) {
void 0x0 === _0x2a4161 && (_0x2a4161 = null);
for (var _0x127c6d = new _0xf51fd7['x'](Number['MAX_VALUE'],Number['MAX_VALUE'],Number['MAX_VALUE']), _0x29ff8c = new _0xf51fd7['x'](-Number['MAX_VALUE'],-Number['MAX_VALUE'],-Number['MAX_VALUE']), _0x4c2aff = _0x4af8e5; _0x4c2aff < _0x4af8e5 + _0x2fc6f9; _0x4c2aff++) {
var _0x31e9e5 = 0x3 * _0x281239[_0x4c2aff]
, _0x8039cc = _0xe81c0c[_0x31e9e5]
, _0x4cf987 = _0xe81c0c[_0x31e9e5 + 0x1]
, _0xdfabf3 = _0xe81c0c[_0x31e9e5 + 0x2];
_0x127c6d['minimizeInPlaceFromFloats'](_0x8039cc, _0x4cf987, _0xdfabf3),
_0x29ff8c['maximizeInPlaceFromFloats'](_0x8039cc, _0x4cf987, _0xdfabf3);
}
return _0x2a4161 && (_0x127c6d['x'] -= _0x127c6d['x'] * _0x2a4161['x'] + _0x2a4161['y'],
_0x127c6d['y'] -= _0x127c6d['y'] * _0x2a4161['x'] + _0x2a4161['y'],
_0x127c6d['z'] -= _0x127c6d['z'] * _0x2a4161['x'] + _0x2a4161['y'],
_0x29ff8c['x'] += _0x29ff8c['x'] * _0x2a4161['x'] + _0x2a4161['y'],
_0x29ff8c['y'] += _0x29ff8c['y'] * _0x2a4161['x'] + _0x2a4161['y'],
_0x29ff8c['z'] += _0x29ff8c['z'] * _0x2a4161['x'] + _0x2a4161['y']),
{
'minimum': _0x127c6d,
'maximum': _0x29ff8c
};
}
,
_0x412670['ExtractMinAndMax'] = function(_0x265ddf, _0x5d4711, _0xc224e1, _0x537767, _0x3f9768) {
void 0x0 === _0x537767 && (_0x537767 = null);
var _0x571524 = new _0xf51fd7['x'](Number['MAX_VALUE'],Number['MAX_VALUE'],Number['MAX_VALUE'])
, _0x50c2e3 = new _0xf51fd7['x'](-Number['MAX_VALUE'],-Number['MAX_VALUE'],-Number['MAX_VALUE']);
_0x3f9768 || (_0x3f9768 = 0x3);
for (var _0x420cd7 = _0x5d4711, _0x548e0f = _0x5d4711 * _0x3f9768; _0x420cd7 < _0x5d4711 + _0xc224e1; _0x420cd7++,
_0x548e0f += _0x3f9768) {
var _0x57212e = _0x265ddf[_0x548e0f]
, _0x1d0081 = _0x265ddf[_0x548e0f + 0x1]
, _0x228984 = _0x265ddf[_0x548e0f + 0x2];
_0x571524['minimizeInPlaceFromFloats'](_0x57212e, _0x1d0081, _0x228984),
_0x50c2e3['maximizeInPlaceFromFloats'](_0x57212e, _0x1d0081, _0x228984);
}
return _0x537767 && (_0x571524['x'] -= _0x571524['x'] * _0x537767['x'] + _0x537767['y'],
_0x571524['y'] -= _0x571524['y'] * _0x537767['x'] + _0x537767['y'],
_0x571524['z'] -= _0x571524['z'] * _0x537767['x'] + _0x537767['y'],
_0x50c2e3['x'] += _0x50c2e3['x'] * _0x537767['x'] + _0x537767['y'],
_0x50c2e3['y'] += _0x50c2e3['y'] * _0x537767['x'] + _0x537767['y'],
_0x50c2e3['z'] += _0x50c2e3['z'] * _0x537767['x'] + _0x537767['y']),
{
'minimum': _0x571524,
'maximum': _0x50c2e3
};
}
,
_0x412670['MakeArray'] = function(_0x4344d8, _0x323045) {
return !0x0 === _0x323045 || void 0x0 !== _0x4344d8 && null != _0x4344d8 ? Array['isArray'](_0x4344d8) ? _0x4344d8 : [_0x4344d8] : null;
}
,
_0x412670['GetPointerPrefix'] = function() {
var _0x1cb781 = 'pointer';
return !_0x55e0c9['a']['IsWindowObjectExist']() || window['PointerEvent'] || navigator['pointerEnabled'] || (_0x1cb781 = 'mouse'),
_0x1cb781;
}
,
_0x412670['QueueNewFrame'] = function(_0x405c78, _0x39a6b3) {
return _0x55e0c9['a']['IsWindowObjectExist']() ? (_0x39a6b3 || (_0x39a6b3 = window),
_0x39a6b3['requestAnimationFrame'] ? _0x39a6b3['requestAnimationFrame'](_0x405c78) : _0x39a6b3['msRequestAnimationFrame'] ? _0x39a6b3['msRequestAnimationFrame'](_0x405c78) : _0x39a6b3['webkitRequestAnimationFrame'] ? _0x39a6b3['webkitRequestAnimationFrame'](_0x405c78) : _0x39a6b3['mozRequestAnimationFrame'] ? _0x39a6b3['mozRequestAnimationFrame'](_0x405c78) : _0x39a6b3['oRequestAnimationFrame'] ? _0x39a6b3['oRequestAnimationFrame'](_0x405c78) : window['setTimeout'](_0x405c78, 0x10)) : setTimeout(_0x405c78, 0x10);
}
,
_0x412670['RequestFullscreen'] = function(_0x404039) {
var _0x2a9fe2 = _0x404039['requestFullscreen'] || _0x404039['msRequestFullscreen'] || _0x404039['webkitRequestFullscreen'] || _0x404039['mozRequestFullScreen'];
_0x2a9fe2 && _0x2a9fe2['call'](_0x404039);
}
,
_0x412670['ExitFullscreen'] = function() {
var _0xf62d9c = document;
document['exitFullscreen'] ? document['exitFullscreen']() : _0xf62d9c['mozCancelFullScreen'] ? _0xf62d9c['mozCancelFullScreen']() : _0xf62d9c['webkitCancelFullScreen'] ? _0xf62d9c['webkitCancelFullScreen']() : _0xf62d9c['msCancelFullScreen'] && _0xf62d9c['msCancelFullScreen']();
}
,
_0x412670['SetCorsBehavior'] = function(_0x503365, _0xd711c3) {
if ((!_0x503365 || 0x0 !== _0x503365['indexOf']('data:')) && _0x412670['CorsBehavior'])
if ('string' == typeof _0x412670['CorsBehavior'] || _0x412670['CorsBehavior']instanceof String)
_0xd711c3['crossOrigin'] = _0x412670['CorsBehavior'];
else {
var _0x124421 = _0x412670['CorsBehavior'](_0x503365);
_0x124421 && (_0xd711c3['crossOrigin'] = _0x124421);
}
}
,
_0x412670['CleanUrl'] = function(_0x1ce9ef) {
return _0x1ce9ef = _0x1ce9ef['replace'](/#/gm, '%23');
}
,
_0x412670['LoadImage'] = function(_0x3e9066, _0x223e63, _0x129675, _0x380d30) {
var _0x224641, _0x1870e1 = !0x1;
_0x3e9066 instanceof ArrayBuffer ? (_0x224641 = URL['createObjectURL'](new Blob([_0x3e9066])),
_0x1870e1 = !0x0) : _0x3e9066 instanceof Blob ? (_0x224641 = URL['createObjectURL'](_0x3e9066),
_0x1870e1 = !0x0) : (_0x224641 = _0x412670['CleanUrl'](_0x3e9066),
_0x224641 = _0x412670['PreprocessUrl'](_0x3e9066));
var _0x457bf7 = new Image();
_0x412670['SetCorsBehavior'](_0x224641, _0x457bf7);
var _0xfd0e79 = function() {
_0x457bf7['removeEventListener']('load', _0xfd0e79),
_0x457bf7['removeEventListener']('error', _0x27cc3),
_0x223e63(_0x457bf7),
_0x1870e1 && _0x457bf7['src'] && URL['revokeObjectURL'](_0x457bf7['src']);
}
, _0x27cc3 = function(_0x46923f) {
_0x457bf7['removeEventListener']('load', _0xfd0e79),
_0x457bf7['removeEventListener']('error', _0x27cc3),
_0x1cb6be['a']['Error']('Error\x20while\x20trying\x20to\x20load\x20image:\x20' + _0x3e9066),
_0x129675 && _0x129675('Error\x20while\x20trying\x20to\x20load\x20image:\x20' + _0x3e9066, _0x46923f),
_0x1870e1 && _0x457bf7['src'] && URL['revokeObjectURL'](_0x457bf7['src']);
};
_0x457bf7['addEventListener']('load', _0xfd0e79),
_0x457bf7['addEventListener']('error', _0x27cc3);
var _0x10fa22 = function() {
_0x457bf7['src'] = _0x224641;
};
if ('data:' !== _0x224641['substr'](0x0, 0x5) && _0x380d30 && _0x380d30['enableTexturesOffline'])
_0x380d30['open'](function() {
_0x380d30 && _0x380d30['loadImage'](_0x224641, _0x457bf7);
}, _0x10fa22);
else {
if (-0x1 !== _0x224641['indexOf']('file:')) {
var _0x29aeae = decodeURIComponent(_0x224641['substring'](0x5)['toLowerCase']());
if (_0x1c8435['a']['FilesToLoad'][_0x29aeae]) {
try {
var _0x2d08e4;
try {
_0x2d08e4 = URL['createObjectURL'](_0x1c8435['a']['FilesToLoad'][_0x29aeae]);
} catch (_0x5b2261) {
_0x2d08e4 = URL['createObjectURL'](_0x1c8435['a']['FilesToLoad'][_0x29aeae]);
}
_0x457bf7['src'] = _0x2d08e4,
_0x1870e1 = !0x0;
} catch (_0x3193e4) {
_0x457bf7['src'] = '';
}
return _0x457bf7;
}
}
_0x10fa22();
}
return _0x457bf7;
}
,
_0x412670['LoadFile'] = function(_0x2e738b, _0x3a0ff8, _0x1b5637, _0x25f069, _0x914f80, _0xada605) {
if (_0x2e738b = _0x412670['CleanUrl'](_0x2e738b),
-0x1 !== (_0x2e738b = _0x412670['PreprocessUrl'](_0x2e738b))['indexOf']('file:')) {
var _0x2f4ff3 = decodeURIComponent(_0x2e738b['substring'](0x5)['toLowerCase']());
if (_0x1c8435['a']['FilesToLoad'][_0x2f4ff3])
return _0x412670['ReadFile'](_0x1c8435['a']['FilesToLoad'][_0x2f4ff3], _0x3a0ff8, _0x1b5637, _0x914f80);
}
var _0x3f77bd = _0x412670['BaseUrl'] + _0x2e738b
, _0x3952d3 = !0x1
, _0x4c967a = {
'onCompleteObservable': new _0x51c1ab['c'](),
'abort': function() {
return _0x3952d3 = !0x0;
}
}
, _0x3aec71 = function() {
var _0x522499 = new _0x2dfa9e['a']()
, _0x2da677 = null;
_0x4c967a['abort'] = function() {
_0x3952d3 = !0x0,
_0x522499['readyState'] !== (XMLHttpRequest['DONE'] || 0x4) && _0x522499['abort'](),
null !== _0x2da677 && (clearTimeout(_0x2da677),
_0x2da677 = null);
}
;
var _0x233a96 = function(_0x1d4f41) {
_0x522499['open']('GET', _0x3f77bd),
_0x914f80 && (_0x522499['responseType'] = 'arraybuffer'),
_0x1b5637 && _0x522499['addEventListener']('progress', _0x1b5637);
var _0x43a52f = function() {
_0x522499['removeEventListener']('loadend', _0x43a52f),
_0x4c967a['onCompleteObservable']['notifyObservers'](_0x4c967a),
_0x4c967a['onCompleteObservable']['clear']();
};
_0x522499['addEventListener']('loadend', _0x43a52f);
var _0x23beb7 = function() {
if (!_0x3952d3 && _0x522499['readyState'] === (XMLHttpRequest['DONE'] || 0x4)) {
if (_0x522499['removeEventListener']('readystatechange', _0x23beb7),
_0x522499['status'] >= 0xc8 && _0x522499['status'] < 0x12c || 0x0 === _0x522499['status'] && (!_0x55e0c9['a']['IsWindowObjectExist']() || _0x412670['IsFileURL']()))
return void _0x3a0ff8(_0x914f80 ? _0x522499['response'] : _0x522499['responseText'], _0x522499['responseURL']);
var _0x3e773a = _0x412670['DefaultRetryStrategy'];
if (_0x3e773a) {
var _0x218395 = _0x3e773a(_0x3f77bd, _0x522499, _0x1d4f41);
if (-0x1 !== _0x218395)
return _0x522499['removeEventListener']('loadend', _0x43a52f),
_0x522499 = new _0x2dfa9e['a'](),
void (_0x2da677 = setTimeout(function() {
return _0x233a96(_0x1d4f41 + 0x1);
}, _0x218395));
}
var _0x43fd28 = new _0x504401('Error\x20status:\x20' + _0x522499['status'] + '\x20' + _0x522499['statusText'] + '\x20-\x20Unable\x20to\x20load\x20' + _0x3f77bd,_0x522499);
if (!_0xada605)
throw _0x43fd28;
_0xada605(_0x522499, _0x43fd28);
}
};
_0x522499['addEventListener']('readystatechange', _0x23beb7),
_0x522499['send']();
};
_0x233a96(0x0);
};
if (_0x25f069 && _0x25f069['enableSceneOffline']) {
var _0x4a8db9 = function(_0x46ae84) {
_0x46ae84 && _0x46ae84['status'] > 0x190 ? _0xada605 && _0xada605(_0x46ae84) : _0x3952d3 || _0x3aec71();
};
_0x25f069['open'](function() {
_0x3952d3 || _0x25f069 && _0x25f069['loadFile'](_0x2e738b, function(_0x1b3740) {
_0x3952d3 || _0x3a0ff8(_0x1b3740),
_0x4c967a['onCompleteObservable']['notifyObservers'](_0x4c967a);
}, _0x1b5637 ? function(_0x1f2a02) {
_0x3952d3 || _0x1b5637(_0x1f2a02);
}
: void 0x0, _0x4a8db9, _0x914f80);
}, _0x4a8db9);
} else
_0x3aec71();
return _0x4c967a;
}
,
_0x412670['LoadScript'] = function(_0x5cc622, _0x3763e8, _0x2ce7c9, _0x363735) {
if (_0x55e0c9['a']['IsWindowObjectExist']()) {
var _0x582915 = document['getElementsByTagName']('head')[0x0]
, _0x59331b = document['createElement']('script');
_0x59331b['setAttribute']('type', 'text/javascript'),
_0x59331b['setAttribute']('src', _0x5cc622),
_0x363735 && (_0x59331b['id'] = _0x363735),
_0x59331b['onload'] = function() {
_0x3763e8 && _0x3763e8();
}
,
_0x59331b['onerror'] = function(_0x46c034) {
_0x2ce7c9 && _0x2ce7c9('Unable\x20to\x20load\x20script\x20\x27' + _0x5cc622 + '\x27', _0x46c034);
}
,
_0x582915['appendChild'](_0x59331b);
}
}
,
_0x412670['LoadScriptAsync'] = function(_0x45aab4, _0x1e0bf5) {
return new Promise(function(_0x22e9c2, _0x45bae3) {
if (_0x55e0c9['a']['IsWindowObjectExist']()) {
var _0x55b097 = document['getElementsByTagName']('head')[0x0]
, _0x3ecfa7 = document['createElement']('script');
_0x3ecfa7['setAttribute']('type', 'text/javascript'),
_0x3ecfa7['setAttribute']('src', _0x45aab4),
_0x1e0bf5 && (_0x3ecfa7['id'] = _0x1e0bf5),
_0x3ecfa7['onload'] = function() {
_0x22e9c2(!0x0);
}
,
_0x3ecfa7['onerror'] = function(_0x39b6b9) {
_0x22e9c2(!0x1);
}
,
_0x55b097['appendChild'](_0x3ecfa7);
} else
_0x22e9c2(!0x1);
}
);
}
,
_0x412670['ReadFileAsDataURL'] = function(_0x54ef20, _0x4770d9, _0x1c6992) {
var _0x5ab01d = new FileReader()
, _0x382f72 = {
'onCompleteObservable': new _0x51c1ab['c'](),
'abort': function() {
return _0x5ab01d['abort']();
}
};
return _0x5ab01d['onloadend'] = function(_0x4202e3) {
_0x382f72['onCompleteObservable']['notifyObservers'](_0x382f72);
}
,
_0x5ab01d['onload'] = function(_0x56c1f3) {
_0x4770d9(_0x56c1f3['target']['result']);
}
,
_0x5ab01d['onprogress'] = _0x1c6992,
_0x5ab01d['readAsDataURL'](_0x54ef20),
_0x382f72;
}
,
_0x412670['ReadFile'] = function(_0x4497ed, _0x49d23c, _0x20d935, _0x379700) {
var _0x223d17 = new FileReader()
, _0x2d2831 = {
'onCompleteObservable': new _0x51c1ab['c'](),
'abort': function() {
return _0x223d17['abort']();
}
};
return _0x223d17['onloadend'] = function(_0x3c04e3) {
return _0x2d2831['onCompleteObservable']['notifyObservers'](_0x2d2831);
}
,
_0x223d17['onerror'] = function(_0x1fa7f9) {
_0x1cb6be['a']['Log']('Error\x20while\x20reading\x20file:\x20' + _0x4497ed['name']),
_0x49d23c(JSON['stringify']({
'autoClear': !0x0,
'clearColor': [0x1, 0x0, 0x0],
'ambientColor': [0x0, 0x0, 0x0],
'gravity': [0x0, -9.807, 0x0],
'meshes': [],
'cameras': [],
'lights': []
}));
}
,
_0x223d17['onload'] = function(_0x48d332) {
_0x49d23c(_0x48d332['target']['result']);
}
,
_0x20d935 && (_0x223d17['onprogress'] = _0x20d935),
_0x379700 ? _0x223d17['readAsArrayBuffer'](_0x4497ed) : _0x223d17['readAsText'](_0x4497ed),
_0x2d2831;
}
,
_0x412670['FileAsURL'] = function(_0x1a0996) {
var _0x3a8b55 = new Blob([_0x1a0996]);
return (window['URL'] || window['webkitURL'])['createObjectURL'](_0x3a8b55);
}
,
_0x412670['Format'] = function(_0x5ed88d, _0x506ec1) {
return void 0x0 === _0x506ec1 && (_0x506ec1 = 0x2),
_0x5ed88d['toFixed'](_0x506ec1);
}
,
_0x412670['CheckExtends'] = function(_0x240bfe, _0x2e5993, _0x12b456) {
_0x2e5993['minimizeInPlace'](_0x240bfe),
_0x12b456['maximizeInPlace'](_0x240bfe);
}
,
_0x412670['DeepCopy'] = function(_0x255ecb, _0x34896f, _0x31e271, _0xd7f533) {
_0x1934ec['a']['DeepCopy'](_0x255ecb, _0x34896f, _0x31e271, _0xd7f533);
}
,
_0x412670['IsEmpty'] = function(_0x1e94c0) {
for (var _0x489563 in _0x1e94c0)
if (_0x1e94c0['hasOwnProperty'](_0x489563))
return !0x1;
return !0x0;
}
,
_0x412670['EndsWith'] = function(_0x47f3d3, _0x2ef83a) {
return -0x1 !== _0x47f3d3['indexOf'](_0x2ef83a, _0x47f3d3['length'] - _0x2ef83a['length']);
}
,
_0x412670['RegisterTopRootEvents'] = function(_0xb5ec77) {
for (var _0x4298c8 = 0x0; _0x4298c8 < _0xb5ec77['length']; _0x4298c8++) {
var _0x345050 = _0xb5ec77[_0x4298c8];
window['addEventListener'](_0x345050['name'], _0x345050['handler'], !0x1);
try {
window['parent'] && window['parent']['addEventListener'](_0x345050['name'], _0x345050['handler'], !0x1);
} catch (_0xb14a6d) {}
}
}
,
_0x412670['UnregisterTopRootEvents'] = function(_0x7454d2) {
for (var _0x1d6b1d = 0x0; _0x1d6b1d < _0x7454d2['length']; _0x1d6b1d++) {
var _0x226055 = _0x7454d2[_0x1d6b1d];
window['removeEventListener'](_0x226055['name'], _0x226055['handler']);
try {
window['parent'] && window['parent']['removeEventListener'](_0x226055['name'], _0x226055['handler']);
} catch (_0x3d28c7) {}
}
}
,
_0x412670['DumpFramebuffer'] = function(_0xe3c1c0, _0x374178, _0x375710, _0x23e214, _0x5bc136, _0x2c9246) {
void 0x0 === _0x5bc136 && (_0x5bc136 = 'image/png');
for (var _0x403c67 = 0x4 * _0xe3c1c0, _0x5dd620 = _0x374178 / 0x2, _0x18fbf1 = _0x375710['readPixels'](0x0, 0x0, _0xe3c1c0, _0x374178), _0x5be0f2 = 0x0; _0x5be0f2 < _0x5dd620; _0x5be0f2++)
for (var _0x2d0b8e = 0x0; _0x2d0b8e < _0x403c67; _0x2d0b8e++) {
var _0x2c0bae = _0x2d0b8e + _0x5be0f2 * _0x403c67
, _0x167a86 = _0x2d0b8e + (_0x374178 - _0x5be0f2 - 0x1) * _0x403c67
, _0x3634aa = _0x18fbf1[_0x2c0bae];
_0x18fbf1[_0x2c0bae] = _0x18fbf1[_0x167a86],
_0x18fbf1[_0x167a86] = _0x3634aa;
}
_0x412670['_ScreenshotCanvas'] || (_0x412670['_ScreenshotCanvas'] = document['createElement']('canvas')),
_0x412670['_ScreenshotCanvas']['width'] = _0xe3c1c0,
_0x412670['_ScreenshotCanvas']['height'] = _0x374178;
var _0x2db801 = _0x412670['_ScreenshotCanvas']['getContext']('2d');
if (_0x2db801) {
var _0x5ebd16 = _0x2db801['createImageData'](_0xe3c1c0, _0x374178);
_0x5ebd16['data']['set'](_0x18fbf1),
_0x2db801['putImageData'](_0x5ebd16, 0x0, 0x0),
_0x412670['EncodeScreenshotCanvasData'](_0x23e214, _0x5bc136, _0x2c9246);
}
}
,
_0x412670['ToBlob'] = function(_0x4217be, _0x47bbcf, _0x208fee) {
void 0x0 === _0x208fee && (_0x208fee = 'image/png'),
_0x4217be['toBlob'] || (_0x4217be['toBlob'] = function(_0x2c4383, _0x45ea19, _0x451df0) {
var _0x1470e2 = this;
setTimeout(function() {
for (var _0x366c02 = atob(_0x1470e2['toDataURL'](_0x45ea19, _0x451df0)['split'](',')[0x1]), _0x36c792 = _0x366c02['length'], _0xca2b74 = new Uint8Array(_0x36c792), _0x22d22b = 0x0; _0x22d22b < _0x36c792; _0x22d22b++)
_0xca2b74[_0x22d22b] = _0x366c02['charCodeAt'](_0x22d22b);
_0x2c4383(new Blob([_0xca2b74]));
});
}
),
_0x4217be['toBlob'](function(_0x4f6016) {
_0x47bbcf(_0x4f6016);
}, _0x208fee);
}
,
_0x412670['EncodeScreenshotCanvasData'] = function(_0x14e271, _0x202641, _0x5debf5) {
(void 0x0 === _0x202641 && (_0x202641 = 'image/png'),
_0x14e271) ? _0x14e271(_0x412670['_ScreenshotCanvas']['toDataURL'](_0x202641)) : this['ToBlob'](_0x412670['_ScreenshotCanvas'], function(_0x5c5aed) {
if ('download'in document['createElement']('a')) {
if (!_0x5debf5) {
var _0x490342 = new Date()
, _0x54ead1 = (_0x490342['getFullYear']() + '-' + (_0x490342['getMonth']() + 0x1))['slice'](0x2) + '-' + _0x490342['getDate']() + '_' + _0x490342['getHours']() + '-' + ('0' + _0x490342['getMinutes']())['slice'](-0x2);
_0x5debf5 = 'screenshot_' + _0x54ead1 + '.png';
}
_0x412670['Download'](_0x5c5aed, _0x5debf5);
} else {
var _0x4efc44 = URL['createObjectURL'](_0x5c5aed)
, _0x29e0bc = window['open']('');
if (!_0x29e0bc)
return;
var _0x496a5b = _0x29e0bc['document']['createElement']('img');
_0x496a5b['onload'] = function() {
URL['revokeObjectURL'](_0x4efc44);
}
,
_0x496a5b['src'] = _0x4efc44,
_0x29e0bc['document']['body']['appendChild'](_0x496a5b);
}
}, _0x202641);
}
,
_0x412670['Download'] = function(_0x3a2940, _0x4adb82) {
if (navigator && navigator['msSaveBlob'])
navigator['msSaveBlob'](_0x3a2940, _0x4adb82);
else {
var _0x1109da = window['URL']['createObjectURL'](_0x3a2940)
, _0x3a4eb2 = document['createElement']('a');
document['body']['appendChild'](_0x3a4eb2),
_0x3a4eb2['style']['display'] = 'none',
_0x3a4eb2['href'] = _0x1109da,
_0x3a4eb2['download'] = _0x4adb82,
_0x3a4eb2['addEventListener']('click', function() {
_0x3a4eb2['parentElement'] && _0x3a4eb2['parentElement']['removeChild'](_0x3a4eb2);
}),
_0x3a4eb2['click'](),
window['URL']['revokeObjectURL'](_0x1109da);
}
}
,
_0x412670['CreateScreenshot'] = function(_0x41d069, _0x350a17, _0x27b628, _0x492e12, _0x1e5ef3) {
throw void 0x0 === _0x1e5ef3 && (_0x1e5ef3 = 'image/png'),
_0x2354d1['a']['WarnImport']('ScreenshotTools');
}
,
_0x412670['CreateScreenshotUsingRenderTarget'] = function(_0x350447, _0x4fad52, _0x2cb944, _0x4a27bc, _0x5a44a5, _0x4552d4, _0x2beca3, _0x3e1146) {
throw void 0x0 === _0x5a44a5 && (_0x5a44a5 = 'image/png'),
void 0x0 === _0x4552d4 && (_0x4552d4 = 0x1),
void 0x0 === _0x2beca3 && (_0x2beca3 = !0x1),
_0x2354d1['a']['WarnImport']('ScreenshotTools');
}
,
_0x412670['RandomId'] = function() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'['replace'](/[xy]/g, function(_0x5a6153) {
var _0x19d07e = 0x10 * Math['random']() | 0x0;
return ('x' === _0x5a6153 ? _0x19d07e : 0x3 & _0x19d07e | 0x8)['toString'](0x10);
});
}
,
_0x412670['IsBase64'] = function(_0x5b0d18) {
return !(_0x5b0d18['length'] < 0x5) && 'data:' === _0x5b0d18['substr'](0x0, 0x5);
}
,
_0x412670['DecodeBase64'] = function(_0x4a4c12) {
for (var _0x123d04 = atob(_0x4a4c12['split'](',')[0x1]), _0x4c996d = _0x123d04['length'], _0x277c15 = new Uint8Array(new ArrayBuffer(_0x4c996d)), _0x51776d = 0x0; _0x51776d < _0x4c996d; _0x51776d++)
_0x277c15[_0x51776d] = _0x123d04['charCodeAt'](_0x51776d);
return _0x277c15['buffer'];
}
,
_0x412670['GetAbsoluteUrl'] = function(_0x5d7e1f) {
var _0x599941 = document['createElement']('a');
return _0x599941['href'] = _0x5d7e1f,
_0x599941['href'];
}
,
Object['defineProperty'](_0x412670, 'errorsCount', {
'get': function() {
return _0x1cb6be['a']['errorsCount'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x412670['Log'] = function(_0x72cee5) {
_0x1cb6be['a']['Log'](_0x72cee5);
}
,
_0x412670['Warn'] = function(_0x2744c2) {
_0x1cb6be['a']['Warn'](_0x2744c2);
}
,
_0x412670['Error'] = function(_0x5399d4) {
_0x1cb6be['a']['Error'](_0x5399d4);
}
,
Object['defineProperty'](_0x412670, 'LogCache', {
'get': function() {
return _0x1cb6be['a']['LogCache'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x412670['ClearLogCache'] = function() {
_0x1cb6be['a']['ClearLogCache']();
}
,
Object['defineProperty'](_0x412670, 'LogLevels', {
'set': function(_0x4dd3d5) {
_0x1cb6be['a']['LogLevels'] = _0x4dd3d5;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x412670['IsFileURL'] = function() {
return 'file:' === location['protocol'];
}
,
Object['defineProperty'](_0x412670, 'PerformanceLogLevel', {
'set': function(_0x4d954c) {
return (_0x4d954c & _0x412670['PerformanceUserMarkLogLevel']) === _0x412670['PerformanceUserMarkLogLevel'] ? (_0x412670['StartPerformanceCounter'] = _0x412670['_StartUserMark'],
void (_0x412670['EndPerformanceCounter'] = _0x412670['_EndUserMark'])) : (_0x4d954c & _0x412670['PerformanceConsoleLogLevel']) === _0x412670['PerformanceConsoleLogLevel'] ? (_0x412670['StartPerformanceCounter'] = _0x412670['_StartPerformanceConsole'],
void (_0x412670['EndPerformanceCounter'] = _0x412670['_EndPerformanceConsole'])) : (_0x412670['StartPerformanceCounter'] = _0x412670['_StartPerformanceCounterDisabled'],
void (_0x412670['EndPerformanceCounter'] = _0x412670['_EndPerformanceCounterDisabled']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x412670['_StartPerformanceCounterDisabled'] = function(_0x47f2c0, _0x117383) {}
,
_0x412670['_EndPerformanceCounterDisabled'] = function(_0x263e37, _0x5f124) {}
,
_0x412670['_StartUserMark'] = function(_0x438a97, _0x1e3562) {
if (void 0x0 === _0x1e3562 && (_0x1e3562 = !0x0),
!_0x412670['_performance']) {
if (!_0x55e0c9['a']['IsWindowObjectExist']())
return;
_0x412670['_performance'] = window['performance'];
}
_0x1e3562 && _0x412670['_performance']['mark'] && _0x412670['_performance']['mark'](_0x438a97 + '-Begin');
}
,
_0x412670['_EndUserMark'] = function(_0x35cd1b, _0x1e6442) {
void 0x0 === _0x1e6442 && (_0x1e6442 = !0x0),
_0x1e6442 && _0x412670['_performance']['mark'] && (_0x412670['_performance']['mark'](_0x35cd1b + '-End'),
_0x412670['_performance']['measure'](_0x35cd1b, _0x35cd1b + '-Begin', _0x35cd1b + '-End'));
}
,
_0x412670['_StartPerformanceConsole'] = function(_0x4ca9f8, _0x9381b) {
void 0x0 === _0x9381b && (_0x9381b = !0x0),
_0x9381b && (_0x412670['_StartUserMark'](_0x4ca9f8, _0x9381b),
console['time'] && console['time'](_0x4ca9f8));
}
,
_0x412670['_EndPerformanceConsole'] = function(_0x4d09fe, _0xa796ec) {
void 0x0 === _0xa796ec && (_0xa796ec = !0x0),
_0xa796ec && (_0x412670['_EndUserMark'](_0x4d09fe, _0xa796ec),
console['time'] && console['timeEnd'](_0x4d09fe));
}
,
Object['defineProperty'](_0x412670, 'Now', {
'get': function() {
return _0x4f4d06['a']['Now'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x412670['GetClassName'] = function(_0x4c4e1a, _0x123f4f) {
void 0x0 === _0x123f4f && (_0x123f4f = !0x1);
var _0x47523a = null;
if (!_0x123f4f && _0x4c4e1a['getClassName'])
_0x47523a = _0x4c4e1a['getClassName']();
else {
if (_0x4c4e1a instanceof Object)
_0x47523a = (_0x123f4f ? _0x4c4e1a : Object['getPrototypeOf'](_0x4c4e1a))['constructor']['__bjsclassName__'];
_0x47523a || (_0x47523a = typeof _0x4c4e1a);
}
return _0x47523a;
}
,
_0x412670['First'] = function(_0x15e70e, _0x3f4b4f) {
for (var _0x1911bb = 0x0, _0x49f0e8 = _0x15e70e; _0x1911bb < _0x49f0e8['length']; _0x1911bb++) {
var _0x154443 = _0x49f0e8[_0x1911bb];
if (_0x3f4b4f(_0x154443))
return _0x154443;
}
return null;
}
,
_0x412670['getFullClassName'] = function(_0x2046c9, _0x2dbec8) {
void 0x0 === _0x2dbec8 && (_0x2dbec8 = !0x1);
var _0x2a84a6 = null
, _0x58229a = null;
if (!_0x2dbec8 && _0x2046c9['getClassName'])
_0x2a84a6 = _0x2046c9['getClassName']();
else {
if (_0x2046c9 instanceof Object) {
var _0x14b26f = _0x2dbec8 ? _0x2046c9 : Object['getPrototypeOf'](_0x2046c9);
_0x2a84a6 = _0x14b26f['constructor']['__bjsclassName__'],
_0x58229a = _0x14b26f['constructor']['__bjsmoduleName__'];
}
_0x2a84a6 || (_0x2a84a6 = typeof _0x2046c9);
}
return _0x2a84a6 ? (null != _0x58229a ? _0x58229a + '.' : '') + _0x2a84a6 : null;
}
,
_0x412670['DelayAsync'] = function(_0x1b38ae) {
return new Promise(function(_0x408a7e) {
setTimeout(function() {
_0x408a7e();
}, _0x1b38ae);
}
);
}
,
_0x412670['GetCurrentGradient'] = function(_0x5a563d, _0x126ba9, _0x425401) {
for (var _0x13669c = 0x0; _0x13669c < _0x126ba9['length'] - 0x1; _0x13669c++) {
var _0x25875d = _0x126ba9[_0x13669c]
, _0x15ea5f = _0x126ba9[_0x13669c + 0x1];
if (_0x5a563d >= _0x25875d['gradient'] && _0x5a563d <= _0x15ea5f['gradient'])
return void _0x425401(_0x25875d, _0x15ea5f, (_0x5a563d - _0x25875d['gradient']) / (_0x15ea5f['gradient'] - _0x25875d['gradient']));
}
var _0xdb7992 = _0x126ba9['length'] - 0x1;
_0x425401(_0x126ba9[_0xdb7992], _0x126ba9[_0xdb7992], 0x1);
}
,
_0x412670['BaseUrl'] = '',
_0x412670['UseCustomRequestHeaders'] = !0x1,
_0x412670['CustomRequestHeaders'] = _0x2dfa9e['a']['CustomRequestHeaders'],
_0x412670['DefaultRetryStrategy'] = _0x135211['ExponentialBackoff'](),
_0x412670['CorsBehavior'] = 'anonymous',
_0x412670['UseFallbackTexture'] = !0x0,
_0x412670['RegisteredExternalClasses'] = {},
_0x412670['fallbackTexture'] = 'data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDQuMC41AP/bAEMABAIDAwMCBAMDAwQEBAQFCQYFBQUFCwgIBgkNCw0NDQsMDA4QFBEODxMPDAwSGBITFRYXFxcOERkbGRYaFBYXFv/bAEMBBAQEBQUFCgYGChYPDA8WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFv/AABEIAQABAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APH6KKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76P//Z',
_0x412670['_tmpFloatArray'] = new Float32Array(0x1),
_0x412670['GetDOMTextContent'] = _0x55e0c9['a']['GetDOMTextContent'],
_0x412670['PreprocessUrl'] = function(_0x4b20b5) {
return _0x4b20b5;
}
,
_0x412670['NoneLogLevel'] = _0x1cb6be['a']['NoneLogLevel'],
_0x412670['MessageLogLevel'] = _0x1cb6be['a']['MessageLogLevel'],
_0x412670['WarningLogLevel'] = _0x1cb6be['a']['WarningLogLevel'],
_0x412670['ErrorLogLevel'] = _0x1cb6be['a']['ErrorLogLevel'],
_0x412670['AllLogLevel'] = _0x1cb6be['a']['AllLogLevel'],
_0x412670['IsWindowObjectExist'] = _0x55e0c9['a']['IsWindowObjectExist'],
_0x412670['PerformanceNoneLogLevel'] = 0x0,
_0x412670['PerformanceUserMarkLogLevel'] = 0x1,
_0x412670['PerformanceConsoleLogLevel'] = 0x2,
_0x412670['StartPerformanceCounter'] = _0x412670['_StartPerformanceCounterDisabled'],
_0x412670['EndPerformanceCounter'] = _0x412670['_EndPerformanceCounterDisabled'],
_0x412670;
}()
, _0x4f4b1c = function() {
function _0x2e3ae8() {
this['_startMonitoringTime'] = 0x0,
this['_min'] = 0x0,
this['_max'] = 0x0,
this['_average'] = 0x0,
this['_lastSecAverage'] = 0x0,
this['_current'] = 0x0,
this['_totalValueCount'] = 0x0,
this['_totalAccumulated'] = 0x0,
this['_lastSecAccumulated'] = 0x0,
this['_lastSecTime'] = 0x0,
this['_lastSecValueCount'] = 0x0;
}
return Object['defineProperty'](_0x2e3ae8['prototype'], 'min', {
'get': function() {
return this['_min'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2e3ae8['prototype'], 'max', {
'get': function() {
return this['_max'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2e3ae8['prototype'], 'average', {
'get': function() {
return this['_average'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2e3ae8['prototype'], 'lastSecAverage', {
'get': function() {
return this['_lastSecAverage'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2e3ae8['prototype'], 'current', {
'get': function() {
return this['_current'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2e3ae8['prototype'], 'total', {
'get': function() {
return this['_totalAccumulated'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2e3ae8['prototype'], 'count', {
'get': function() {
return this['_totalValueCount'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2e3ae8['prototype']['fetchNewFrame'] = function() {
this['_totalValueCount']++,
this['_current'] = 0x0,
this['_lastSecValueCount']++;
}
,
_0x2e3ae8['prototype']['addCount'] = function(_0x503911, _0x4190f3) {
_0x2e3ae8['Enabled'] && (this['_current'] += _0x503911,
_0x4190f3 && this['_fetchResult']());
}
,
_0x2e3ae8['prototype']['beginMonitoring'] = function() {
_0x2e3ae8['Enabled'] && (this['_startMonitoringTime'] = _0x4f4d06['a']['Now']);
}
,
_0x2e3ae8['prototype']['endMonitoring'] = function(_0x2c4c50) {
if (void 0x0 === _0x2c4c50 && (_0x2c4c50 = !0x0),
_0x2e3ae8['Enabled']) {
_0x2c4c50 && this['fetchNewFrame']();
var _0x28cbca = _0x4f4d06['a']['Now'];
this['_current'] = _0x28cbca - this['_startMonitoringTime'],
_0x2c4c50 && this['_fetchResult']();
}
}
,
_0x2e3ae8['prototype']['_fetchResult'] = function() {
this['_totalAccumulated'] += this['_current'],
this['_lastSecAccumulated'] += this['_current'],
this['_min'] = Math['min'](this['_min'], this['_current']),
this['_max'] = Math['max'](this['_max'], this['_current']),
this['_average'] = this['_totalAccumulated'] / this['_totalValueCount'];
var _0x49e6ac = _0x4f4d06['a']['Now'];
_0x49e6ac - this['_lastSecTime'] > 0x3e8 && (this['_lastSecAverage'] = this['_lastSecAccumulated'] / this['_lastSecValueCount'],
this['_lastSecTime'] = _0x49e6ac,
this['_lastSecAccumulated'] = 0x0,
this['_lastSecValueCount'] = 0x0);
}
,
_0x2e3ae8['Enabled'] = !0x0,
_0x2e3ae8;
}();
function _0x4bbde3(_0x1a49fe, _0x74a655) {
return function(_0x4de114) {
_0x4de114['__bjsclassName__'] = _0x1a49fe,
_0x4de114['__bjsmoduleName__'] = null != _0x74a655 ? _0x74a655 : null;
}
;
}
var _0x1f7766 = function() {
function _0x55ad4c(_0x4e942b, _0x270cc0, _0x4bbbf7, _0x4b4400) {
void 0x0 === _0x4b4400 && (_0x4b4400 = 0x0),
this['iterations'] = _0x4e942b,
this['index'] = _0x4b4400 - 0x1,
this['_done'] = !0x1,
this['_fn'] = _0x270cc0,
this['_successCallback'] = _0x4bbbf7;
}
return _0x55ad4c['prototype']['executeNext'] = function() {
this['_done'] || (this['index'] + 0x1 < this['iterations'] ? (++this['index'],
this['_fn'](this)) : this['breakLoop']());
}
,
_0x55ad4c['prototype']['breakLoop'] = function() {
this['_done'] = !0x0,
this['_successCallback']();
}
,
_0x55ad4c['Run'] = function(_0x54c11e, _0x1d2eae, _0x33002e, _0x1ed6c7) {
void 0x0 === _0x1ed6c7 && (_0x1ed6c7 = 0x0);
var _0x1df416 = new _0x55ad4c(_0x54c11e,_0x1d2eae,_0x33002e,_0x1ed6c7);
return _0x1df416['executeNext'](),
_0x1df416;
}
,
_0x55ad4c['SyncAsyncForLoop'] = function(_0x54be17, _0x520ff3, _0x41ea1b, _0x4901d0, _0x2a64bb, _0x4abb15) {
return void 0x0 === _0x4abb15 && (_0x4abb15 = 0x0),
_0x55ad4c['Run'](Math['ceil'](_0x54be17 / _0x520ff3), function(_0x17c762) {
_0x2a64bb && _0x2a64bb() ? _0x17c762['breakLoop']() : setTimeout(function() {
for (var _0x3050e2 = 0x0; _0x3050e2 < _0x520ff3; ++_0x3050e2) {
var _0x2b5930 = _0x17c762['index'] * _0x520ff3 + _0x3050e2;
if (_0x2b5930 >= _0x54be17)
break;
if (_0x41ea1b(_0x2b5930),
_0x2a64bb && _0x2a64bb()) {
_0x17c762['breakLoop']();
break;
}
}
_0x17c762['executeNext']();
}, _0x4abb15);
}, _0x4901d0);
}
,
_0x55ad4c;
}();
}
, function(_0x4e8765, _0xbe3d86, _0x30216a) {
'use strict';
_0x30216a['d'](_0xbe3d86, 'd', function() {
return _0x559656;
}),
_0x30216a['d'](_0xbe3d86, 'a', function() {
return _0x23388b;
}),
_0x30216a['d'](_0xbe3d86, 'c', function() {
return _0x35a19f;
}),
_0x30216a['d'](_0xbe3d86, 'b', function() {
return _0x240c27;
});
var _0x31b8ef = _0x30216a(0x1)
, _0x5d0850 = _0x30216a(0x8)
, _0x516b66 = _0x30216a(0x69)
, _0x5de640 = _0x30216a(0x3d)
, _0x236e8b = _0x30216a(0x6a)
, _0x49b495 = _0x30216a(0x9)
, _0x17f173 = _0x30216a(0x0)
, _0x20fb29 = _0x30216a(0xc)
, _0x12c9c8 = _0x30216a(0x5)
, _0x5cd921 = _0x30216a(0x14)
, _0x1a5085 = _0x30216a(0x1a)
, _0x1d88ea = _0x30216a(0x5e)
, _0x426396 = _0x30216a(0x3)
, _0x28a362 = _0x30216a(0x23)
, _0x3fe383 = _0x30216a(0x6)
, _0x5aba2b = _0x30216a(0x17)
, _0x1ad15a = _0x30216a(0x5c)
, _0x51a360 = _0x30216a(0x13)
, _0x5ad3c1 = _0x30216a(0x6b)
, _0x5f2dad = _0x30216a(0x49)
, _0x5d9e3f = function() {
return function() {}
;
}()
, _0x559656 = function() {
return function() {}
;
}()
, _0x23388b = function() {
return function() {}
;
}()
, _0x35a19f = function() {
return function() {}
;
}()
, _0x240c27 = function() {
function _0x2b36d6(_0xf681fc, _0x593af2, _0xecf985, _0x792390) {
var _0x11ba06 = this;
void 0x0 === _0x792390 && (_0x792390 = !0x1),
this['forcePOTTextures'] = !0x1,
this['isFullscreen'] = !0x1,
this['isPointerLock'] = !0x1,
this['cullBackFaces'] = !0x0,
this['renderEvenInBackground'] = !0x0,
this['preventCacheWipeBetweenFrames'] = !0x1,
this['enableOfflineSupport'] = !0x1,
this['disableManifestCheck'] = !0x1,
this['scenes'] = new Array(),
this['onNewSceneAddedObservable'] = new _0x5d0850['c'](),
this['postProcesses'] = new Array(),
this['validateShaderPrograms'] = !0x1,
this['onResizeObservable'] = new _0x5d0850['c'](),
this['onCanvasBlurObservable'] = new _0x5d0850['c'](),
this['onCanvasFocusObservable'] = new _0x5d0850['c'](),
this['onCanvasPointerOutObservable'] = new _0x5d0850['c'](),
this['onBeforeTextureInitObservable'] = new _0x5d0850['c'](),
this['disableUniformBuffers'] = !0x1,
this['_uniformBuffers'] = new Array(),
this['onBeginFrameObservable'] = new _0x5d0850['c'](),
this['customAnimationFrameRequester'] = null,
this['onEndFrameObservable'] = new _0x5d0850['c'](),
this['onBeforeShaderCompilationObservable'] = new _0x5d0850['c'](),
this['onAfterShaderCompilationObservable'] = new _0x5d0850['c'](),
this['_windowIsBackground'] = !0x1,
this['_webGLVersion'] = 0x1,
this['_highPrecisionShadersAllowed'] = !0x0,
this['_badOS'] = !0x1,
this['_badDesktopOS'] = !0x1,
this['_colorWrite'] = !0x0,
this['_drawCalls'] = new _0x49b495['f'](),
this['_renderingQueueLaunched'] = !0x1,
this['_activeRenderLoops'] = new Array(),
this['_deterministicLockstep'] = !0x1,
this['_lockstepMaxSteps'] = 0x4,
this['onContextLostObservable'] = new _0x5d0850['c'](),
this['onContextRestoredObservable'] = new _0x5d0850['c'](),
this['_contextWasLost'] = !0x1,
this['_doNotHandleContextLost'] = !0x1,
this['_performanceMonitor'] = new _0x516b66['a'](),
this['_fps'] = 0x3c,
this['_deltaTime'] = 0x0,
this['disablePerformanceMonitorInBackground'] = !0x1,
this['disableVertexArrayObjects'] = !0x1,
this['_depthCullingState'] = new _0x1d88ea['b'](),
this['_stencilState'] = new _0x1d88ea['c'](),
this['_alphaState'] = new _0x1d88ea['a'](),
this['_alphaMode'] = _0x2b36d6['ALPHA_DISABLE'],
this['_internalTexturesCache'] = new Array(),
this['_activeChannel'] = 0x0,
this['_currentTextureChannel'] = -0x1,
this['_boundTexturesCache'] = {},
this['_compiledEffects'] = {},
this['_vertexAttribArraysEnabled'] = [],
this['_uintIndicesCurrentlySet'] = !0x1,
this['_currentBoundBuffer'] = new Array(),
this['_currentFramebuffer'] = null,
this['_currentBufferPointers'] = new Array(),
this['_currentInstanceLocations'] = new Array(),
this['_currentInstanceBuffers'] = new Array(),
this['_vaoRecordInProgress'] = !0x1,
this['_mustWipeVertexAttributes'] = !0x1,
this['_nextFreeTextureSlots'] = new Array(),
this['_maxSimultaneousTextures'] = 0x0,
this['_activeRequests'] = new Array(),
this['_texturesSupported'] = new Array(),
this['premultipliedAlpha'] = !0x0,
this['_viewportCached'] = new _0x17f173['y'](0x0,0x0,0x0,0x0),
this['_unpackFlipYCached'] = null,
this['enableUnpackFlipYCached'] = !0x0,
this['_boundUniforms'] = {},
_0x236e8b['a']['Apply']();
var _0x15ad73 = null;
if (_0x2b36d6['Instances']['push'](this),
_0xf681fc) {
if (_0xecf985 = _0xecf985 || {},
_0xf681fc['getContext']) {
if (_0x15ad73 = _0xf681fc,
this['_renderingCanvas'] = _0x15ad73,
null != _0x593af2 && (_0xecf985['antialias'] = _0x593af2),
void 0x0 === _0xecf985['deterministicLockstep'] && (_0xecf985['deterministicLockstep'] = !0x1),
void 0x0 === _0xecf985['lockstepMaxSteps'] && (_0xecf985['lockstepMaxSteps'] = 0x4),
void 0x0 === _0xecf985['preserveDrawingBuffer'] && (_0xecf985['preserveDrawingBuffer'] = !0x1),
void 0x0 === _0xecf985['audioEngine'] && (_0xecf985['audioEngine'] = !0x0),
void 0x0 === _0xecf985['stencil'] && (_0xecf985['stencil'] = !0x0),
!0x1 === _0xecf985['premultipliedAlpha'] && (this['premultipliedAlpha'] = !0x1),
this['_deterministicLockstep'] = _0xecf985['deterministicLockstep'],
this['_lockstepMaxSteps'] = _0xecf985['lockstepMaxSteps'],
this['_doNotHandleContextLost'] = !!_0xecf985['doNotHandleContextLost'],
navigator && navigator['userAgent'])
for (var _0x2e6971 = navigator['userAgent'], _0x26e7fa = 0x0, _0x17ae72 = _0x2b36d6['ExceptionList']; _0x26e7fa < _0x17ae72['length']; _0x26e7fa++) {
var _0x133fc6 = _0x17ae72[_0x26e7fa]
, _0x2209c0 = _0x133fc6['key']
, _0x20dccf = _0x133fc6['targets'];
if (new RegExp(_0x2209c0)['test'](_0x2e6971)) {
if (_0x133fc6['capture'] && _0x133fc6['captureConstraint']) {
var _0x25f72a = _0x133fc6['capture']
, _0x3c1eb0 = _0x133fc6['captureConstraint']
, _0x2d7e6f = new RegExp(_0x25f72a)['exec'](_0x2e6971);
if (_0x2d7e6f && _0x2d7e6f['length'] > 0x0)
if (parseInt(_0x2d7e6f[_0x2d7e6f['length'] - 0x1]) >= _0x3c1eb0)
continue;
}
for (var _0x2d2405 = 0x0, _0x3ff6da = _0x20dccf; _0x2d2405 < _0x3ff6da['length']; _0x2d2405++) {
switch (_0x3ff6da[_0x2d2405]) {
case 'uniformBuffer':
this['disableUniformBuffers'] = !0x0;
break;
case 'vao':
this['disableVertexArrayObjects'] = !0x0;
}
}
}
}
if (!_0xecf985['disableWebGL2Support'])
try {
this['_gl'] = _0x15ad73['getContext']('webgl2', _0xecf985) || _0x15ad73['getContext']('experimental-webgl2', _0xecf985),
this['_gl'] && (this['_webGLVersion'] = 0x2,
this['_gl']['deleteQuery'] || (this['_webGLVersion'] = 0x1));
} catch (_0x261df8) {}
if (!this['_gl']) {
if (!_0x15ad73)
throw new Error('The\x20provided\x20canvas\x20is\x20null\x20or\x20undefined.');
try {
this['_gl'] = _0x15ad73['getContext']('webgl', _0xecf985) || _0x15ad73['getContext']('experimental-webgl', _0xecf985);
} catch (_0x46f835) {
throw new Error('WebGL\x20not\x20supported');
}
}
if (!this['_gl'])
throw new Error('WebGL\x20not\x20supported');
this['_gl']['pixelStorei'](this['_gl']['UNPACK_COLORSPACE_CONVERSION_WEBGL'], this['_gl']['NONE']),
this['_onCanvasFocus'] = function() {
_0x11ba06['onCanvasFocusObservable']['notifyObservers'](_0x11ba06);
}
,
this['_onCanvasBlur'] = function() {
_0x11ba06['onCanvasBlurObservable']['notifyObservers'](_0x11ba06);
}
,
_0x15ad73['addEventListener']('focus', this['_onCanvasFocus']),
_0x15ad73['addEventListener']('blur', this['_onCanvasBlur']),
this['_onBlur'] = function() {
_0x11ba06['disablePerformanceMonitorInBackground'] && _0x11ba06['_performanceMonitor']['disable'](),
_0x11ba06['_windowIsBackground'] = !0x0;
}
,
this['_onFocus'] = function() {
_0x11ba06['disablePerformanceMonitorInBackground'] && _0x11ba06['_performanceMonitor']['enable'](),
_0x11ba06['_windowIsBackground'] = !0x1;
}
,
this['_onCanvasPointerOut'] = function(_0x4d9705) {
_0x11ba06['onCanvasPointerOutObservable']['notifyObservers'](_0x4d9705);
}
,
_0x28a362['a']['IsWindowObjectExist']() && (window['addEventListener']('blur', this['_onBlur']),
window['addEventListener']('focus', this['_onFocus'])),
_0x15ad73['addEventListener']('pointerout', this['_onCanvasPointerOut']),
this['_doNotHandleContextLost'] || (this['_onContextLost'] = function(_0x5093f1) {
_0x5093f1['preventDefault'](),
_0x11ba06['_contextWasLost'] = !0x0,
_0x3fe383['a']['Warn']('WebGL\x20context\x20lost.'),
_0x11ba06['onContextLostObservable']['notifyObservers'](_0x11ba06);
}
,
this['_onContextRestored'] = function() {
setTimeout(function() {
_0x11ba06['_initGLContext'](),
_0x11ba06['_rebuildEffects'](),
_0x11ba06['_rebuildInternalTextures'](),
_0x11ba06['_rebuildBuffers'](),
_0x11ba06['wipeCaches'](!0x0),
_0x3fe383['a']['Warn']('WebGL\x20context\x20successfully\x20restored.'),
_0x11ba06['onContextRestoredObservable']['notifyObservers'](_0x11ba06),
_0x11ba06['_contextWasLost'] = !0x1;
}, 0x0);
}
,
_0x15ad73['addEventListener']('webglcontextlost', this['_onContextLost'], !0x1),
_0x15ad73['addEventListener']('webglcontextrestored', this['_onContextRestored'], !0x1)),
_0xecf985['doNotHandleTouchAction'] || this['_disableTouchAction']();
} else {
this['_gl'] = _0xf681fc,
this['_renderingCanvas'] = this['_gl']['canvas'],
this['_gl']['renderbufferStorageMultisample'] && (this['_webGLVersion'] = 0x2);
var _0x31c10e = this['_gl']['getContextAttributes']();
_0x31c10e && (_0xecf985['stencil'] = _0x31c10e['stencil']);
}
void 0x0 !== _0xecf985['useHighPrecisionFloats'] && (this['_highPrecisionShadersAllowed'] = _0xecf985['useHighPrecisionFloats']);
var _0x577eda = _0x28a362['a']['IsWindowObjectExist']() && window['devicePixelRatio'] || 0x1
, _0x17a916 = _0xecf985['limitDeviceRatio'] || _0x577eda;
if (this['_hardwareScalingLevel'] = _0x792390 ? 0x1 / Math['min'](_0x17a916, _0x577eda) : 0x1,
this['resize'](),
this['_isStencilEnable'] = !!_0xecf985['stencil'],
this['_initGLContext'](),
_0x15ad73) {
var _0x35c0a1 = document;
this['_onFullscreenChange'] = function() {
void 0x0 !== _0x35c0a1['fullscreen'] ? _0x11ba06['isFullscreen'] = _0x35c0a1['fullscreen'] : void 0x0 !== _0x35c0a1['mozFullScreen'] ? _0x11ba06['isFullscreen'] = _0x35c0a1['mozFullScreen'] : void 0x0 !== _0x35c0a1['webkitIsFullScreen'] ? _0x11ba06['isFullscreen'] = _0x35c0a1['webkitIsFullScreen'] : void 0x0 !== _0x35c0a1['msIsFullScreen'] && (_0x11ba06['isFullscreen'] = _0x35c0a1['msIsFullScreen']),
_0x11ba06['isFullscreen'] && _0x11ba06['_pointerLockRequested'] && _0x15ad73 && (_0x15ad73['requestPointerLock'] = _0x15ad73['requestPointerLock'] || _0x15ad73['msRequestPointerLock'] || _0x15ad73['mozRequestPointerLock'] || _0x15ad73['webkitRequestPointerLock'],
_0x15ad73['requestPointerLock'] && _0x15ad73['requestPointerLock']());
}
,
document['addEventListener']('fullscreenchange', this['_onFullscreenChange'], !0x1),
document['addEventListener']('mozfullscreenchange', this['_onFullscreenChange'], !0x1),
document['addEventListener']('webkitfullscreenchange', this['_onFullscreenChange'], !0x1),
document['addEventListener']('msfullscreenchange', this['_onFullscreenChange'], !0x1),
this['_onPointerLockChange'] = function() {
_0x11ba06['isPointerLock'] = _0x35c0a1['mozPointerLockElement'] === _0x15ad73 || _0x35c0a1['webkitPointerLockElement'] === _0x15ad73 || _0x35c0a1['msPointerLockElement'] === _0x15ad73 || _0x35c0a1['pointerLockElement'] === _0x15ad73;
}
,
document['addEventListener']('pointerlockchange', this['_onPointerLockChange'], !0x1),
document['addEventListener']('mspointerlockchange', this['_onPointerLockChange'], !0x1),
document['addEventListener']('mozpointerlockchange', this['_onPointerLockChange'], !0x1),
document['addEventListener']('webkitpointerlockchange', this['_onPointerLockChange'], !0x1),
this['_connectVREvents'](_0x15ad73, _0x35c0a1);
}
!_0x2b36d6['audioEngine'] && _0xecf985['audioEngine'] && _0x2b36d6['AudioEngineFactory'] && (_0x2b36d6['audioEngine'] = _0x2b36d6['AudioEngineFactory'](this['getRenderingCanvas']()));
for (var _0x3e24a8 = 0x0; _0x3e24a8 < this['_caps']['maxVertexAttribs']; _0x3e24a8++)
this['_currentBufferPointers'][_0x3e24a8] = new _0x5d9e3f();
this['_prepareVRComponent'](),
_0xecf985['autoEnableWebVR'] && this['initWebVR'](),
this['_badOS'] = /iPad/i['test'](navigator['userAgent']) || /iPhone/i['test'](navigator['userAgent']),
this['_badDesktopOS'] = /^((?!chrome|android).)*safari/i['test'](navigator['userAgent']),
console['log']('Babylon.js\x20v' + _0x2b36d6['Version'] + '\x20-\x20' + this['description']),
this['enableOfflineSupport'] = void 0x0 !== _0x2b36d6['OfflineProviderFactory'];
}
}
return Object['defineProperty'](_0x2b36d6, 'Instances', {
'get': function() {
return _0x5aba2b['a']['Instances'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6, 'LastCreatedEngine', {
'get': function() {
return _0x5aba2b['a']['LastCreatedEngine'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6, 'LastCreatedScene', {
'get': function() {
return _0x5aba2b['a']['LastCreatedScene'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2b36d6['MarkAllMaterialsAsDirty'] = function(_0x265af0, _0x3aa03d) {
for (var _0x4bb568 = 0x0; _0x4bb568 < _0x2b36d6['Instances']['length']; _0x4bb568++)
for (var _0x305f0c = _0x2b36d6['Instances'][_0x4bb568], _0x31af1f = 0x0; _0x31af1f < _0x305f0c['scenes']['length']; _0x31af1f++)
_0x305f0c['scenes'][_0x31af1f]['markAllMaterialsAsDirty'](_0x265af0, _0x3aa03d);
}
,
Object['defineProperty'](_0x2b36d6, 'NpmPackage', {
'get': function() {
return 'babylonjs@4.0.3';
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6, 'Version', {
'get': function() {
return '4.0.3';
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'description', {
'get': function() {
var _0x5c1d7f = 'WebGL' + this['webGLVersion'];
return this['_caps']['parallelShaderCompile'] && (_0x5c1d7f += '\x20-\x20Parallel\x20shader\x20compilation'),
_0x5c1d7f;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6, 'ShadersRepository', {
'get': function() {
return _0x12c9c8['a']['ShadersRepository'];
},
'set': function(_0x50038d) {
_0x12c9c8['a']['ShadersRepository'] = _0x50038d;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2b36d6['DefaultLoadingScreenFactory'] = function(_0x1930c5) {
throw _0x51a360['a']['WarnImport']('LoadingScreen');
}
,
Object['defineProperty'](_0x2b36d6['prototype'], 'supportsUniformBuffers', {
'get': function() {
return this['webGLVersion'] > 0x1 && !this['disableUniformBuffers'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], '_shouldUseHighPrecisionShader', {
'get': function() {
return this['_caps']['highPrecisionShaderSupported'] && this['_highPrecisionShadersAllowed'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'needPOTTextures', {
'get': function() {
return this['_webGLVersion'] < 0x2 || this['forcePOTTextures'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'doNotHandleContextLost', {
'get': function() {
return this['_doNotHandleContextLost'];
},
'set': function(_0x4910f6) {
this['_doNotHandleContextLost'] = _0x4910f6;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'performanceMonitor', {
'get': function() {
return this['_performanceMonitor'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'texturesSupported', {
'get': function() {
return this['_texturesSupported'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'textureFormatInUse', {
'get': function() {
return this['_textureFormatInUse'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'currentViewport', {
'get': function() {
return this['_cachedViewport'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'emptyTexture', {
'get': function() {
return this['_emptyTexture'] || (this['_emptyTexture'] = this['createRawTexture'](new Uint8Array(0x4), 0x1, 0x1, _0x2b36d6['TEXTUREFORMAT_RGBA'], !0x1, !0x1, _0x2b36d6['TEXTURE_NEAREST_SAMPLINGMODE'])),
this['_emptyTexture'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'emptyTexture3D', {
'get': function() {
return this['_emptyTexture3D'] || (this['_emptyTexture3D'] = this['createRawTexture3D'](new Uint8Array(0x4), 0x1, 0x1, 0x1, _0x2b36d6['TEXTUREFORMAT_RGBA'], !0x1, !0x1, _0x2b36d6['TEXTURE_NEAREST_SAMPLINGMODE'])),
this['_emptyTexture3D'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'emptyCubeTexture', {
'get': function() {
if (!this['_emptyCubeTexture']) {
var _0x15256c = new Uint8Array(0x4)
, _0x114d23 = [_0x15256c, _0x15256c, _0x15256c, _0x15256c, _0x15256c, _0x15256c];
this['_emptyCubeTexture'] = this['createRawCubeTexture'](_0x114d23, 0x1, _0x2b36d6['TEXTUREFORMAT_RGBA'], _0x2b36d6['TEXTURETYPE_UNSIGNED_INT'], !0x1, !0x1, _0x2b36d6['TEXTURE_NEAREST_SAMPLINGMODE']);
}
return this['_emptyCubeTexture'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2b36d6['prototype']['initWebVR'] = function() {
throw _0x51a360['a']['WarnImport']('WebVRCamera');
}
,
_0x2b36d6['prototype']['_prepareVRComponent'] = function() {}
,
_0x2b36d6['prototype']['_connectVREvents'] = function(_0x2a02c1, _0x8a7518) {}
,
_0x2b36d6['prototype']['_submitVRFrame'] = function() {}
,
_0x2b36d6['prototype']['disableVR'] = function() {}
,
_0x2b36d6['prototype']['isVRPresenting'] = function() {
return !0x1;
}
,
_0x2b36d6['prototype']['_requestVRFrame'] = function() {}
,
_0x2b36d6['prototype']['_disableTouchAction'] = function() {
this['_renderingCanvas'] && (this['_renderingCanvas']['setAttribute']('touch-action', 'none'),
this['_renderingCanvas']['style']['touchAction'] = 'none',
this['_renderingCanvas']['style']['msTouchAction'] = 'none');
}
,
_0x2b36d6['prototype']['_rebuildInternalTextures'] = function() {
for (var _0x4c6653 = 0x0, _0x3dcd81 = this['_internalTexturesCache']['slice'](); _0x4c6653 < _0x3dcd81['length']; _0x4c6653++) {
_0x3dcd81[_0x4c6653]['_rebuild']();
}
}
,
_0x2b36d6['prototype']['_rebuildEffects'] = function() {
for (var _0x18656a in this['_compiledEffects']) {
this['_compiledEffects'][_0x18656a]['_prepareEffect']();
}
_0x12c9c8['a']['ResetCache']();
}
,
_0x2b36d6['prototype']['areAllEffectsReady'] = function() {
for (var _0x150981 in this['_compiledEffects']) {
if (!this['_compiledEffects'][_0x150981]['isReady']())
return !0x1;
}
return !0x0;
}
,
_0x2b36d6['prototype']['_rebuildBuffers'] = function() {
for (var _0x2bc9bd = 0x0, _0x254028 = this['scenes']; _0x2bc9bd < _0x254028['length']; _0x2bc9bd++) {
var _0x5a738f = _0x254028[_0x2bc9bd];
_0x5a738f['resetCachedMaterial'](),
_0x5a738f['_rebuildGeometries'](),
_0x5a738f['_rebuildTextures']();
}
for (var _0x231680 = 0x0, _0x586ee0 = this['_uniformBuffers']; _0x231680 < _0x586ee0['length']; _0x231680++) {
_0x586ee0[_0x231680]['_rebuild']();
}
}
,
_0x2b36d6['prototype']['_initGLContext'] = function() {
this['_caps'] = new _0x35a19f(),
this['_caps']['maxTexturesImageUnits'] = this['_gl']['getParameter'](this['_gl']['MAX_TEXTURE_IMAGE_UNITS']),
this['_caps']['maxCombinedTexturesImageUnits'] = this['_gl']['getParameter'](this['_gl']['MAX_COMBINED_TEXTURE_IMAGE_UNITS']),
this['_caps']['maxVertexTextureImageUnits'] = this['_gl']['getParameter'](this['_gl']['MAX_VERTEX_TEXTURE_IMAGE_UNITS']),
this['_caps']['maxTextureSize'] = this['_gl']['getParameter'](this['_gl']['MAX_TEXTURE_SIZE']),
this['_caps']['maxCubemapTextureSize'] = this['_gl']['getParameter'](this['_gl']['MAX_CUBE_MAP_TEXTURE_SIZE']),
this['_caps']['maxRenderTextureSize'] = this['_gl']['getParameter'](this['_gl']['MAX_RENDERBUFFER_SIZE']),
this['_caps']['maxVertexAttribs'] = this['_gl']['getParameter'](this['_gl']['MAX_VERTEX_ATTRIBS']),
this['_caps']['maxVaryingVectors'] = this['_gl']['getParameter'](this['_gl']['MAX_VARYING_VECTORS']),
this['_caps']['maxFragmentUniformVectors'] = this['_gl']['getParameter'](this['_gl']['MAX_FRAGMENT_UNIFORM_VECTORS']),
this['_caps']['maxVertexUniformVectors'] = this['_gl']['getParameter'](this['_gl']['MAX_VERTEX_UNIFORM_VECTORS']),
this['_glVersion'] = this['_gl']['getParameter'](this['_gl']['VERSION']);
var _0x2bd099 = this['_gl']['getExtension']('WEBGL_debug_renderer_info');
if (null != _0x2bd099 && (this['_glRenderer'] = this['_gl']['getParameter'](_0x2bd099['UNMASKED_RENDERER_WEBGL']),
this['_glVendor'] = this['_gl']['getParameter'](_0x2bd099['UNMASKED_VENDOR_WEBGL'])),
this['_glVendor'] || (this['_glVendor'] = 'Unknown\x20vendor'),
this['_glRenderer'] || (this['_glRenderer'] = 'Unknown\x20renderer'),
this['_gl']['HALF_FLOAT_OES'] = 0x8d61,
0x881a !== this['_gl']['RGBA16F'] && (this['_gl']['RGBA16F'] = 0x881a),
0x8814 !== this['_gl']['RGBA32F'] && (this['_gl']['RGBA32F'] = 0x8814),
0x88f0 !== this['_gl']['DEPTH24_STENCIL8'] && (this['_gl']['DEPTH24_STENCIL8'] = 0x88f0),
this['_caps']['standardDerivatives'] = this['_webGLVersion'] > 0x1 || null !== this['_gl']['getExtension']('OES_standard_derivatives'),
this['_caps']['astc'] = this['_gl']['getExtension']('WEBGL_compressed_texture_astc') || this['_gl']['getExtension']('WEBKIT_WEBGL_compressed_texture_astc'),
this['_caps']['s3tc'] = this['_gl']['getExtension']('WEBGL_compressed_texture_s3tc') || this['_gl']['getExtension']('WEBKIT_WEBGL_compressed_texture_s3tc'),
this['_caps']['pvrtc'] = this['_gl']['getExtension']('WEBGL_compressed_texture_pvrtc') || this['_gl']['getExtension']('WEBKIT_WEBGL_compressed_texture_pvrtc'),
this['_caps']['etc1'] = this['_gl']['getExtension']('WEBGL_compressed_texture_etc1') || this['_gl']['getExtension']('WEBKIT_WEBGL_compressed_texture_etc1'),
this['_caps']['etc2'] = this['_gl']['getExtension']('WEBGL_compressed_texture_etc') || this['_gl']['getExtension']('WEBKIT_WEBGL_compressed_texture_etc') || this['_gl']['getExtension']('WEBGL_compressed_texture_es3_0'),
this['_caps']['textureAnisotropicFilterExtension'] = this['_gl']['getExtension']('EXT_texture_filter_anisotropic') || this['_gl']['getExtension']('WEBKIT_EXT_texture_filter_anisotropic') || this['_gl']['getExtension']('MOZ_EXT_texture_filter_anisotropic'),
this['_caps']['maxAnisotropy'] = this['_caps']['textureAnisotropicFilterExtension'] ? this['_gl']['getParameter'](this['_caps']['textureAnisotropicFilterExtension']['MAX_TEXTURE_MAX_ANISOTROPY_EXT']) : 0x0,
this['_caps']['uintIndices'] = this['_webGLVersion'] > 0x1 || null !== this['_gl']['getExtension']('OES_element_index_uint'),
this['_caps']['fragmentDepthSupported'] = this['_webGLVersion'] > 0x1 || null !== this['_gl']['getExtension']('EXT_frag_depth'),
this['_caps']['highPrecisionShaderSupported'] = !0x1,
this['_caps']['timerQuery'] = this['_gl']['getExtension']('EXT_disjoint_timer_query_webgl2') || this['_gl']['getExtension']('EXT_disjoint_timer_query'),
this['_caps']['timerQuery'] && (0x1 === this['_webGLVersion'] && (this['_gl']['getQuery'] = this['_caps']['timerQuery']['getQueryEXT']['bind'](this['_caps']['timerQuery'])),
this['_caps']['canUseTimestampForTimerQuery'] = this['_gl']['getQuery'](this['_caps']['timerQuery']['TIMESTAMP_EXT'], this['_caps']['timerQuery']['QUERY_COUNTER_BITS_EXT']) > 0x0),
this['_caps']['colorBufferFloat'] = this['_webGLVersion'] > 0x1 && this['_gl']['getExtension']('EXT_color_buffer_float'),
this['_caps']['textureFloat'] = !!(this['_webGLVersion'] > 0x1 || this['_gl']['getExtension']('OES_texture_float')),
this['_caps']['textureFloatLinearFiltering'] = !(!this['_caps']['textureFloat'] || !this['_gl']['getExtension']('OES_texture_float_linear')),
this['_caps']['textureFloatRender'] = !(!this['_caps']['textureFloat'] || !this['_canRenderToFloatFramebuffer']()),
this['_caps']['textureHalfFloat'] = !!(this['_webGLVersion'] > 0x1 || this['_gl']['getExtension']('OES_texture_half_float')),
this['_caps']['textureHalfFloatLinearFiltering'] = !!(this['_webGLVersion'] > 0x1 || this['_caps']['textureHalfFloat'] && this['_gl']['getExtension']('OES_texture_half_float_linear')),
this['_webGLVersion'] > 0x1 && (this['_gl']['HALF_FLOAT_OES'] = 0x140b),
this['_caps']['textureHalfFloatRender'] = this['_caps']['textureHalfFloat'] && this['_canRenderToHalfFloatFramebuffer'](),
this['_caps']['textureLOD'] = !!(this['_webGLVersion'] > 0x1 || this['_gl']['getExtension']('EXT_shader_texture_lod')),
this['_caps']['multiview'] = this['_gl']['getExtension']('OVR_multiview2'),
this['_webGLVersion'] > 0x1)
this['_caps']['drawBuffersExtension'] = !0x0;
else {
var _0x33c44b = this['_gl']['getExtension']('WEBGL_draw_buffers');
if (null !== _0x33c44b) {
this['_caps']['drawBuffersExtension'] = !0x0,
this['_gl']['drawBuffers'] = _0x33c44b['drawBuffersWEBGL']['bind'](_0x33c44b),
this['_gl']['DRAW_FRAMEBUFFER'] = this['_gl']['FRAMEBUFFER'];
for (var _0x972c59 = 0x0; _0x972c59 < 0x10; _0x972c59++)
this['_gl']['COLOR_ATTACHMENT' + _0x972c59 + '_WEBGL'] = _0x33c44b['COLOR_ATTACHMENT' + _0x972c59 + '_WEBGL'];
} else
this['_caps']['drawBuffersExtension'] = !0x1;
}
if (this['_caps']['parallelShaderCompile'] = this['_gl']['getExtension']('KHR_parallel_shader_compile'),
this['_webGLVersion'] > 0x1)
this['_caps']['depthTextureExtension'] = !0x0;
else {
var _0x11ddcd = this['_gl']['getExtension']('WEBGL_depth_texture');
null != _0x11ddcd && (this['_caps']['depthTextureExtension'] = !0x0,
this['_gl']['UNSIGNED_INT_24_8'] = _0x11ddcd['UNSIGNED_INT_24_8_WEBGL']);
}
if (this['disableVertexArrayObjects'])
this['_caps']['vertexArrayObject'] = !0x1;
else if (this['_webGLVersion'] > 0x1)
this['_caps']['vertexArrayObject'] = !0x0;
else {
var _0x48583d = this['_gl']['getExtension']('OES_vertex_array_object');
null != _0x48583d ? (this['_caps']['vertexArrayObject'] = !0x0,
this['_gl']['createVertexArray'] = _0x48583d['createVertexArrayOES']['bind'](_0x48583d),
this['_gl']['bindVertexArray'] = _0x48583d['bindVertexArrayOES']['bind'](_0x48583d),
this['_gl']['deleteVertexArray'] = _0x48583d['deleteVertexArrayOES']['bind'](_0x48583d)) : this['_caps']['vertexArrayObject'] = !0x1;
}
if (this['_webGLVersion'] > 0x1)
this['_caps']['instancedArrays'] = !0x0;
else {
var _0x40e0b3 = this['_gl']['getExtension']('ANGLE_instanced_arrays');
null != _0x40e0b3 ? (this['_caps']['instancedArrays'] = !0x0,
this['_gl']['drawArraysInstanced'] = _0x40e0b3['drawArraysInstancedANGLE']['bind'](_0x40e0b3),
this['_gl']['drawElementsInstanced'] = _0x40e0b3['drawElementsInstancedANGLE']['bind'](_0x40e0b3),
this['_gl']['vertexAttribDivisor'] = _0x40e0b3['vertexAttribDivisorANGLE']['bind'](_0x40e0b3)) : this['_caps']['instancedArrays'] = !0x1;
}
if (this['_caps']['astc'] && this['texturesSupported']['push']('-astc.ktx'),
this['_caps']['s3tc'] && this['texturesSupported']['push']('-dxt.ktx'),
this['_caps']['pvrtc'] && this['texturesSupported']['push']('-pvrtc.ktx'),
this['_caps']['etc2'] && this['texturesSupported']['push']('-etc2.ktx'),
this['_caps']['etc1'] && this['texturesSupported']['push']('-etc1.ktx'),
this['_gl']['getShaderPrecisionFormat']) {
var _0x313a44 = this['_gl']['getShaderPrecisionFormat'](this['_gl']['VERTEX_SHADER'], this['_gl']['HIGH_FLOAT'])
, _0x16123d = this['_gl']['getShaderPrecisionFormat'](this['_gl']['FRAGMENT_SHADER'], this['_gl']['HIGH_FLOAT']);
_0x313a44 && _0x16123d && (this['_caps']['highPrecisionShaderSupported'] = 0x0 !== _0x313a44['precision'] && 0x0 !== _0x16123d['precision']);
}
this['setDepthBuffer'](!0x0),
this['setDepthFunctionToLessOrEqual'](),
this['setDepthWrite'](!0x0),
this['_maxSimultaneousTextures'] = this['_caps']['maxCombinedTexturesImageUnits'];
for (var _0x578623 = 0x0; _0x578623 < this['_maxSimultaneousTextures']; _0x578623++)
this['_nextFreeTextureSlots']['push'](_0x578623);
}
,
Object['defineProperty'](_0x2b36d6['prototype'], 'webGLVersion', {
'get': function() {
return this['_webGLVersion'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'isStencilEnable', {
'get': function() {
return this['_isStencilEnable'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2b36d6['prototype']['_prepareWorkingCanvas'] = function() {
if (!this['_workingCanvas']) {
this['_workingCanvas'] = document['createElement']('canvas');
var _0x498b29 = this['_workingCanvas']['getContext']('2d');
_0x498b29 && (this['_workingContext'] = _0x498b29);
}
}
,
_0x2b36d6['prototype']['resetTextureCache'] = function() {
for (var _0x485c82 in this['_boundTexturesCache'])
this['_boundTexturesCache']['hasOwnProperty'](_0x485c82) && (this['_boundTexturesCache'][_0x485c82] = null);
this['_currentTextureChannel'] = -0x1;
}
,
_0x2b36d6['prototype']['isDeterministicLockStep'] = function() {
return this['_deterministicLockstep'];
}
,
_0x2b36d6['prototype']['getLockstepMaxSteps'] = function() {
return this['_lockstepMaxSteps'];
}
,
_0x2b36d6['prototype']['getGlInfo'] = function() {
return {
'vendor': this['_glVendor'],
'renderer': this['_glRenderer'],
'version': this['_glVersion']
};
}
,
_0x2b36d6['prototype']['getAspectRatio'] = function(_0x207926, _0x532d96) {
void 0x0 === _0x532d96 && (_0x532d96 = !0x1);
var _0x10f614 = _0x207926['viewport'];
return this['getRenderWidth'](_0x532d96) * _0x10f614['width'] / (this['getRenderHeight'](_0x532d96) * _0x10f614['height']);
}
,
_0x2b36d6['prototype']['getScreenAspectRatio'] = function() {
return this['getRenderWidth'](!0x0) / this['getRenderHeight'](!0x0);
}
,
_0x2b36d6['prototype']['getRenderWidth'] = function(_0x206d61) {
return void 0x0 === _0x206d61 && (_0x206d61 = !0x1),
!_0x206d61 && this['_currentRenderTarget'] ? this['_currentRenderTarget']['width'] : this['_gl']['drawingBufferWidth'];
}
,
_0x2b36d6['prototype']['getRenderHeight'] = function(_0x39efbe) {
return void 0x0 === _0x39efbe && (_0x39efbe = !0x1),
!_0x39efbe && this['_currentRenderTarget'] ? this['_currentRenderTarget']['height'] : this['_gl']['drawingBufferHeight'];
}
,
_0x2b36d6['prototype']['getRenderingCanvas'] = function() {
return this['_renderingCanvas'];
}
,
_0x2b36d6['prototype']['getRenderingCanvasClientRect'] = function() {
return this['_renderingCanvas'] ? this['_renderingCanvas']['getBoundingClientRect']() : null;
}
,
_0x2b36d6['prototype']['setHardwareScalingLevel'] = function(_0x2f86a2) {
this['_hardwareScalingLevel'] = _0x2f86a2,
this['resize']();
}
,
_0x2b36d6['prototype']['getHardwareScalingLevel'] = function() {
return this['_hardwareScalingLevel'];
}
,
_0x2b36d6['prototype']['getLoadedTexturesCache'] = function() {
return this['_internalTexturesCache'];
}
,
_0x2b36d6['prototype']['getCaps'] = function() {
return this['_caps'];
}
,
_0x2b36d6['prototype']['getDepthFunction'] = function() {
return this['_depthCullingState']['depthFunc'];
}
,
_0x2b36d6['prototype']['setDepthFunction'] = function(_0x29a439) {
this['_depthCullingState']['depthFunc'] = _0x29a439;
}
,
_0x2b36d6['prototype']['setDepthFunctionToGreater'] = function() {
this['_depthCullingState']['depthFunc'] = this['_gl']['GREATER'];
}
,
_0x2b36d6['prototype']['setDepthFunctionToGreaterOrEqual'] = function() {
this['_depthCullingState']['depthFunc'] = this['_gl']['GEQUAL'];
}
,
_0x2b36d6['prototype']['setDepthFunctionToLess'] = function() {
this['_depthCullingState']['depthFunc'] = this['_gl']['LESS'];
}
,
_0x2b36d6['prototype']['cacheStencilState'] = function() {
this['_cachedStencilBuffer'] = this['getStencilBuffer'](),
this['_cachedStencilFunction'] = this['getStencilFunction'](),
this['_cachedStencilMask'] = this['getStencilMask'](),
this['_cachedStencilOperationPass'] = this['getStencilOperationPass'](),
this['_cachedStencilOperationFail'] = this['getStencilOperationFail'](),
this['_cachedStencilOperationDepthFail'] = this['getStencilOperationDepthFail'](),
this['_cachedStencilReference'] = this['getStencilFunctionReference']();
}
,
_0x2b36d6['prototype']['restoreStencilState'] = function() {
this['setStencilFunction'](this['_cachedStencilFunction']),
this['setStencilMask'](this['_cachedStencilMask']),
this['setStencilBuffer'](this['_cachedStencilBuffer']),
this['setStencilOperationPass'](this['_cachedStencilOperationPass']),
this['setStencilOperationFail'](this['_cachedStencilOperationFail']),
this['setStencilOperationDepthFail'](this['_cachedStencilOperationDepthFail']),
this['setStencilFunctionReference'](this['_cachedStencilReference']);
}
,
_0x2b36d6['prototype']['setDepthFunctionToLessOrEqual'] = function() {
this['_depthCullingState']['depthFunc'] = this['_gl']['LEQUAL'];
}
,
_0x2b36d6['prototype']['getStencilBuffer'] = function() {
return this['_stencilState']['stencilTest'];
}
,
_0x2b36d6['prototype']['setStencilBuffer'] = function(_0x5a247a) {
this['_stencilState']['stencilTest'] = _0x5a247a;
}
,
_0x2b36d6['prototype']['getStencilMask'] = function() {
return this['_stencilState']['stencilMask'];
}
,
_0x2b36d6['prototype']['setStencilMask'] = function(_0x1f3ea9) {
this['_stencilState']['stencilMask'] = _0x1f3ea9;
}
,
_0x2b36d6['prototype']['getStencilFunction'] = function() {
return this['_stencilState']['stencilFunc'];
}
,
_0x2b36d6['prototype']['getStencilFunctionReference'] = function() {
return this['_stencilState']['stencilFuncRef'];
}
,
_0x2b36d6['prototype']['getStencilFunctionMask'] = function() {
return this['_stencilState']['stencilFuncMask'];
}
,
_0x2b36d6['prototype']['setStencilFunction'] = function(_0x110225) {
this['_stencilState']['stencilFunc'] = _0x110225;
}
,
_0x2b36d6['prototype']['setStencilFunctionReference'] = function(_0x4a6353) {
this['_stencilState']['stencilFuncRef'] = _0x4a6353;
}
,
_0x2b36d6['prototype']['setStencilFunctionMask'] = function(_0x3ec564) {
this['_stencilState']['stencilFuncMask'] = _0x3ec564;
}
,
_0x2b36d6['prototype']['getStencilOperationFail'] = function() {
return this['_stencilState']['stencilOpStencilFail'];
}
,
_0x2b36d6['prototype']['getStencilOperationDepthFail'] = function() {
return this['_stencilState']['stencilOpDepthFail'];
}
,
_0x2b36d6['prototype']['getStencilOperationPass'] = function() {
return this['_stencilState']['stencilOpStencilDepthPass'];
}
,
_0x2b36d6['prototype']['setStencilOperationFail'] = function(_0x41ee18) {
this['_stencilState']['stencilOpStencilFail'] = _0x41ee18;
}
,
_0x2b36d6['prototype']['setStencilOperationDepthFail'] = function(_0x30dda0) {
this['_stencilState']['stencilOpDepthFail'] = _0x30dda0;
}
,
_0x2b36d6['prototype']['setStencilOperationPass'] = function(_0x38d0d4) {
this['_stencilState']['stencilOpStencilDepthPass'] = _0x38d0d4;
}
,
_0x2b36d6['prototype']['setDitheringState'] = function(_0x578a19) {
_0x578a19 ? this['_gl']['enable'](this['_gl']['DITHER']) : this['_gl']['disable'](this['_gl']['DITHER']);
}
,
_0x2b36d6['prototype']['setRasterizerState'] = function(_0x4e7096) {
_0x4e7096 ? this['_gl']['disable'](this['_gl']['RASTERIZER_DISCARD']) : this['_gl']['enable'](this['_gl']['RASTERIZER_DISCARD']);
}
,
_0x2b36d6['prototype']['stopRenderLoop'] = function(_0x1431c0) {
if (_0x1431c0) {
var _0x157ab9 = this['_activeRenderLoops']['indexOf'](_0x1431c0);
_0x157ab9 >= 0x0 && this['_activeRenderLoops']['splice'](_0x157ab9, 0x1);
} else
this['_activeRenderLoops'] = [];
}
,
_0x2b36d6['prototype']['_renderLoop'] = function() {
if (!this['_contextWasLost']) {
var _0x454939 = !0x0;
if (!this['renderEvenInBackground'] && this['_windowIsBackground'] && (_0x454939 = !0x1),
_0x454939) {
this['beginFrame']();
for (var _0x5dfbf8 = 0x0; _0x5dfbf8 < this['_activeRenderLoops']['length']; _0x5dfbf8++) {
(0x0,
this['_activeRenderLoops'][_0x5dfbf8])();
}
this['endFrame']();
}
}
this['_activeRenderLoops']['length'] > 0x0 ? this['customAnimationFrameRequester'] ? (this['customAnimationFrameRequester']['requestID'] = _0x49b495['h']['QueueNewFrame'](this['customAnimationFrameRequester']['renderFunction'] || this['_bindedRenderFunction'], this['customAnimationFrameRequester']),
this['_frameHandler'] = this['customAnimationFrameRequester']['requestID']) : this['isVRPresenting']() ? this['_requestVRFrame']() : this['_frameHandler'] = _0x49b495['h']['QueueNewFrame'](this['_bindedRenderFunction']) : this['_renderingQueueLaunched'] = !0x1;
}
,
_0x2b36d6['prototype']['runRenderLoop'] = function(_0x2d41ef) {
-0x1 === this['_activeRenderLoops']['indexOf'](_0x2d41ef) && (this['_activeRenderLoops']['push'](_0x2d41ef),
this['_renderingQueueLaunched'] || (this['_renderingQueueLaunched'] = !0x0,
this['_bindedRenderFunction'] = this['_renderLoop']['bind'](this),
this['_frameHandler'] = _0x49b495['h']['QueueNewFrame'](this['_bindedRenderFunction'])));
}
,
_0x2b36d6['prototype']['switchFullscreen'] = function(_0x52cf58) {
this['isFullscreen'] ? this['exitFullscreen']() : this['enterFullscreen'](_0x52cf58);
}
,
_0x2b36d6['prototype']['enterFullscreen'] = function(_0x825396) {
this['isFullscreen'] || (this['_pointerLockRequested'] = _0x825396,
this['_renderingCanvas'] && _0x49b495['h']['RequestFullscreen'](this['_renderingCanvas']));
}
,
_0x2b36d6['prototype']['exitFullscreen'] = function() {
this['isFullscreen'] && _0x49b495['h']['ExitFullscreen']();
}
,
_0x2b36d6['prototype']['clear'] = function(_0x19af8d, _0x4d076a, _0x3d8ec0, _0x1e86c2) {
void 0x0 === _0x1e86c2 && (_0x1e86c2 = !0x1),
this['applyStates']();
var _0x564b45 = 0x0;
_0x4d076a && _0x19af8d && (this['_gl']['clearColor'](_0x19af8d['r'], _0x19af8d['g'], _0x19af8d['b'], void 0x0 !== _0x19af8d['a'] ? _0x19af8d['a'] : 0x1),
_0x564b45 |= this['_gl']['COLOR_BUFFER_BIT']),
_0x3d8ec0 && (this['_gl']['clearDepth'](0x1),
_0x564b45 |= this['_gl']['DEPTH_BUFFER_BIT']),
_0x1e86c2 && (this['_gl']['clearStencil'](0x0),
_0x564b45 |= this['_gl']['STENCIL_BUFFER_BIT']),
this['_gl']['clear'](_0x564b45);
}
,
_0x2b36d6['prototype']['scissorClear'] = function(_0x9ef8c1, _0x5b476d, _0x3f4275, _0x35b70c, _0x39f25d) {
this['enableScissor'](_0x9ef8c1, _0x5b476d, _0x3f4275, _0x35b70c),
this['clear'](_0x39f25d, !0x0, !0x0, !0x0),
this['disableScissor']();
}
,
_0x2b36d6['prototype']['enableScissor'] = function(_0x4fd23e, _0x266749, _0x3e0701, _0x5c44f6) {
var _0x34e301 = this['_gl'];
_0x34e301['enable'](_0x34e301['SCISSOR_TEST']),
_0x34e301['scissor'](_0x4fd23e, _0x266749, _0x3e0701, _0x5c44f6);
}
,
_0x2b36d6['prototype']['disableScissor'] = function() {
var _0x468dd5 = this['_gl'];
_0x468dd5['disable'](_0x468dd5['SCISSOR_TEST']);
}
,
_0x2b36d6['prototype']['_viewport'] = function(_0x32f7be, _0x2a0064, _0x1dc08c, _0x4f309f) {
_0x32f7be === this['_viewportCached']['x'] && _0x2a0064 === this['_viewportCached']['y'] && _0x1dc08c === this['_viewportCached']['z'] && _0x4f309f === this['_viewportCached']['w'] || (this['_viewportCached']['x'] = _0x32f7be,
this['_viewportCached']['y'] = _0x2a0064,
this['_viewportCached']['z'] = _0x1dc08c,
this['_viewportCached']['w'] = _0x4f309f,
this['_gl']['viewport'](_0x32f7be, _0x2a0064, _0x1dc08c, _0x4f309f));
}
,
_0x2b36d6['prototype']['setViewport'] = function(_0x2a671b, _0x83d08a, _0x5ef4f8) {
var _0x4d04ca = _0x83d08a || this['getRenderWidth']()
, _0x2668ce = _0x5ef4f8 || this['getRenderHeight']()
, _0xcf1c25 = _0x2a671b['x'] || 0x0
, _0x1829eb = _0x2a671b['y'] || 0x0;
this['_cachedViewport'] = _0x2a671b,
this['_viewport'](_0xcf1c25 * _0x4d04ca, _0x1829eb * _0x2668ce, _0x4d04ca * _0x2a671b['width'], _0x2668ce * _0x2a671b['height']);
}
,
_0x2b36d6['prototype']['setDirectViewport'] = function(_0x1cd3e5, _0x3fe907, _0x5659f3, _0x3256ae) {
var _0x68cb68 = this['_cachedViewport'];
return this['_cachedViewport'] = null,
this['_viewport'](_0x1cd3e5, _0x3fe907, _0x5659f3, _0x3256ae),
_0x68cb68;
}
,
_0x2b36d6['prototype']['beginFrame'] = function() {
this['onBeginFrameObservable']['notifyObservers'](this),
this['_measureFps']();
}
,
_0x2b36d6['prototype']['endFrame'] = function() {
this['_badOS'] && this['flushFramebuffer'](),
this['_submitVRFrame'](),
this['onEndFrameObservable']['notifyObservers'](this);
}
,
_0x2b36d6['prototype']['resize'] = function() {
if (!this['isVRPresenting']()) {
var _0x32c485 = this['_renderingCanvas'] ? this['_renderingCanvas']['clientWidth'] : window['innerWidth']
, _0x17d6d4 = this['_renderingCanvas'] ? this['_renderingCanvas']['clientHeight'] : window['innerHeight'];
this['setSize'](_0x32c485 / this['_hardwareScalingLevel'], _0x17d6d4 / this['_hardwareScalingLevel']);
}
}
,
_0x2b36d6['prototype']['setSize'] = function(_0x2294ba, _0x5a63c7) {
if (this['_renderingCanvas'] && (this['_renderingCanvas']['width'] !== _0x2294ba || this['_renderingCanvas']['height'] !== _0x5a63c7)) {
this['_renderingCanvas']['width'] = _0x2294ba,
this['_renderingCanvas']['height'] = _0x5a63c7;
for (var _0x5257d9 = 0x0; _0x5257d9 < this['scenes']['length']; _0x5257d9++)
for (var _0x7b60bf = this['scenes'][_0x5257d9], _0x5a3162 = 0x0; _0x5a3162 < _0x7b60bf['cameras']['length']; _0x5a3162++) {
_0x7b60bf['cameras'][_0x5a3162]['_currentRenderId'] = 0x0;
}
this['onResizeObservable']['hasObservers'] && this['onResizeObservable']['notifyObservers'](this);
}
}
,
_0x2b36d6['prototype']['bindFramebuffer'] = function(_0x19aad7, _0xcc14ef, _0x291527, _0x4a11e2, _0x3f27e2, _0x36f9b2, _0x55aa06) {
void 0x0 === _0x55aa06 && (_0x55aa06 = 0x0),
this['_currentRenderTarget'] && this['unBindFramebuffer'](this['_currentRenderTarget']),
this['_currentRenderTarget'] = _0x19aad7,
this['_bindUnboundFramebuffer'](_0x19aad7['_MSAAFramebuffer'] ? _0x19aad7['_MSAAFramebuffer'] : _0x19aad7['_framebuffer']);
var _0x318fca = this['_gl'];
_0x19aad7['isCube'] && (void 0x0 === _0xcc14ef && (_0xcc14ef = 0x0),
_0x318fca['framebufferTexture2D'](_0x318fca['FRAMEBUFFER'], _0x318fca['COLOR_ATTACHMENT0'], _0x318fca['TEXTURE_CUBE_MAP_POSITIVE_X'] + _0xcc14ef, _0x19aad7['_webGLTexture'], _0x55aa06),
_0x36f9b2 && (_0x36f9b2['_generateStencilBuffer'] ? _0x318fca['framebufferTexture2D'](_0x318fca['FRAMEBUFFER'], _0x318fca['DEPTH_STENCIL_ATTACHMENT'], _0x318fca['TEXTURE_CUBE_MAP_POSITIVE_X'] + _0xcc14ef, _0x36f9b2['_webGLTexture'], _0x55aa06) : _0x318fca['framebufferTexture2D'](_0x318fca['FRAMEBUFFER'], _0x318fca['DEPTH_ATTACHMENT'], _0x318fca['TEXTURE_CUBE_MAP_POSITIVE_X'] + _0xcc14ef, _0x36f9b2['_webGLTexture'], _0x55aa06))),
this['_cachedViewport'] && !_0x3f27e2 ? this['setViewport'](this['_cachedViewport'], _0x291527, _0x4a11e2) : (_0x291527 || (_0x291527 = _0x19aad7['width'],
_0x55aa06 && (_0x291527 /= Math['pow'](0x2, _0x55aa06))),
_0x4a11e2 || (_0x4a11e2 = _0x19aad7['height'],
_0x55aa06 && (_0x4a11e2 /= Math['pow'](0x2, _0x55aa06))),
this['_viewport'](0x0, 0x0, _0x291527, _0x4a11e2)),
this['wipeCaches']();
}
,
_0x2b36d6['prototype']['_bindUnboundFramebuffer'] = function(_0x1dcf56) {
this['_currentFramebuffer'] !== _0x1dcf56 && (this['_gl']['bindFramebuffer'](this['_gl']['FRAMEBUFFER'], _0x1dcf56),
this['_currentFramebuffer'] = _0x1dcf56);
}
,
_0x2b36d6['prototype']['unBindFramebuffer'] = function(_0x40e610, _0x314819, _0x3cad29) {
void 0x0 === _0x314819 && (_0x314819 = !0x1),
this['_currentRenderTarget'] = null;
var _0x4ae2f3 = this['_gl'];
_0x40e610['_MSAAFramebuffer'] && (_0x4ae2f3['bindFramebuffer'](_0x4ae2f3['READ_FRAMEBUFFER'], _0x40e610['_MSAAFramebuffer']),
_0x4ae2f3['bindFramebuffer'](_0x4ae2f3['DRAW_FRAMEBUFFER'], _0x40e610['_framebuffer']),
_0x4ae2f3['blitFramebuffer'](0x0, 0x0, _0x40e610['width'], _0x40e610['height'], 0x0, 0x0, _0x40e610['width'], _0x40e610['height'], _0x4ae2f3['COLOR_BUFFER_BIT'], _0x4ae2f3['NEAREST'])),
!_0x40e610['generateMipMaps'] || _0x314819 || _0x40e610['isCube'] || (this['_bindTextureDirectly'](_0x4ae2f3['TEXTURE_2D'], _0x40e610, !0x0),
_0x4ae2f3['generateMipmap'](_0x4ae2f3['TEXTURE_2D']),
this['_bindTextureDirectly'](_0x4ae2f3['TEXTURE_2D'], null)),
_0x3cad29 && (_0x40e610['_MSAAFramebuffer'] && this['_bindUnboundFramebuffer'](_0x40e610['_framebuffer']),
_0x3cad29()),
this['_bindUnboundFramebuffer'](null);
}
,
_0x2b36d6['prototype']['generateMipMapsForCubemap'] = function(_0x3351c8) {
if (_0x3351c8['generateMipMaps']) {
var _0x55e3e7 = this['_gl'];
this['_bindTextureDirectly'](_0x55e3e7['TEXTURE_CUBE_MAP'], _0x3351c8, !0x0),
_0x55e3e7['generateMipmap'](_0x55e3e7['TEXTURE_CUBE_MAP']),
this['_bindTextureDirectly'](_0x55e3e7['TEXTURE_CUBE_MAP'], null);
}
}
,
_0x2b36d6['prototype']['flushFramebuffer'] = function() {
this['_gl']['flush']();
}
,
_0x2b36d6['prototype']['restoreDefaultFramebuffer'] = function() {
this['_currentRenderTarget'] ? this['unBindFramebuffer'](this['_currentRenderTarget']) : this['_bindUnboundFramebuffer'](null),
this['_cachedViewport'] && this['setViewport'](this['_cachedViewport']),
this['wipeCaches']();
}
,
_0x2b36d6['prototype']['createUniformBuffer'] = function(_0x2a0cda) {
var _0x5b5d84 = this['_gl']['createBuffer']();
if (!_0x5b5d84)
throw new Error('Unable\x20to\x20create\x20uniform\x20buffer');
var _0x1adf13 = new _0x5f2dad['a'](_0x5b5d84);
return this['bindUniformBuffer'](_0x1adf13),
_0x2a0cda instanceof Float32Array ? this['_gl']['bufferData'](this['_gl']['UNIFORM_BUFFER'], _0x2a0cda, this['_gl']['STATIC_DRAW']) : this['_gl']['bufferData'](this['_gl']['UNIFORM_BUFFER'], new Float32Array(_0x2a0cda), this['_gl']['STATIC_DRAW']),
this['bindUniformBuffer'](null),
_0x1adf13['references'] = 0x1,
_0x1adf13;
}
,
_0x2b36d6['prototype']['createDynamicUniformBuffer'] = function(_0x242a4a) {
var _0x38731c = this['_gl']['createBuffer']();
if (!_0x38731c)
throw new Error('Unable\x20to\x20create\x20dynamic\x20uniform\x20buffer');
var _0x1f01fa = new _0x5f2dad['a'](_0x38731c);
return this['bindUniformBuffer'](_0x1f01fa),
_0x242a4a instanceof Float32Array ? this['_gl']['bufferData'](this['_gl']['UNIFORM_BUFFER'], _0x242a4a, this['_gl']['DYNAMIC_DRAW']) : this['_gl']['bufferData'](this['_gl']['UNIFORM_BUFFER'], new Float32Array(_0x242a4a), this['_gl']['DYNAMIC_DRAW']),
this['bindUniformBuffer'](null),
_0x1f01fa['references'] = 0x1,
_0x1f01fa;
}
,
_0x2b36d6['prototype']['updateUniformBuffer'] = function(_0xfea74, _0x275677, _0x278078, _0x32d6b9) {
this['bindUniformBuffer'](_0xfea74),
void 0x0 === _0x278078 && (_0x278078 = 0x0),
void 0x0 === _0x32d6b9 ? _0x275677 instanceof Float32Array ? this['_gl']['bufferSubData'](this['_gl']['UNIFORM_BUFFER'], _0x278078, _0x275677) : this['_gl']['bufferSubData'](this['_gl']['UNIFORM_BUFFER'], _0x278078, new Float32Array(_0x275677)) : _0x275677 instanceof Float32Array ? this['_gl']['bufferSubData'](this['_gl']['UNIFORM_BUFFER'], 0x0, _0x275677['subarray'](_0x278078, _0x278078 + _0x32d6b9)) : this['_gl']['bufferSubData'](this['_gl']['UNIFORM_BUFFER'], 0x0, new Float32Array(_0x275677)['subarray'](_0x278078, _0x278078 + _0x32d6b9)),
this['bindUniformBuffer'](null);
}
,
_0x2b36d6['prototype']['_resetVertexBufferBinding'] = function() {
this['bindArrayBuffer'](null),
this['_cachedVertexBuffers'] = null;
}
,
_0x2b36d6['prototype']['createVertexBuffer'] = function(_0xadddcd) {
var _0x47b2f9 = this['_gl']['createBuffer']();
if (!_0x47b2f9)
throw new Error('Unable\x20to\x20create\x20vertex\x20buffer');
var _0x5b53a9 = new _0x5f2dad['a'](_0x47b2f9);
return this['bindArrayBuffer'](_0x5b53a9),
_0xadddcd instanceof Array ? this['_gl']['bufferData'](this['_gl']['ARRAY_BUFFER'], new Float32Array(_0xadddcd), this['_gl']['STATIC_DRAW']) : this['_gl']['bufferData'](this['_gl']['ARRAY_BUFFER'], _0xadddcd, this['_gl']['STATIC_DRAW']),
this['_resetVertexBufferBinding'](),
_0x5b53a9['references'] = 0x1,
_0x5b53a9;
}
,
_0x2b36d6['prototype']['createDynamicVertexBuffer'] = function(_0x5ce0a4) {
var _0x34c1c8 = this['_gl']['createBuffer']();
if (!_0x34c1c8)
throw new Error('Unable\x20to\x20create\x20dynamic\x20vertex\x20buffer');
var _0x4cc81f = new _0x5f2dad['a'](_0x34c1c8);
return this['bindArrayBuffer'](_0x4cc81f),
_0x5ce0a4 instanceof Array ? this['_gl']['bufferData'](this['_gl']['ARRAY_BUFFER'], new Float32Array(_0x5ce0a4), this['_gl']['DYNAMIC_DRAW']) : this['_gl']['bufferData'](this['_gl']['ARRAY_BUFFER'], _0x5ce0a4, this['_gl']['DYNAMIC_DRAW']),
this['_resetVertexBufferBinding'](),
_0x4cc81f['references'] = 0x1,
_0x4cc81f;
}
,
_0x2b36d6['prototype']['updateDynamicIndexBuffer'] = function(_0xc50df9, _0x419a7a, _0x56e8e4) {
var _0x4a762e;
void 0x0 === _0x56e8e4 && (_0x56e8e4 = 0x0),
this['_currentBoundBuffer'][this['_gl']['ELEMENT_ARRAY_BUFFER']] = null,
this['bindIndexBuffer'](_0xc50df9),
_0x4a762e = _0x419a7a instanceof Uint16Array || _0x419a7a instanceof Uint32Array ? _0x419a7a : _0xc50df9['is32Bits'] ? new Uint32Array(_0x419a7a) : new Uint16Array(_0x419a7a),
this['_gl']['bufferData'](this['_gl']['ELEMENT_ARRAY_BUFFER'], _0x4a762e, this['_gl']['DYNAMIC_DRAW']),
this['_resetIndexBufferBinding']();
}
,
_0x2b36d6['prototype']['updateDynamicVertexBuffer'] = function(_0x409466, _0xb709df, _0x47b8eb, _0x354284) {
this['bindArrayBuffer'](_0x409466),
void 0x0 === _0x47b8eb && (_0x47b8eb = 0x0),
void 0x0 === _0x354284 ? _0xb709df instanceof Array ? this['_gl']['bufferSubData'](this['_gl']['ARRAY_BUFFER'], _0x47b8eb, new Float32Array(_0xb709df)) : this['_gl']['bufferSubData'](this['_gl']['ARRAY_BUFFER'], _0x47b8eb, _0xb709df) : _0xb709df instanceof Array ? this['_gl']['bufferSubData'](this['_gl']['ARRAY_BUFFER'], 0x0, new Float32Array(_0xb709df)['subarray'](_0x47b8eb, _0x47b8eb + _0x354284)) : (_0xb709df = _0xb709df instanceof ArrayBuffer ? new Uint8Array(_0xb709df,_0x47b8eb,_0x354284) : new Uint8Array(_0xb709df['buffer'],_0xb709df['byteOffset'] + _0x47b8eb,_0x354284),
this['_gl']['bufferSubData'](this['_gl']['ARRAY_BUFFER'], 0x0, _0xb709df)),
this['_resetVertexBufferBinding']();
}
,
_0x2b36d6['prototype']['_resetIndexBufferBinding'] = function() {
this['bindIndexBuffer'](null),
this['_cachedIndexBuffer'] = null;
}
,
_0x2b36d6['prototype']['createIndexBuffer'] = function(_0x357d51, _0x2b43c5) {
var _0x59ff95, _0x463384 = this['_gl']['createBuffer'](), _0x19526c = new _0x5f2dad['a'](_0x463384);
if (!_0x463384)
throw new Error('Unable\x20to\x20create\x20index\x20buffer');
this['bindIndexBuffer'](_0x19526c);
var _0x158032 = !0x1;
if (_0x357d51 instanceof Uint16Array)
_0x59ff95 = _0x357d51;
else if (this['_caps']['uintIndices'])
if (_0x357d51 instanceof Uint32Array)
_0x59ff95 = _0x357d51,
_0x158032 = !0x0;
else {
for (var _0x40e238 = 0x0; _0x40e238 < _0x357d51['length']; _0x40e238++)
if (_0x357d51[_0x40e238] > 0xffff) {
_0x158032 = !0x0;
break;
}
_0x59ff95 = _0x158032 ? new Uint32Array(_0x357d51) : new Uint16Array(_0x357d51);
}
else
_0x59ff95 = new Uint16Array(_0x357d51);
return this['_gl']['bufferData'](this['_gl']['ELEMENT_ARRAY_BUFFER'], _0x59ff95, _0x2b43c5 ? this['_gl']['DYNAMIC_DRAW'] : this['_gl']['STATIC_DRAW']),
this['_resetIndexBufferBinding'](),
_0x19526c['references'] = 0x1,
_0x19526c['is32Bits'] = _0x158032,
_0x19526c;
}
,
_0x2b36d6['prototype']['bindArrayBuffer'] = function(_0x58e1f6) {
this['_vaoRecordInProgress'] || this['_unbindVertexArrayObject'](),
this['bindBuffer'](_0x58e1f6, this['_gl']['ARRAY_BUFFER']);
}
,
_0x2b36d6['prototype']['bindUniformBuffer'] = function(_0x5705c2) {
this['_gl']['bindBuffer'](this['_gl']['UNIFORM_BUFFER'], _0x5705c2 ? _0x5705c2['underlyingResource'] : null);
}
,
_0x2b36d6['prototype']['bindUniformBufferBase'] = function(_0x4d09a7, _0x143ff2) {
this['_gl']['bindBufferBase'](this['_gl']['UNIFORM_BUFFER'], _0x143ff2, _0x4d09a7 ? _0x4d09a7['underlyingResource'] : null);
}
,
_0x2b36d6['prototype']['bindUniformBlock'] = function(_0x2a1020, _0x469f5d, _0x3e7759) {
var _0x2b51d2 = _0x2a1020['program']
, _0x5ef28a = this['_gl']['getUniformBlockIndex'](_0x2b51d2, _0x469f5d);
this['_gl']['uniformBlockBinding'](_0x2b51d2, _0x5ef28a, _0x3e7759);
}
,
_0x2b36d6['prototype']['bindIndexBuffer'] = function(_0x2fabab) {
this['_vaoRecordInProgress'] || this['_unbindVertexArrayObject'](),
this['bindBuffer'](_0x2fabab, this['_gl']['ELEMENT_ARRAY_BUFFER']);
}
,
_0x2b36d6['prototype']['bindBuffer'] = function(_0x1c93b7, _0x432288) {
(this['_vaoRecordInProgress'] || this['_currentBoundBuffer'][_0x432288] !== _0x1c93b7) && (this['_gl']['bindBuffer'](_0x432288, _0x1c93b7 ? _0x1c93b7['underlyingResource'] : null),
this['_currentBoundBuffer'][_0x432288] = _0x1c93b7);
}
,
_0x2b36d6['prototype']['updateArrayBuffer'] = function(_0x37c66d) {
this['_gl']['bufferSubData'](this['_gl']['ARRAY_BUFFER'], 0x0, _0x37c66d);
}
,
_0x2b36d6['prototype']['_vertexAttribPointer'] = function(_0x32d8ea, _0x20f99c, _0x44cd3b, _0x5d520a, _0x2832d4, _0x2125ef, _0xc0f6d2) {
var _0x58f258 = this['_currentBufferPointers'][_0x20f99c]
, _0x2014eb = !0x1;
_0x58f258['active'] ? (_0x58f258['buffer'] !== _0x32d8ea && (_0x58f258['buffer'] = _0x32d8ea,
_0x2014eb = !0x0),
_0x58f258['size'] !== _0x44cd3b && (_0x58f258['size'] = _0x44cd3b,
_0x2014eb = !0x0),
_0x58f258['type'] !== _0x5d520a && (_0x58f258['type'] = _0x5d520a,
_0x2014eb = !0x0),
_0x58f258['normalized'] !== _0x2832d4 && (_0x58f258['normalized'] = _0x2832d4,
_0x2014eb = !0x0),
_0x58f258['stride'] !== _0x2125ef && (_0x58f258['stride'] = _0x2125ef,
_0x2014eb = !0x0),
_0x58f258['offset'] !== _0xc0f6d2 && (_0x58f258['offset'] = _0xc0f6d2,
_0x2014eb = !0x0)) : (_0x2014eb = !0x0,
_0x58f258['active'] = !0x0,
_0x58f258['index'] = _0x20f99c,
_0x58f258['size'] = _0x44cd3b,
_0x58f258['type'] = _0x5d520a,
_0x58f258['normalized'] = _0x2832d4,
_0x58f258['stride'] = _0x2125ef,
_0x58f258['offset'] = _0xc0f6d2,
_0x58f258['buffer'] = _0x32d8ea),
(_0x2014eb || this['_vaoRecordInProgress']) && (this['bindArrayBuffer'](_0x32d8ea),
this['_gl']['vertexAttribPointer'](_0x20f99c, _0x44cd3b, _0x5d520a, _0x2832d4, _0x2125ef, _0xc0f6d2));
}
,
_0x2b36d6['prototype']['_bindIndexBufferWithCache'] = function(_0x19d001) {
null != _0x19d001 && this['_cachedIndexBuffer'] !== _0x19d001 && (this['_cachedIndexBuffer'] = _0x19d001,
this['bindIndexBuffer'](_0x19d001),
this['_uintIndicesCurrentlySet'] = _0x19d001['is32Bits']);
}
,
_0x2b36d6['prototype']['_bindVertexBuffersAttributes'] = function(_0x9823fc, _0x3bf868) {
var _0x322c75 = _0x3bf868['getAttributesNames']();
this['_vaoRecordInProgress'] || this['_unbindVertexArrayObject'](),
this['unbindAllAttributes']();
for (var _0x27ce98 = 0x0; _0x27ce98 < _0x322c75['length']; _0x27ce98++) {
var _0x43282c = _0x3bf868['getAttributeLocation'](_0x27ce98);
if (_0x43282c >= 0x0) {
var _0x2683c4 = _0x9823fc[_0x322c75[_0x27ce98]];
if (!_0x2683c4)
continue;
this['_gl']['enableVertexAttribArray'](_0x43282c),
this['_vaoRecordInProgress'] || (this['_vertexAttribArraysEnabled'][_0x43282c] = !0x0);
var _0x4940a6 = _0x2683c4['getBuffer']();
_0x4940a6 && (this['_vertexAttribPointer'](_0x4940a6, _0x43282c, _0x2683c4['getSize'](), _0x2683c4['type'], _0x2683c4['normalized'], _0x2683c4['byteStride'], _0x2683c4['byteOffset']),
_0x2683c4['getIsInstanced']() && (this['_gl']['vertexAttribDivisor'](_0x43282c, _0x2683c4['getInstanceDivisor']()),
this['_vaoRecordInProgress'] || (this['_currentInstanceLocations']['push'](_0x43282c),
this['_currentInstanceBuffers']['push'](_0x4940a6))));
}
}
}
,
_0x2b36d6['prototype']['recordVertexArrayObject'] = function(_0x33b930, _0x53764e, _0x1bb3e0) {
var _0x351d97 = this['_gl']['createVertexArray']();
return this['_vaoRecordInProgress'] = !0x0,
this['_gl']['bindVertexArray'](_0x351d97),
this['_mustWipeVertexAttributes'] = !0x0,
this['_bindVertexBuffersAttributes'](_0x33b930, _0x1bb3e0),
this['bindIndexBuffer'](_0x53764e),
this['_vaoRecordInProgress'] = !0x1,
this['_gl']['bindVertexArray'](null),
_0x351d97;
}
,
_0x2b36d6['prototype']['bindVertexArrayObject'] = function(_0x39a1f3, _0x50a008) {
this['_cachedVertexArrayObject'] !== _0x39a1f3 && (this['_cachedVertexArrayObject'] = _0x39a1f3,
this['_gl']['bindVertexArray'](_0x39a1f3),
this['_cachedVertexBuffers'] = null,
this['_cachedIndexBuffer'] = null,
this['_uintIndicesCurrentlySet'] = null != _0x50a008 && _0x50a008['is32Bits'],
this['_mustWipeVertexAttributes'] = !0x0);
}
,
_0x2b36d6['prototype']['bindBuffersDirectly'] = function(_0x118c94, _0x10d633, _0xdaeb88, _0x3fc89c, _0x507531) {
if (this['_cachedVertexBuffers'] !== _0x118c94 || this['_cachedEffectForVertexBuffers'] !== _0x507531) {
this['_cachedVertexBuffers'] = _0x118c94,
this['_cachedEffectForVertexBuffers'] = _0x507531;
var _0x5d1123 = _0x507531['getAttributesCount']();
this['_unbindVertexArrayObject'](),
this['unbindAllAttributes']();
for (var _0x122ebe = 0x0, _0x1fb9b3 = 0x0; _0x1fb9b3 < _0x5d1123; _0x1fb9b3++)
if (_0x1fb9b3 < _0xdaeb88['length']) {
var _0x28a24d = _0x507531['getAttributeLocation'](_0x1fb9b3);
_0x28a24d >= 0x0 && (this['_gl']['enableVertexAttribArray'](_0x28a24d),
this['_vertexAttribArraysEnabled'][_0x28a24d] = !0x0,
this['_vertexAttribPointer'](_0x118c94, _0x28a24d, _0xdaeb88[_0x1fb9b3], this['_gl']['FLOAT'], !0x1, _0x3fc89c, _0x122ebe)),
_0x122ebe += 0x4 * _0xdaeb88[_0x1fb9b3];
}
}
this['_bindIndexBufferWithCache'](_0x10d633);
}
,
_0x2b36d6['prototype']['_unbindVertexArrayObject'] = function() {
this['_cachedVertexArrayObject'] && (this['_cachedVertexArrayObject'] = null,
this['_gl']['bindVertexArray'](null));
}
,
_0x2b36d6['prototype']['bindBuffers'] = function(_0x4bd29e, _0x49b8ab, _0x1325ce) {
this['_cachedVertexBuffers'] === _0x4bd29e && this['_cachedEffectForVertexBuffers'] === _0x1325ce || (this['_cachedVertexBuffers'] = _0x4bd29e,
this['_cachedEffectForVertexBuffers'] = _0x1325ce,
this['_bindVertexBuffersAttributes'](_0x4bd29e, _0x1325ce)),
this['_bindIndexBufferWithCache'](_0x49b8ab);
}
,
_0x2b36d6['prototype']['unbindInstanceAttributes'] = function() {
for (var _0x1b4a99, _0x22c8c8 = 0x0, _0x480eb0 = this['_currentInstanceLocations']['length']; _0x22c8c8 < _0x480eb0; _0x22c8c8++) {
var _0x58c176 = this['_currentInstanceBuffers'][_0x22c8c8];
_0x1b4a99 != _0x58c176 && _0x58c176['references'] && (_0x1b4a99 = _0x58c176,
this['bindArrayBuffer'](_0x58c176));
var _0x4d232a = this['_currentInstanceLocations'][_0x22c8c8];
this['_gl']['vertexAttribDivisor'](_0x4d232a, 0x0);
}
this['_currentInstanceBuffers']['length'] = 0x0,
this['_currentInstanceLocations']['length'] = 0x0;
}
,
_0x2b36d6['prototype']['releaseVertexArrayObject'] = function(_0x1e5490) {
this['_gl']['deleteVertexArray'](_0x1e5490);
}
,
_0x2b36d6['prototype']['_releaseBuffer'] = function(_0x430312) {
return _0x430312['references']--,
0x0 === _0x430312['references'] && (this['_gl']['deleteBuffer'](_0x430312['underlyingResource']),
!0x0);
}
,
_0x2b36d6['prototype']['createInstancesBuffer'] = function(_0xbb01fd) {
var _0x3edca5 = this['_gl']['createBuffer']();
if (!_0x3edca5)
throw new Error('Unable\x20to\x20create\x20instance\x20buffer');
var _0x275d72 = new _0x5f2dad['a'](_0x3edca5);
return _0x275d72['capacity'] = _0xbb01fd,
this['bindArrayBuffer'](_0x275d72),
this['_gl']['bufferData'](this['_gl']['ARRAY_BUFFER'], _0xbb01fd, this['_gl']['DYNAMIC_DRAW']),
_0x275d72;
}
,
_0x2b36d6['prototype']['deleteInstancesBuffer'] = function(_0x2cf33a) {
this['_gl']['deleteBuffer'](_0x2cf33a);
}
,
_0x2b36d6['prototype']['updateAndBindInstancesBuffer'] = function(_0x13cd7c, _0x107ff9, _0x2ac64b) {
if (this['bindArrayBuffer'](_0x13cd7c),
_0x107ff9 && this['_gl']['bufferSubData'](this['_gl']['ARRAY_BUFFER'], 0x0, _0x107ff9),
void 0x0 !== _0x2ac64b[0x0]['index']) {
for (var _0x22f955 = 0x0, _0x310435 = 0x0; _0x310435 < _0x2ac64b['length']; _0x310435++) {
_0x22f955 += 0x4 * (_0x1a3623 = _0x2ac64b[_0x310435])['attributeSize'];
}
for (_0x310435 = 0x0; _0x310435 < _0x2ac64b['length']; _0x310435++) {
var _0x1a3623 = _0x2ac64b[_0x310435];
this['_vertexAttribArraysEnabled'][_0x1a3623['index']] || (this['_gl']['enableVertexAttribArray'](_0x1a3623['index']),
this['_vertexAttribArraysEnabled'][_0x1a3623['index']] = !0x0),
this['_vertexAttribPointer'](_0x13cd7c, _0x1a3623['index'], _0x1a3623['attributeSize'], _0x1a3623['attribyteType'] || this['_gl']['FLOAT'], _0x1a3623['normalized'] || !0x1, _0x22f955, _0x1a3623['offset']),
this['_gl']['vertexAttribDivisor'](_0x1a3623['index'], 0x1),
this['_currentInstanceLocations']['push'](_0x1a3623['index']),
this['_currentInstanceBuffers']['push'](_0x13cd7c);
}
} else
for (var _0x5bfaf8 = 0x0; _0x5bfaf8 < 0x4; _0x5bfaf8++) {
var _0x164526 = _0x2ac64b[_0x5bfaf8];
this['_vertexAttribArraysEnabled'][_0x164526] || (this['_gl']['enableVertexAttribArray'](_0x164526),
this['_vertexAttribArraysEnabled'][_0x164526] = !0x0),
this['_vertexAttribPointer'](_0x13cd7c, _0x164526, 0x4, this['_gl']['FLOAT'], !0x1, 0x40, 0x10 * _0x5bfaf8),
this['_gl']['vertexAttribDivisor'](_0x164526, 0x1),
this['_currentInstanceLocations']['push'](_0x164526),
this['_currentInstanceBuffers']['push'](_0x13cd7c);
}
}
,
_0x2b36d6['prototype']['applyStates'] = function() {
this['_depthCullingState']['apply'](this['_gl']),
this['_stencilState']['apply'](this['_gl']),
this['_alphaState']['apply'](this['_gl']);
}
,
_0x2b36d6['prototype']['draw'] = function(_0x252ff5, _0x31b8e5, _0xc1f60b, _0x35ee03) {
this['drawElementsType'](_0x252ff5 ? _0x5cd921['a']['TriangleFillMode'] : _0x5cd921['a']['WireFrameFillMode'], _0x31b8e5, _0xc1f60b, _0x35ee03);
}
,
_0x2b36d6['prototype']['drawPointClouds'] = function(_0x5974f6, _0x7e3683, _0x44f77f) {
this['drawArraysType'](_0x5cd921['a']['PointFillMode'], _0x5974f6, _0x7e3683, _0x44f77f);
}
,
_0x2b36d6['prototype']['drawUnIndexed'] = function(_0x2d59c7, _0x4c15a8, _0x3b7f98, _0x40bc36) {
this['drawArraysType'](_0x2d59c7 ? _0x5cd921['a']['TriangleFillMode'] : _0x5cd921['a']['WireFrameFillMode'], _0x4c15a8, _0x3b7f98, _0x40bc36);
}
,
_0x2b36d6['prototype']['drawElementsType'] = function(_0x342ce1, _0x4f03de, _0x52eeea, _0x3c8b8b) {
this['applyStates'](),
this['_drawCalls']['addCount'](0x1, !0x1);
var _0x3344dc = this['_drawMode'](_0x342ce1)
, _0x273b2d = this['_uintIndicesCurrentlySet'] ? this['_gl']['UNSIGNED_INT'] : this['_gl']['UNSIGNED_SHORT']
, _0x28e5dc = this['_uintIndicesCurrentlySet'] ? 0x4 : 0x2;
_0x3c8b8b ? this['_gl']['drawElementsInstanced'](_0x3344dc, _0x52eeea, _0x273b2d, _0x4f03de * _0x28e5dc, _0x3c8b8b) : this['_gl']['drawElements'](_0x3344dc, _0x52eeea, _0x273b2d, _0x4f03de * _0x28e5dc);
}
,
_0x2b36d6['prototype']['drawArraysType'] = function(_0x1d9e55, _0xdb1a7a, _0x539d7d, _0x7f6552) {
this['applyStates'](),
this['_drawCalls']['addCount'](0x1, !0x1);
var _0x12e511 = this['_drawMode'](_0x1d9e55);
_0x7f6552 ? this['_gl']['drawArraysInstanced'](_0x12e511, _0xdb1a7a, _0x539d7d, _0x7f6552) : this['_gl']['drawArrays'](_0x12e511, _0xdb1a7a, _0x539d7d);
}
,
_0x2b36d6['prototype']['_drawMode'] = function(_0x400350) {
switch (_0x400350) {
case _0x5cd921['a']['TriangleFillMode']:
return this['_gl']['TRIANGLES'];
case _0x5cd921['a']['PointFillMode']:
return this['_gl']['POINTS'];
case _0x5cd921['a']['WireFrameFillMode']:
return this['_gl']['LINES'];
case _0x5cd921['a']['PointListDrawMode']:
return this['_gl']['POINTS'];
case _0x5cd921['a']['LineListDrawMode']:
return this['_gl']['LINES'];
case _0x5cd921['a']['LineLoopDrawMode']:
return this['_gl']['LINE_LOOP'];
case _0x5cd921['a']['LineStripDrawMode']:
return this['_gl']['LINE_STRIP'];
case _0x5cd921['a']['TriangleStripDrawMode']:
return this['_gl']['TRIANGLE_STRIP'];
case _0x5cd921['a']['TriangleFanDrawMode']:
return this['_gl']['TRIANGLE_FAN'];
default:
return this['_gl']['TRIANGLES'];
}
}
,
_0x2b36d6['prototype']['_releaseEffect'] = function(_0x44d2ad) {
this['_compiledEffects'][_0x44d2ad['_key']] && (delete this['_compiledEffects'][_0x44d2ad['_key']],
this['_deletePipelineContext'](_0x44d2ad['getPipelineContext']()));
}
,
_0x2b36d6['prototype']['_deletePipelineContext'] = function(_0x3c5d0b) {
var _0x250446 = _0x3c5d0b;
_0x250446 && _0x250446['program'] && (_0x250446['program']['__SPECTOR_rebuildProgram'] = null,
_0x250446['transformFeedback'] && (this['deleteTransformFeedback'](_0x250446['transformFeedback']),
_0x250446['transformFeedback'] = null),
this['_gl']['deleteProgram'](_0x250446['program']));
}
,
_0x2b36d6['prototype']['createEffect'] = function(_0x378bf1, _0x45ea46, _0x478e6d, _0x180d4a, _0x4e613b, _0x1a174b, _0x3a2cfb, _0x4a7fdc, _0x2fe8ea) {
var _0x449102 = (_0x378bf1['vertexElement'] || _0x378bf1['vertex'] || _0x378bf1) + '+' + (_0x378bf1['fragmentElement'] || _0x378bf1['fragment'] || _0x378bf1) + '@' + (_0x4e613b || _0x45ea46['defines']);
if (this['_compiledEffects'][_0x449102]) {
var _0x1464c0 = this['_compiledEffects'][_0x449102];
return _0x3a2cfb && _0x1464c0['isReady']() && _0x3a2cfb(_0x1464c0),
_0x1464c0;
}
var _0x4bf10b = new _0x12c9c8['a'](_0x378bf1,_0x45ea46,_0x478e6d,_0x180d4a,this,_0x4e613b,_0x1a174b,_0x3a2cfb,_0x4a7fdc,_0x2fe8ea);
return _0x4bf10b['_key'] = _0x449102,
this['_compiledEffects'][_0x449102] = _0x4bf10b,
_0x4bf10b;
}
,
_0x2b36d6['prototype']['_compileShader'] = function(_0x473091, _0x2b62aa, _0x39c384, _0xa5967a) {
return this['_compileRawShader'](_0xa5967a + (_0x39c384 ? _0x39c384 + '\x0a' : '') + _0x473091, _0x2b62aa);
}
,
_0x2b36d6['prototype']['_compileRawShader'] = function(_0x5e7bc8, _0x2fd831) {
var _0x13ba8b = this['_gl']
, _0xc83f76 = _0x13ba8b['createShader']('vertex' === _0x2fd831 ? _0x13ba8b['VERTEX_SHADER'] : _0x13ba8b['FRAGMENT_SHADER']);
if (!_0xc83f76)
throw new Error('Something\x20went\x20wrong\x20while\x20compile\x20the\x20shader.');
return _0x13ba8b['shaderSource'](_0xc83f76, _0x5e7bc8),
_0x13ba8b['compileShader'](_0xc83f76),
_0xc83f76;
}
,
_0x2b36d6['prototype']['createRawShaderProgram'] = function(_0x3d477a, _0x22fe99, _0x5bab20, _0x50d4b1, _0x267b4f) {
void 0x0 === _0x267b4f && (_0x267b4f = null),
_0x50d4b1 = _0x50d4b1 || this['_gl'];
var _0x18bf6a = this['_compileRawShader'](_0x22fe99, 'vertex')
, _0x2b9aef = this['_compileRawShader'](_0x5bab20, 'fragment');
return this['_createShaderProgram'](_0x3d477a, _0x18bf6a, _0x2b9aef, _0x50d4b1, _0x267b4f);
}
,
_0x2b36d6['prototype']['createShaderProgram'] = function(_0xcde3bf, _0x34d818, _0x28debb, _0x26bc61, _0x41baa2, _0x1b92b0) {
void 0x0 === _0x1b92b0 && (_0x1b92b0 = null),
_0x41baa2 = _0x41baa2 || this['_gl'],
this['onBeforeShaderCompilationObservable']['notifyObservers'](this);
var _0x4b33a5 = this['_webGLVersion'] > 0x1 ? '#version\x20300\x20es\x0a#define\x20WEBGL2\x20\x0a' : ''
, _0x4949e4 = this['_compileShader'](_0x34d818, 'vertex', _0x26bc61, _0x4b33a5)
, _0x2c82fa = this['_compileShader'](_0x28debb, 'fragment', _0x26bc61, _0x4b33a5)
, _0x143d81 = this['_createShaderProgram'](_0xcde3bf, _0x4949e4, _0x2c82fa, _0x41baa2, _0x1b92b0);
return this['onAfterShaderCompilationObservable']['notifyObservers'](this),
_0x143d81;
}
,
_0x2b36d6['prototype']['createPipelineContext'] = function() {
var _0x3c95c2 = new _0x5ad3c1['a']();
return _0x3c95c2['engine'] = this,
this['_caps']['parallelShaderCompile'] && (_0x3c95c2['isParallelCompiled'] = !0x0),
_0x3c95c2;
}
,
_0x2b36d6['prototype']['_createShaderProgram'] = function(_0x551340, _0x20be82, _0x8e2c11, _0x464f99, _0x44654b) {
void 0x0 === _0x44654b && (_0x44654b = null);
var _0x245ba6 = _0x464f99['createProgram']();
if (_0x551340['program'] = _0x245ba6,
!_0x245ba6)
throw new Error('Unable\x20to\x20create\x20program');
if (_0x464f99['attachShader'](_0x245ba6, _0x20be82),
_0x464f99['attachShader'](_0x245ba6, _0x8e2c11),
this['webGLVersion'] > 0x1 && _0x44654b) {
var _0x121e51 = this['createTransformFeedback']();
this['bindTransformFeedback'](_0x121e51),
this['setTranformFeedbackVaryings'](_0x245ba6, _0x44654b),
_0x551340['transformFeedback'] = _0x121e51;
}
return _0x464f99['linkProgram'](_0x245ba6),
this['webGLVersion'] > 0x1 && _0x44654b && this['bindTransformFeedback'](null),
_0x551340['context'] = _0x464f99,
_0x551340['vertexShader'] = _0x20be82,
_0x551340['fragmentShader'] = _0x8e2c11,
_0x551340['isParallelCompiled'] || this['_finalizePipelineContext'](_0x551340),
_0x245ba6;
}
,
_0x2b36d6['prototype']['_finalizePipelineContext'] = function(_0x2806bb) {
var _0x1e00fb = _0x2806bb['context']
, _0x9ac244 = _0x2806bb['vertexShader']
, _0x3a356f = _0x2806bb['fragmentShader']
, _0x2448e4 = _0x2806bb['program'];
if (!_0x1e00fb['getProgramParameter'](_0x2448e4, _0x1e00fb['LINK_STATUS'])) {
var _0x197f1e, _0x3919cd;
if (!this['_gl']['getShaderParameter'](_0x9ac244, this['_gl']['COMPILE_STATUS']))
if (_0x197f1e = this['_gl']['getShaderInfoLog'](_0x9ac244))
throw new Error(_0x197f1e);
if (!this['_gl']['getShaderParameter'](_0x3a356f, this['_gl']['COMPILE_STATUS']))
if (_0x197f1e = this['_gl']['getShaderInfoLog'](_0x3a356f))
throw new Error(_0x197f1e);
if (_0x3919cd = _0x1e00fb['getProgramInfoLog'](_0x2448e4))
throw new Error(_0x3919cd);
}
if (this['validateShaderPrograms'] && (_0x1e00fb['validateProgram'](_0x2448e4),
!_0x1e00fb['getProgramParameter'](_0x2448e4, _0x1e00fb['VALIDATE_STATUS']) && (_0x3919cd = _0x1e00fb['getProgramInfoLog'](_0x2448e4))))
throw new Error(_0x3919cd);
_0x1e00fb['deleteShader'](_0x9ac244),
_0x1e00fb['deleteShader'](_0x3a356f),
_0x2806bb['vertexShader'] = void 0x0,
_0x2806bb['fragmentShader'] = void 0x0,
_0x2806bb['onCompiled'] && (_0x2806bb['onCompiled'](),
_0x2806bb['onCompiled'] = void 0x0);
}
,
_0x2b36d6['prototype']['_preparePipelineContext'] = function(_0x2f26e3, _0x6eab4f, _0x428a27, _0x1a2a6c, _0x309306, _0x289500, _0x6f54ac) {
var _0x9eae9b = _0x2f26e3;
_0x9eae9b['program'] = _0x1a2a6c ? this['createRawShaderProgram'](_0x9eae9b, _0x6eab4f, _0x428a27, void 0x0, _0x6f54ac) : this['createShaderProgram'](_0x9eae9b, _0x6eab4f, _0x428a27, _0x289500, void 0x0, _0x6f54ac),
_0x9eae9b['program']['__SPECTOR_rebuildProgram'] = _0x309306;
}
,
_0x2b36d6['prototype']['_isRenderingStateCompiled'] = function(_0x4af9f1) {
var _0x5ce049 = _0x4af9f1;
return !!this['_gl']['getProgramParameter'](_0x5ce049['program'], this['_caps']['parallelShaderCompile']['COMPLETION_STATUS_KHR']) && (this['_finalizePipelineContext'](_0x5ce049),
!0x0);
}
,
_0x2b36d6['prototype']['_executeWhenRenderingStateIsCompiled'] = function(_0x471de0, _0x2b9cf3) {
var _0x9ea071 = _0x471de0;
_0x9ea071['isParallelCompiled'] ? _0x9ea071['onCompiled'] = _0x2b9cf3 : _0x2b9cf3();
}
,
_0x2b36d6['prototype']['getUniforms'] = function(_0x3f6fb6, _0x27ed28) {
for (var _0x4a48c8 = new Array(), _0x4458f6 = _0x3f6fb6, _0x1c1e0a = 0x0; _0x1c1e0a < _0x27ed28['length']; _0x1c1e0a++)
_0x4a48c8['push'](this['_gl']['getUniformLocation'](_0x4458f6['program'], _0x27ed28[_0x1c1e0a]));
return _0x4a48c8;
}
,
_0x2b36d6['prototype']['getAttributes'] = function(_0x1f9cde, _0xffed1d) {
for (var _0x36dc19 = [], _0x1140af = _0x1f9cde, _0x1ea41d = 0x0; _0x1ea41d < _0xffed1d['length']; _0x1ea41d++)
try {
_0x36dc19['push'](this['_gl']['getAttribLocation'](_0x1140af['program'], _0xffed1d[_0x1ea41d]));
} catch (_0x42e104) {
_0x36dc19['push'](-0x1);
}
return _0x36dc19;
}
,
_0x2b36d6['prototype']['enableEffect'] = function(_0x46e323) {
_0x46e323 && _0x46e323 !== this['_currentEffect'] && (this['bindSamplers'](_0x46e323),
this['_currentEffect'] = _0x46e323,
_0x46e323['onBind'] && _0x46e323['onBind'](_0x46e323),
_0x46e323['_onBindObservable'] && _0x46e323['_onBindObservable']['notifyObservers'](_0x46e323));
}
,
_0x2b36d6['prototype']['setIntArray'] = function(_0x2ac254, _0x203589) {
_0x2ac254 && this['_gl']['uniform1iv'](_0x2ac254, _0x203589);
}
,
_0x2b36d6['prototype']['setIntArray2'] = function(_0x56f82, _0x3e3fe2) {
_0x56f82 && _0x3e3fe2['length'] % 0x2 == 0x0 && this['_gl']['uniform2iv'](_0x56f82, _0x3e3fe2);
}
,
_0x2b36d6['prototype']['setIntArray3'] = function(_0x133ed3, _0x31f039) {
_0x133ed3 && _0x31f039['length'] % 0x3 == 0x0 && this['_gl']['uniform3iv'](_0x133ed3, _0x31f039);
}
,
_0x2b36d6['prototype']['setIntArray4'] = function(_0x2d69b6, _0x1ac7d1) {
_0x2d69b6 && _0x1ac7d1['length'] % 0x4 == 0x0 && this['_gl']['uniform4iv'](_0x2d69b6, _0x1ac7d1);
}
,
_0x2b36d6['prototype']['setFloatArray'] = function(_0x336214, _0x58d2e1) {
_0x336214 && this['_gl']['uniform1fv'](_0x336214, _0x58d2e1);
}
,
_0x2b36d6['prototype']['setFloatArray2'] = function(_0x32236a, _0x5d3fd9) {
_0x32236a && _0x5d3fd9['length'] % 0x2 == 0x0 && this['_gl']['uniform2fv'](_0x32236a, _0x5d3fd9);
}
,
_0x2b36d6['prototype']['setFloatArray3'] = function(_0x5e0997, _0x393958) {
_0x5e0997 && _0x393958['length'] % 0x3 == 0x0 && this['_gl']['uniform3fv'](_0x5e0997, _0x393958);
}
,
_0x2b36d6['prototype']['setFloatArray4'] = function(_0x3825e9, _0x1a88dd) {
_0x3825e9 && _0x1a88dd['length'] % 0x4 == 0x0 && this['_gl']['uniform4fv'](_0x3825e9, _0x1a88dd);
}
,
_0x2b36d6['prototype']['setArray'] = function(_0x28600f, _0x3ac8c2) {
_0x28600f && this['_gl']['uniform1fv'](_0x28600f, _0x3ac8c2);
}
,
_0x2b36d6['prototype']['setArray2'] = function(_0x4697c0, _0x374a15) {
_0x4697c0 && _0x374a15['length'] % 0x2 == 0x0 && this['_gl']['uniform2fv'](_0x4697c0, _0x374a15);
}
,
_0x2b36d6['prototype']['setArray3'] = function(_0x46d5ae, _0x155dce) {
_0x46d5ae && _0x155dce['length'] % 0x3 == 0x0 && this['_gl']['uniform3fv'](_0x46d5ae, _0x155dce);
}
,
_0x2b36d6['prototype']['setArray4'] = function(_0x5c6218, _0x1f442c) {
_0x5c6218 && _0x1f442c['length'] % 0x4 == 0x0 && this['_gl']['uniform4fv'](_0x5c6218, _0x1f442c);
}
,
_0x2b36d6['prototype']['setMatrices'] = function(_0x15624e, _0x5eba1a) {
_0x15624e && this['_gl']['uniformMatrix4fv'](_0x15624e, !0x1, _0x5eba1a);
}
,
_0x2b36d6['prototype']['setMatrix'] = function(_0xd73636, _0x368ae9) {
_0xd73636 && this['_gl']['uniformMatrix4fv'](_0xd73636, !0x1, _0x368ae9['toArray']());
}
,
_0x2b36d6['prototype']['setMatrix3x3'] = function(_0x513a49, _0x212bf3) {
_0x513a49 && this['_gl']['uniformMatrix3fv'](_0x513a49, !0x1, _0x212bf3);
}
,
_0x2b36d6['prototype']['setMatrix2x2'] = function(_0x3c9047, _0x2f80ed) {
_0x3c9047 && this['_gl']['uniformMatrix2fv'](_0x3c9047, !0x1, _0x2f80ed);
}
,
_0x2b36d6['prototype']['setInt'] = function(_0x1dd133, _0x4cd6e8) {
_0x1dd133 && this['_gl']['uniform1i'](_0x1dd133, _0x4cd6e8);
}
,
_0x2b36d6['prototype']['setFloat'] = function(_0x1f6650, _0x4e9d1e) {
_0x1f6650 && this['_gl']['uniform1f'](_0x1f6650, _0x4e9d1e);
}
,
_0x2b36d6['prototype']['setFloat2'] = function(_0xc9663b, _0x149d58, _0x37a41e) {
_0xc9663b && this['_gl']['uniform2f'](_0xc9663b, _0x149d58, _0x37a41e);
}
,
_0x2b36d6['prototype']['setFloat3'] = function(_0x2fa3ad, _0x2220a7, _0x209747, _0x25c2c2) {
_0x2fa3ad && this['_gl']['uniform3f'](_0x2fa3ad, _0x2220a7, _0x209747, _0x25c2c2);
}
,
_0x2b36d6['prototype']['setBool'] = function(_0x597f76, _0x39c54f) {
_0x597f76 && this['_gl']['uniform1i'](_0x597f76, _0x39c54f);
}
,
_0x2b36d6['prototype']['setFloat4'] = function(_0x4aba90, _0x2bc454, _0x45a208, _0x467975, _0x2dcba5) {
_0x4aba90 && this['_gl']['uniform4f'](_0x4aba90, _0x2bc454, _0x45a208, _0x467975, _0x2dcba5);
}
,
_0x2b36d6['prototype']['setColor3'] = function(_0x3c411e, _0x56aa04) {
_0x3c411e && this['_gl']['uniform3f'](_0x3c411e, _0x56aa04['r'], _0x56aa04['g'], _0x56aa04['b']);
}
,
_0x2b36d6['prototype']['setColor4'] = function(_0x5b854e, _0x1a80a8, _0x475fd8) {
_0x5b854e && this['_gl']['uniform4f'](_0x5b854e, _0x1a80a8['r'], _0x1a80a8['g'], _0x1a80a8['b'], _0x475fd8);
}
,
_0x2b36d6['prototype']['setDirectColor4'] = function(_0x4e2364, _0x962693) {
_0x4e2364 && this['_gl']['uniform4f'](_0x4e2364, _0x962693['r'], _0x962693['g'], _0x962693['b'], _0x962693['a']);
}
,
_0x2b36d6['prototype']['setState'] = function(_0x5e9ee0, _0xd3c3c5, _0x137c52, _0x554070) {
void 0x0 === _0xd3c3c5 && (_0xd3c3c5 = 0x0),
void 0x0 === _0x554070 && (_0x554070 = !0x1),
(this['_depthCullingState']['cull'] !== _0x5e9ee0 || _0x137c52) && (this['_depthCullingState']['cull'] = _0x5e9ee0);
var _0xaddc5e = this['cullBackFaces'] ? this['_gl']['BACK'] : this['_gl']['FRONT'];
(this['_depthCullingState']['cullFace'] !== _0xaddc5e || _0x137c52) && (this['_depthCullingState']['cullFace'] = _0xaddc5e),
this['setZOffset'](_0xd3c3c5);
var _0x397de4 = _0x554070 ? this['_gl']['CW'] : this['_gl']['CCW'];
(this['_depthCullingState']['frontFace'] !== _0x397de4 || _0x137c52) && (this['_depthCullingState']['frontFace'] = _0x397de4);
}
,
_0x2b36d6['prototype']['setZOffset'] = function(_0x3acc4b) {
this['_depthCullingState']['zOffset'] = _0x3acc4b;
}
,
_0x2b36d6['prototype']['getZOffset'] = function() {
return this['_depthCullingState']['zOffset'];
}
,
_0x2b36d6['prototype']['setDepthBuffer'] = function(_0x1df17f) {
this['_depthCullingState']['depthTest'] = _0x1df17f;
}
,
_0x2b36d6['prototype']['getDepthWrite'] = function() {
return this['_depthCullingState']['depthMask'];
}
,
_0x2b36d6['prototype']['setDepthWrite'] = function(_0x59776b) {
this['_depthCullingState']['depthMask'] = _0x59776b;
}
,
_0x2b36d6['prototype']['setColorWrite'] = function(_0x38c418) {
this['_gl']['colorMask'](_0x38c418, _0x38c418, _0x38c418, _0x38c418),
this['_colorWrite'] = _0x38c418;
}
,
_0x2b36d6['prototype']['getColorWrite'] = function() {
return this['_colorWrite'];
}
,
_0x2b36d6['prototype']['setAlphaConstants'] = function(_0x3ef9f3, _0x4b4539, _0x279d17, _0x286703) {
this['_alphaState']['setAlphaBlendConstants'](_0x3ef9f3, _0x4b4539, _0x279d17, _0x286703);
}
,
_0x2b36d6['prototype']['setAlphaMode'] = function(_0x327ac8, _0x54c9d8) {
if (void 0x0 === _0x54c9d8 && (_0x54c9d8 = !0x1),
this['_alphaMode'] !== _0x327ac8) {
switch (_0x327ac8) {
case _0x2b36d6['ALPHA_DISABLE']:
this['_alphaState']['alphaBlend'] = !0x1;
break;
case _0x2b36d6['ALPHA_PREMULTIPLIED']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['ONE'], this['_gl']['ONE_MINUS_SRC_ALPHA'], this['_gl']['ONE'], this['_gl']['ONE']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_PREMULTIPLIED_PORTERDUFF']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['ONE'], this['_gl']['ONE_MINUS_SRC_ALPHA'], this['_gl']['ONE'], this['_gl']['ONE_MINUS_SRC_ALPHA']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_COMBINE']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['SRC_ALPHA'], this['_gl']['ONE_MINUS_SRC_ALPHA'], this['_gl']['ONE'], this['_gl']['ONE']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_ONEONE']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['ONE'], this['_gl']['ONE'], this['_gl']['ZERO'], this['_gl']['ONE']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_ADD']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['SRC_ALPHA'], this['_gl']['ONE'], this['_gl']['ZERO'], this['_gl']['ONE']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_SUBTRACT']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['ZERO'], this['_gl']['ONE_MINUS_SRC_COLOR'], this['_gl']['ONE'], this['_gl']['ONE']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_MULTIPLY']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['DST_COLOR'], this['_gl']['ZERO'], this['_gl']['ONE'], this['_gl']['ONE']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_MAXIMIZED']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['SRC_ALPHA'], this['_gl']['ONE_MINUS_SRC_COLOR'], this['_gl']['ONE'], this['_gl']['ONE']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_INTERPOLATE']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['CONSTANT_COLOR'], this['_gl']['ONE_MINUS_CONSTANT_COLOR'], this['_gl']['CONSTANT_ALPHA'], this['_gl']['ONE_MINUS_CONSTANT_ALPHA']),
this['_alphaState']['alphaBlend'] = !0x0;
break;
case _0x2b36d6['ALPHA_SCREENMODE']:
this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl']['ONE'], this['_gl']['ONE_MINUS_SRC_COLOR'], this['_gl']['ONE'], this['_gl']['ONE_MINUS_SRC_ALPHA']),
this['_alphaState']['alphaBlend'] = !0x0;
}
_0x54c9d8 || this['setDepthWrite'](_0x327ac8 === _0x2b36d6['ALPHA_DISABLE']),
this['_alphaMode'] = _0x327ac8;
}
}
,
_0x2b36d6['prototype']['getAlphaMode'] = function() {
return this['_alphaMode'];
}
,
_0x2b36d6['prototype']['clearInternalTexturesCache'] = function() {
this['_internalTexturesCache'] = [];
}
,
_0x2b36d6['prototype']['wipeCaches'] = function(_0x48d307) {
this['preventCacheWipeBetweenFrames'] && !_0x48d307 || (this['_currentEffect'] = null,
this['_viewportCached']['x'] = 0x0,
this['_viewportCached']['y'] = 0x0,
this['_viewportCached']['z'] = 0x0,
this['_viewportCached']['w'] = 0x0,
_0x48d307 && (this['resetTextureCache'](),
this['_currentProgram'] = null,
this['_stencilState']['reset'](),
this['_depthCullingState']['reset'](),
this['setDepthFunctionToLessOrEqual'](),
this['_alphaState']['reset'](),
this['_unpackFlipYCached'] = null),
this['_resetVertexBufferBinding'](),
this['_cachedIndexBuffer'] = null,
this['_cachedEffectForVertexBuffers'] = null,
this['_unbindVertexArrayObject'](),
this['bindIndexBuffer'](null));
}
,
_0x2b36d6['prototype']['setTextureFormatToUse'] = function(_0x5d88fa) {
for (var _0xa85b8d = 0x0, _0x35be61 = this['texturesSupported']['length']; _0xa85b8d < _0x35be61; _0xa85b8d++)
for (var _0x40e70f = 0x0, _0x13e6f6 = _0x5d88fa['length']; _0x40e70f < _0x13e6f6; _0x40e70f++)
if (this['_texturesSupported'][_0xa85b8d] === _0x5d88fa[_0x40e70f]['toLowerCase']())
return this['_textureFormatInUse'] = this['_texturesSupported'][_0xa85b8d];
return this['_textureFormatInUse'] = null,
null;
}
,
_0x2b36d6['prototype']['_getSamplingParameters'] = function(_0x21163d, _0x6e6cd) {
var _0x8b7317 = this['_gl']
, _0x186779 = _0x8b7317['NEAREST']
, _0x112980 = _0x8b7317['NEAREST'];
switch (_0x21163d) {
case _0x2b36d6['TEXTURE_BILINEAR_SAMPLINGMODE']:
_0x186779 = _0x8b7317['LINEAR'],
_0x112980 = _0x6e6cd ? _0x8b7317['LINEAR_MIPMAP_NEAREST'] : _0x8b7317['LINEAR'];
break;
case _0x2b36d6['TEXTURE_TRILINEAR_SAMPLINGMODE']:
_0x186779 = _0x8b7317['LINEAR'],
_0x112980 = _0x6e6cd ? _0x8b7317['LINEAR_MIPMAP_LINEAR'] : _0x8b7317['LINEAR'];
break;
case _0x2b36d6['TEXTURE_NEAREST_SAMPLINGMODE']:
_0x186779 = _0x8b7317['NEAREST'],
_0x112980 = _0x6e6cd ? _0x8b7317['NEAREST_MIPMAP_LINEAR'] : _0x8b7317['NEAREST'];
break;
case _0x2b36d6['TEXTURE_NEAREST_NEAREST_MIPNEAREST']:
_0x186779 = _0x8b7317['NEAREST'],
_0x112980 = _0x6e6cd ? _0x8b7317['NEAREST_MIPMAP_NEAREST'] : _0x8b7317['NEAREST'];
break;
case _0x2b36d6['TEXTURE_NEAREST_LINEAR_MIPNEAREST']:
_0x186779 = _0x8b7317['NEAREST'],
_0x112980 = _0x6e6cd ? _0x8b7317['LINEAR_MIPMAP_NEAREST'] : _0x8b7317['LINEAR'];
break;
case _0x2b36d6['TEXTURE_NEAREST_LINEAR_MIPLINEAR']:
_0x186779 = _0x8b7317['NEAREST'],
_0x112980 = _0x6e6cd ? _0x8b7317['LINEAR_MIPMAP_LINEAR'] : _0x8b7317['LINEAR'];
break;
case _0x2b36d6['TEXTURE_NEAREST_LINEAR']:
_0x186779 = _0x8b7317['NEAREST'],
_0x112980 = _0x8b7317['LINEAR'];
break;
case _0x2b36d6['TEXTURE_NEAREST_NEAREST']:
_0x186779 = _0x8b7317['NEAREST'],
_0x112980 = _0x8b7317['NEAREST'];
break;
case _0x2b36d6['TEXTURE_LINEAR_NEAREST_MIPNEAREST']:
_0x186779 = _0x8b7317['LINEAR'],
_0x112980 = _0x6e6cd ? _0x8b7317['NEAREST_MIPMAP_NEAREST'] : _0x8b7317['NEAREST'];
break;
case _0x2b36d6['TEXTURE_LINEAR_NEAREST_MIPLINEAR']:
_0x186779 = _0x8b7317['LINEAR'],
_0x112980 = _0x6e6cd ? _0x8b7317['NEAREST_MIPMAP_LINEAR'] : _0x8b7317['NEAREST'];
break;
case _0x2b36d6['TEXTURE_LINEAR_LINEAR']:
_0x186779 = _0x8b7317['LINEAR'],
_0x112980 = _0x8b7317['LINEAR'];
break;
case _0x2b36d6['TEXTURE_LINEAR_NEAREST']:
_0x186779 = _0x8b7317['LINEAR'],
_0x112980 = _0x8b7317['NEAREST'];
}
return {
'min': _0x112980,
'mag': _0x186779
};
}
,
_0x2b36d6['prototype']['_createTexture'] = function() {
var _0x438fbf = this['_gl']['createTexture']();
if (!_0x438fbf)
throw new Error('Unable\x20to\x20create\x20texture');
return _0x438fbf;
}
,
_0x2b36d6['prototype']['createTexture'] = function(_0x3bbbdb, _0x9f908d, _0x19ea20, _0x347d5c, _0x4562d3, _0x129a1c, _0x95e5c1, _0x249c21, _0x12ac9a, _0xbd16ba, _0x3c346b, _0x24361c) {
var _0x4b6249 = this;
void 0x0 === _0x4562d3 && (_0x4562d3 = _0x2b36d6['TEXTURE_TRILINEAR_SAMPLINGMODE']),
void 0x0 === _0x129a1c && (_0x129a1c = null),
void 0x0 === _0x95e5c1 && (_0x95e5c1 = null),
void 0x0 === _0x249c21 && (_0x249c21 = null),
void 0x0 === _0x12ac9a && (_0x12ac9a = null),
void 0x0 === _0xbd16ba && (_0xbd16ba = null),
void 0x0 === _0x3c346b && (_0x3c346b = null),
void 0x0 === _0x24361c && (_0x24361c = []);
for (var _0x11b7ae = String(_0x3bbbdb), _0x547f9b = 'data:' === _0x11b7ae['substr'](0x0, 0x5), _0x220874 = 'blob:' === _0x11b7ae['substr'](0x0, 0x5), _0x1c4f6a = _0x547f9b && -0x1 !== _0x11b7ae['indexOf'](';base64,'), _0x2d27c6 = _0x12ac9a || new _0x1a5085['a'](this,_0x1a5085['a']['DATASOURCE_URL']), _0x36413e = _0x11b7ae['lastIndexOf']('.'), _0x340351 = _0x3c346b || (_0x36413e > -0x1 ? _0x11b7ae['substring'](_0x36413e)['toLowerCase']() : ''), _0x11cb00 = null, _0x3460ef = 0x0, _0x4539b7 = _0x2b36d6['_TextureLoaders']; _0x3460ef < _0x4539b7['length']; _0x3460ef++) {
var _0x29c3c6 = _0x4539b7[_0x3460ef];
if (-0x1 === _0x24361c['indexOf'](_0x29c3c6) && _0x29c3c6['canLoad'](_0x340351, this['_textureFormatInUse'], _0x12ac9a, _0x1c4f6a, !!_0x249c21)) {
_0x11cb00 = _0x29c3c6;
break;
}
}
_0x11cb00 && (_0x11b7ae = _0x11cb00['transformUrl'](_0x11b7ae, this['_textureFormatInUse'])),
_0x347d5c && _0x347d5c['_addPendingData'](_0x2d27c6),
_0x2d27c6['url'] = _0x11b7ae,
_0x2d27c6['generateMipMaps'] = !_0x9f908d,
_0x2d27c6['samplingMode'] = _0x4562d3,
_0x2d27c6['invertY'] = _0x19ea20,
this['_doNotHandleContextLost'] || (_0x2d27c6['_buffer'] = _0x249c21);
var _0x470154 = null;
_0x129a1c && !_0x12ac9a && (_0x470154 = _0x2d27c6['onLoadedObservable']['add'](_0x129a1c)),
_0x12ac9a || this['_internalTexturesCache']['push'](_0x2d27c6);
var _0x102ec0 = function(_0x3e0178, _0x516238) {
_0x347d5c && _0x347d5c['_removePendingData'](_0x2d27c6);
var _0x46ca18 = !0x1;
_0x11cb00 && (_0x11cb00['getFallbackTextureUrl'](_0x11b7ae, _0x4b6249['_textureFormatInUse']) && (_0x46ca18 = !0x0,
_0x24361c['push'](_0x11cb00),
_0x49b495['h']['Warn'](_0x11cb00['constructor']['name'] + '\x20failed\x20when\x20trying\x20to\x20load\x20' + _0x2d27c6['url'] + ',\x20falling\x20back\x20to\x20the\x20next\x20supported\x20loader'),
_0x4b6249['createTexture'](_0x3bbbdb, _0x9f908d, _0x2d27c6['invertY'], _0x347d5c, _0x4562d3, null, null, _0x249c21, _0x2d27c6, void 0x0, void 0x0, _0x24361c)));
_0x46ca18 || (_0x470154 && _0x2d27c6['onLoadedObservable']['remove'](_0x470154),
_0x49b495['h']['UseFallbackTexture'] && _0x4b6249['createTexture'](_0x49b495['h']['fallbackTexture'], _0x9f908d, _0x2d27c6['invertY'], _0x347d5c, _0x4562d3, null, null, _0x249c21, _0x2d27c6)),
_0x95e5c1 && _0x95e5c1(_0x3e0178 || 'Unknown\x20error', _0x516238);
};
if (_0x11cb00) {
var _0x735ba1 = function(_0x48fd86) {
_0x11cb00['loadData'](_0x48fd86, _0x2d27c6, function(_0x3a782e, _0x498a90, _0x1d8bfe, _0x5d97ef, _0x5329ca, _0x45876b) {
_0x45876b ? _0x102ec0('TextureLoader\x20failed\x20to\x20load\x20data') : _0x4b6249['_prepareWebGLTexture'](_0x2d27c6, _0x347d5c, _0x3a782e, _0x498a90, _0x2d27c6['invertY'], !_0x1d8bfe, _0x5d97ef, function() {
return _0x5329ca(),
!0x1;
}, _0x4562d3);
});
};
_0x249c21 ? _0x735ba1(_0x249c21) : this['_loadFile'](_0x11b7ae, _0x735ba1, void 0x0, _0x347d5c ? _0x347d5c['offlineProvider'] : void 0x0, !0x0, function(_0x4d2a4c, _0x2c0456) {
_0x102ec0('Unable\x20to\x20load\x20' + (_0x4d2a4c && _0x4d2a4c['responseURL'],
_0x2c0456));
});
} else {
var _0x155afe = function(_0x33359f) {
_0x220874 && !_0x4b6249['_doNotHandleContextLost'] && (_0x2d27c6['_buffer'] = _0x33359f),
_0x4b6249['_prepareWebGLTexture'](_0x2d27c6, _0x347d5c, _0x33359f['width'], _0x33359f['height'], _0x2d27c6['invertY'], _0x9f908d, !0x1, function(_0x3f2543, _0x1b576b, _0x2ef99d) {
var _0x5b241d = _0x4b6249['_gl']
, _0x1dfef9 = _0x33359f['width'] === _0x3f2543 && _0x33359f['height'] === _0x1b576b
, _0x4c825e = _0xbd16ba ? _0x4b6249['_getInternalFormat'](_0xbd16ba) : '.jpg' === _0x340351 ? _0x5b241d['RGB'] : _0x5b241d['RGBA'];
if (_0x1dfef9)
return _0x5b241d['texImage2D'](_0x5b241d['TEXTURE_2D'], 0x0, _0x4c825e, _0x4c825e, _0x5b241d['UNSIGNED_BYTE'], _0x33359f),
!0x1;
var _0x3aecf4 = _0x4b6249['_caps']['maxTextureSize'];
if (_0x33359f['width'] > _0x3aecf4 || _0x33359f['height'] > _0x3aecf4 || null === _0x2b36d6['_RescalePostProcessFactory'])
return _0x4b6249['_prepareWorkingCanvas'](),
!(!_0x4b6249['_workingCanvas'] || !_0x4b6249['_workingContext']) && (_0x4b6249['_workingCanvas']['width'] = _0x3f2543,
_0x4b6249['_workingCanvas']['height'] = _0x1b576b,
_0x4b6249['_workingContext']['drawImage'](_0x33359f, 0x0, 0x0, _0x33359f['width'], _0x33359f['height'], 0x0, 0x0, _0x3f2543, _0x1b576b),
_0x5b241d['texImage2D'](_0x5b241d['TEXTURE_2D'], 0x0, _0x4c825e, _0x4c825e, _0x5b241d['UNSIGNED_BYTE'], _0x4b6249['_workingCanvas']),
_0x2d27c6['width'] = _0x3f2543,
_0x2d27c6['height'] = _0x1b576b,
!0x1);
var _0x4b436a = new _0x1a5085['a'](_0x4b6249,_0x1a5085['a']['DATASOURCE_TEMP']);
return _0x4b6249['_bindTextureDirectly'](_0x5b241d['TEXTURE_2D'], _0x4b436a, !0x0),
_0x5b241d['texImage2D'](_0x5b241d['TEXTURE_2D'], 0x0, _0x4c825e, _0x4c825e, _0x5b241d['UNSIGNED_BYTE'], _0x33359f),
_0x5b241d['texParameteri'](_0x5b241d['TEXTURE_2D'], _0x5b241d['TEXTURE_MAG_FILTER'], _0x5b241d['LINEAR']),
_0x5b241d['texParameteri'](_0x5b241d['TEXTURE_2D'], _0x5b241d['TEXTURE_MIN_FILTER'], _0x5b241d['LINEAR']),
_0x5b241d['texParameteri'](_0x5b241d['TEXTURE_2D'], _0x5b241d['TEXTURE_WRAP_S'], _0x5b241d['CLAMP_TO_EDGE']),
_0x5b241d['texParameteri'](_0x5b241d['TEXTURE_2D'], _0x5b241d['TEXTURE_WRAP_T'], _0x5b241d['CLAMP_TO_EDGE']),
_0x4b6249['_rescaleTexture'](_0x4b436a, _0x2d27c6, _0x347d5c, _0x4c825e, function() {
_0x4b6249['_releaseTexture'](_0x4b436a),
_0x4b6249['_bindTextureDirectly'](_0x5b241d['TEXTURE_2D'], _0x2d27c6, !0x0),
_0x2ef99d();
}),
!0x0;
}, _0x4562d3);
};
!_0x547f9b || _0x1c4f6a ? _0x249c21 instanceof HTMLImageElement ? _0x155afe(_0x249c21) : _0x49b495['h']['LoadImage'](_0x11b7ae, _0x155afe, _0x102ec0, _0x347d5c ? _0x347d5c['offlineProvider'] : null) : 'string' == typeof _0x249c21 || _0x249c21 instanceof ArrayBuffer || _0x249c21 instanceof Blob ? _0x49b495['h']['LoadImage'](_0x249c21, _0x155afe, _0x102ec0, _0x347d5c ? _0x347d5c['offlineProvider'] : null) : _0x155afe(_0x249c21);
}
return _0x2d27c6;
}
,
_0x2b36d6['prototype']['_rescaleTexture'] = function(_0x25bc18, _0x267014, _0x1ad197, _0x1a917f, _0x31b798) {
var _0x3a011a = this
, _0x67783 = this['createRenderTargetTexture']({
'width': _0x267014['width'],
'height': _0x267014['height']
}, {
'generateMipMaps': !0x1,
'type': _0x2b36d6['TEXTURETYPE_UNSIGNED_INT'],
'samplingMode': _0x2b36d6['TEXTURE_BILINEAR_SAMPLINGMODE'],
'generateDepthBuffer': !0x1,
'generateStencilBuffer': !0x1
});
!this['_rescalePostProcess'] && _0x2b36d6['_RescalePostProcessFactory'] && (this['_rescalePostProcess'] = _0x2b36d6['_RescalePostProcessFactory'](this)),
this['_rescalePostProcess']['getEffect']()['executeWhenCompiled'](function() {
_0x3a011a['_rescalePostProcess']['onApply'] = function(_0x124190) {
_0x124190['_bindTexture']('textureSampler', _0x25bc18);
}
;
var _0x5f1a27 = _0x1ad197;
_0x5f1a27 || (_0x5f1a27 = _0x3a011a['scenes'][_0x3a011a['scenes']['length'] - 0x1]),
_0x5f1a27['postProcessManager']['directRender']([_0x3a011a['_rescalePostProcess']], _0x67783, !0x0),
_0x3a011a['_bindTextureDirectly'](_0x3a011a['_gl']['TEXTURE_2D'], _0x267014, !0x0),
_0x3a011a['_gl']['copyTexImage2D'](_0x3a011a['_gl']['TEXTURE_2D'], 0x0, _0x1a917f, 0x0, 0x0, _0x267014['width'], _0x267014['height'], 0x0),
_0x3a011a['unBindFramebuffer'](_0x67783),
_0x3a011a['_releaseTexture'](_0x67783),
_0x31b798 && _0x31b798();
});
}
,
_0x2b36d6['prototype']['createRawTexture'] = function(_0x1a36f2, _0xf00c30, _0x24415e, _0x4ab92f, _0x32f39d, _0x4ccd8e, _0x2b8fe0, _0x4596a5, _0x19f8dd) {
throw void 0x0 === _0x4596a5 && (_0x4596a5 = null),
void 0x0 === _0x19f8dd && (_0x19f8dd = _0x2b36d6['TEXTURETYPE_UNSIGNED_INT']),
_0x51a360['a']['WarnImport']('Engine.RawTexture');
}
,
_0x2b36d6['prototype']['_unpackFlipY'] = function(_0x2a34a5) {
this['_unpackFlipYCached'] !== _0x2a34a5 && (this['_gl']['pixelStorei'](this['_gl']['UNPACK_FLIP_Y_WEBGL'], _0x2a34a5 ? 0x1 : 0x0),
this['enableUnpackFlipYCached'] && (this['_unpackFlipYCached'] = _0x2a34a5));
}
,
_0x2b36d6['prototype']['_getUnpackAlignement'] = function() {
return this['_gl']['getParameter'](this['_gl']['UNPACK_ALIGNMENT']);
}
,
_0x2b36d6['prototype']['createDynamicTexture'] = function(_0x215489, _0x492514, _0x304ec0, _0x38d915) {
var _0x119107 = new _0x1a5085['a'](this,_0x1a5085['a']['DATASOURCE_DYNAMIC']);
return _0x119107['baseWidth'] = _0x215489,
_0x119107['baseHeight'] = _0x492514,
_0x304ec0 && (_0x215489 = this['needPOTTextures'] ? _0x49b495['h']['GetExponentOfTwo'](_0x215489, this['_caps']['maxTextureSize']) : _0x215489,
_0x492514 = this['needPOTTextures'] ? _0x49b495['h']['GetExponentOfTwo'](_0x492514, this['_caps']['maxTextureSize']) : _0x492514),
_0x119107['width'] = _0x215489,
_0x119107['height'] = _0x492514,
_0x119107['isReady'] = !0x1,
_0x119107['generateMipMaps'] = _0x304ec0,
_0x119107['samplingMode'] = _0x38d915,
this['updateTextureSamplingMode'](_0x38d915, _0x119107),
this['_internalTexturesCache']['push'](_0x119107),
_0x119107;
}
,
_0x2b36d6['prototype']['updateTextureSamplingMode'] = function(_0x3a46e6, _0x3cd786) {
var _0x33ac13 = this['_getSamplingParameters'](_0x3a46e6, _0x3cd786['generateMipMaps']);
_0x3cd786['isCube'] ? (this['_setTextureParameterInteger'](this['_gl']['TEXTURE_CUBE_MAP'], this['_gl']['TEXTURE_MAG_FILTER'], _0x33ac13['mag'], _0x3cd786),
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_CUBE_MAP'], this['_gl']['TEXTURE_MIN_FILTER'], _0x33ac13['min']),
this['_bindTextureDirectly'](this['_gl']['TEXTURE_CUBE_MAP'], null)) : _0x3cd786['is3D'] ? (this['_setTextureParameterInteger'](this['_gl']['TEXTURE_3D'], this['_gl']['TEXTURE_MAG_FILTER'], _0x33ac13['mag'], _0x3cd786),
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_3D'], this['_gl']['TEXTURE_MIN_FILTER'], _0x33ac13['min']),
this['_bindTextureDirectly'](this['_gl']['TEXTURE_3D'], null)) : (this['_setTextureParameterInteger'](this['_gl']['TEXTURE_2D'], this['_gl']['TEXTURE_MAG_FILTER'], _0x33ac13['mag'], _0x3cd786),
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_2D'], this['_gl']['TEXTURE_MIN_FILTER'], _0x33ac13['min']),
this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], null)),
_0x3cd786['samplingMode'] = _0x3a46e6;
}
,
_0x2b36d6['prototype']['updateDynamicTexture'] = function(_0x5d8619, _0x233d22, _0x239924, _0x2e65ee, _0x32da38, _0x59bc8c) {
if (void 0x0 === _0x2e65ee && (_0x2e65ee = !0x1),
void 0x0 === _0x59bc8c && (_0x59bc8c = !0x1),
_0x5d8619) {
this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], _0x5d8619, !0x0, _0x59bc8c),
this['_unpackFlipY'](_0x239924),
_0x2e65ee && this['_gl']['pixelStorei'](this['_gl']['UNPACK_PREMULTIPLY_ALPHA_WEBGL'], 0x1);
var _0xa0b19e = _0x32da38 ? this['_getInternalFormat'](_0x32da38) : this['_gl']['RGBA'];
this['_gl']['texImage2D'](this['_gl']['TEXTURE_2D'], 0x0, _0xa0b19e, _0xa0b19e, this['_gl']['UNSIGNED_BYTE'], _0x233d22),
_0x5d8619['generateMipMaps'] && this['_gl']['generateMipmap'](this['_gl']['TEXTURE_2D']),
this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], null),
_0x2e65ee && this['_gl']['pixelStorei'](this['_gl']['UNPACK_PREMULTIPLY_ALPHA_WEBGL'], 0x0),
_0x5d8619['isReady'] = !0x0;
}
}
,
_0x2b36d6['prototype']['updateVideoTexture'] = function(_0x1fbda3, _0x458ff3, _0x30011c) {
if (_0x1fbda3 && !_0x1fbda3['_isDisabled']) {
var _0x149390 = this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], _0x1fbda3, !0x0);
this['_unpackFlipY'](!_0x30011c);
try {
if (void 0x0 === this['_videoTextureSupported'] && (this['_gl']['texImage2D'](this['_gl']['TEXTURE_2D'], 0x0, this['_gl']['RGBA'], this['_gl']['RGBA'], this['_gl']['UNSIGNED_BYTE'], _0x458ff3),
0x0 !== this['_gl']['getError']() ? this['_videoTextureSupported'] = !0x1 : this['_videoTextureSupported'] = !0x0),
this['_videoTextureSupported'])
this['_gl']['texImage2D'](this['_gl']['TEXTURE_2D'], 0x0, this['_gl']['RGBA'], this['_gl']['RGBA'], this['_gl']['UNSIGNED_BYTE'], _0x458ff3);
else {
if (!_0x1fbda3['_workingCanvas']) {
_0x1fbda3['_workingCanvas'] = document['createElement']('canvas');
var _0x2f910f = _0x1fbda3['_workingCanvas']['getContext']('2d');
if (!_0x2f910f)
throw new Error('Unable\x20to\x20get\x202d\x20context');
_0x1fbda3['_workingContext'] = _0x2f910f,
_0x1fbda3['_workingCanvas']['width'] = _0x1fbda3['width'],
_0x1fbda3['_workingCanvas']['height'] = _0x1fbda3['height'];
}
_0x1fbda3['_workingContext']['drawImage'](_0x458ff3, 0x0, 0x0, _0x458ff3['videoWidth'], _0x458ff3['videoHeight'], 0x0, 0x0, _0x1fbda3['width'], _0x1fbda3['height']),
this['_gl']['texImage2D'](this['_gl']['TEXTURE_2D'], 0x0, this['_gl']['RGBA'], this['_gl']['RGBA'], this['_gl']['UNSIGNED_BYTE'], _0x1fbda3['_workingCanvas']);
}
_0x1fbda3['generateMipMaps'] && this['_gl']['generateMipmap'](this['_gl']['TEXTURE_2D']),
_0x149390 || this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], null),
_0x1fbda3['isReady'] = !0x0;
} catch (_0x287ff2) {
_0x1fbda3['_isDisabled'] = !0x0;
}
}
}
,
_0x2b36d6['prototype']['updateTextureComparisonFunction'] = function(_0x38fbd0, _0x5876d5) {
if (0x1 !== this['webGLVersion']) {
var _0x208a67 = this['_gl'];
_0x38fbd0['isCube'] ? (this['_bindTextureDirectly'](this['_gl']['TEXTURE_CUBE_MAP'], _0x38fbd0, !0x0),
0x0 === _0x5876d5 ? (_0x208a67['texParameteri'](_0x208a67['TEXTURE_CUBE_MAP'], _0x208a67['TEXTURE_COMPARE_FUNC'], _0x2b36d6['LEQUAL']),
_0x208a67['texParameteri'](_0x208a67['TEXTURE_CUBE_MAP'], _0x208a67['TEXTURE_COMPARE_MODE'], _0x208a67['NONE'])) : (_0x208a67['texParameteri'](_0x208a67['TEXTURE_CUBE_MAP'], _0x208a67['TEXTURE_COMPARE_FUNC'], _0x5876d5),
_0x208a67['texParameteri'](_0x208a67['TEXTURE_CUBE_MAP'], _0x208a67['TEXTURE_COMPARE_MODE'], _0x208a67['COMPARE_REF_TO_TEXTURE'])),
this['_bindTextureDirectly'](this['_gl']['TEXTURE_CUBE_MAP'], null)) : (this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], _0x38fbd0, !0x0),
0x0 === _0x5876d5 ? (_0x208a67['texParameteri'](_0x208a67['TEXTURE_2D'], _0x208a67['TEXTURE_COMPARE_FUNC'], _0x2b36d6['LEQUAL']),
_0x208a67['texParameteri'](_0x208a67['TEXTURE_2D'], _0x208a67['TEXTURE_COMPARE_MODE'], _0x208a67['NONE'])) : (_0x208a67['texParameteri'](_0x208a67['TEXTURE_2D'], _0x208a67['TEXTURE_COMPARE_FUNC'], _0x5876d5),
_0x208a67['texParameteri'](_0x208a67['TEXTURE_2D'], _0x208a67['TEXTURE_COMPARE_MODE'], _0x208a67['COMPARE_REF_TO_TEXTURE'])),
this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], null)),
_0x38fbd0['_comparisonFunction'] = _0x5876d5;
} else
_0x3fe383['a']['Error']('WebGL\x201\x20does\x20not\x20support\x20texture\x20comparison.');
}
,
_0x2b36d6['prototype']['_setupDepthStencilTexture'] = function(_0x3f1acc, _0x5dec73, _0x16ca7f, _0x54d22f, _0x4ac398) {
var _0xd73d86 = _0x5dec73['width'] || _0x5dec73
, _0x5de226 = _0x5dec73['height'] || _0x5dec73;
_0x3f1acc['baseWidth'] = _0xd73d86,
_0x3f1acc['baseHeight'] = _0x5de226,
_0x3f1acc['width'] = _0xd73d86,
_0x3f1acc['height'] = _0x5de226,
_0x3f1acc['isReady'] = !0x0,
_0x3f1acc['samples'] = 0x1,
_0x3f1acc['generateMipMaps'] = !0x1,
_0x3f1acc['_generateDepthBuffer'] = !0x0,
_0x3f1acc['_generateStencilBuffer'] = _0x16ca7f,
_0x3f1acc['samplingMode'] = _0x54d22f ? _0x2b36d6['TEXTURE_BILINEAR_SAMPLINGMODE'] : _0x2b36d6['TEXTURE_NEAREST_SAMPLINGMODE'],
_0x3f1acc['type'] = _0x2b36d6['TEXTURETYPE_UNSIGNED_INT'],
_0x3f1acc['_comparisonFunction'] = _0x4ac398;
var _0x4d041b = this['_gl']
, _0x3e9146 = _0x3f1acc['isCube'] ? _0x4d041b['TEXTURE_CUBE_MAP'] : _0x4d041b['TEXTURE_2D']
, _0x4bbbf0 = this['_getSamplingParameters'](_0x3f1acc['samplingMode'], !0x1);
_0x4d041b['texParameteri'](_0x3e9146, _0x4d041b['TEXTURE_MAG_FILTER'], _0x4bbbf0['mag']),
_0x4d041b['texParameteri'](_0x3e9146, _0x4d041b['TEXTURE_MIN_FILTER'], _0x4bbbf0['min']),
_0x4d041b['texParameteri'](_0x3e9146, _0x4d041b['TEXTURE_WRAP_S'], _0x4d041b['CLAMP_TO_EDGE']),
_0x4d041b['texParameteri'](_0x3e9146, _0x4d041b['TEXTURE_WRAP_T'], _0x4d041b['CLAMP_TO_EDGE']),
0x0 === _0x4ac398 ? (_0x4d041b['texParameteri'](_0x3e9146, _0x4d041b['TEXTURE_COMPARE_FUNC'], _0x2b36d6['LEQUAL']),
_0x4d041b['texParameteri'](_0x3e9146, _0x4d041b['TEXTURE_COMPARE_MODE'], _0x4d041b['NONE'])) : (_0x4d041b['texParameteri'](_0x3e9146, _0x4d041b['TEXTURE_COMPARE_FUNC'], _0x4ac398),
_0x4d041b['texParameteri'](_0x3e9146, _0x4d041b['TEXTURE_COMPARE_MODE'], _0x4d041b['COMPARE_REF_TO_TEXTURE']));
}
,
_0x2b36d6['prototype']['createDepthStencilTexture'] = function(_0x26b3ee, _0x58e4a6) {
if (_0x58e4a6['isCube']) {
var _0x404311 = _0x26b3ee['width'] || _0x26b3ee;
return this['_createDepthStencilCubeTexture'](_0x404311, _0x58e4a6);
}
return this['_createDepthStencilTexture'](_0x26b3ee, _0x58e4a6);
}
,
_0x2b36d6['prototype']['_createDepthStencilTexture'] = function(_0xc2ee6e, _0x51d498) {
var _0x25c702 = new _0x1a5085['a'](this,_0x1a5085['a']['DATASOURCE_DEPTHTEXTURE']);
if (!this['_caps']['depthTextureExtension'])
return _0x3fe383['a']['Error']('Depth\x20texture\x20is\x20not\x20supported\x20by\x20your\x20browser\x20or\x20hardware.'),
_0x25c702;
var _0x1e8639 = _0x31b8ef['a']({
'bilinearFiltering': !0x1,
'comparisonFunction': 0x0,
'generateStencil': !0x1
}, _0x51d498)
, _0x2d8af3 = this['_gl'];
return this['_bindTextureDirectly'](_0x2d8af3['TEXTURE_2D'], _0x25c702, !0x0),
this['_setupDepthStencilTexture'](_0x25c702, _0xc2ee6e, _0x1e8639['generateStencil'], _0x1e8639['bilinearFiltering'], _0x1e8639['comparisonFunction']),
this['webGLVersion'] > 0x1 ? _0x1e8639['generateStencil'] ? _0x2d8af3['texImage2D'](_0x2d8af3['TEXTURE_2D'], 0x0, _0x2d8af3['DEPTH24_STENCIL8'], _0x25c702['width'], _0x25c702['height'], 0x0, _0x2d8af3['DEPTH_STENCIL'], _0x2d8af3['UNSIGNED_INT_24_8'], null) : _0x2d8af3['texImage2D'](_0x2d8af3['TEXTURE_2D'], 0x0, _0x2d8af3['DEPTH_COMPONENT24'], _0x25c702['width'], _0x25c702['height'], 0x0, _0x2d8af3['DEPTH_COMPONENT'], _0x2d8af3['UNSIGNED_INT'], null) : _0x1e8639['generateStencil'] ? _0x2d8af3['texImage2D'](_0x2d8af3['TEXTURE_2D'], 0x0, _0x2d8af3['DEPTH_STENCIL'], _0x25c702['width'], _0x25c702['height'], 0x0, _0x2d8af3['DEPTH_STENCIL'], _0x2d8af3['UNSIGNED_INT_24_8'], null) : _0x2d8af3['texImage2D'](_0x2d8af3['TEXTURE_2D'], 0x0, _0x2d8af3['DEPTH_COMPONENT'], _0x25c702['width'], _0x25c702['height'], 0x0, _0x2d8af3['DEPTH_COMPONENT'], _0x2d8af3['UNSIGNED_INT'], null),
this['_bindTextureDirectly'](_0x2d8af3['TEXTURE_2D'], null),
_0x25c702;
}
,
_0x2b36d6['prototype']['setFrameBufferDepthStencilTexture'] = function(_0x37f58b) {
var _0x233555 = _0x37f58b['getInternalTexture']();
if (_0x233555 && _0x233555['_framebuffer'] && _0x37f58b['depthStencilTexture']) {
var _0xdce1f5 = this['_gl']
, _0x23e1c9 = _0x37f58b['depthStencilTexture'];
this['_bindUnboundFramebuffer'](_0x233555['_framebuffer']),
_0x23e1c9['isCube'] ? _0x23e1c9['_generateStencilBuffer'] ? _0xdce1f5['framebufferTexture2D'](_0xdce1f5['FRAMEBUFFER'], _0xdce1f5['DEPTH_STENCIL_ATTACHMENT'], _0xdce1f5['TEXTURE_CUBE_MAP_POSITIVE_X'], _0x23e1c9['_webGLTexture'], 0x0) : _0xdce1f5['framebufferTexture2D'](_0xdce1f5['FRAMEBUFFER'], _0xdce1f5['DEPTH_ATTACHMENT'], _0xdce1f5['TEXTURE_CUBE_MAP_POSITIVE_X'], _0x23e1c9['_webGLTexture'], 0x0) : _0x23e1c9['_generateStencilBuffer'] ? _0xdce1f5['framebufferTexture2D'](_0xdce1f5['FRAMEBUFFER'], _0xdce1f5['DEPTH_STENCIL_ATTACHMENT'], _0xdce1f5['TEXTURE_2D'], _0x23e1c9['_webGLTexture'], 0x0) : _0xdce1f5['framebufferTexture2D'](_0xdce1f5['FRAMEBUFFER'], _0xdce1f5['DEPTH_ATTACHMENT'], _0xdce1f5['TEXTURE_2D'], _0x23e1c9['_webGLTexture'], 0x0),
this['_bindUnboundFramebuffer'](null);
}
}
,
_0x2b36d6['prototype']['createRenderTargetTexture'] = function(_0x3f025a, _0x4fa187) {
var _0x2a9ab3 = new _0x1ad15a['a']();
void 0x0 !== _0x4fa187 && 'object' == typeof _0x4fa187 ? (_0x2a9ab3['generateMipMaps'] = _0x4fa187['generateMipMaps'],
_0x2a9ab3['generateDepthBuffer'] = void 0x0 === _0x4fa187['generateDepthBuffer'] || _0x4fa187['generateDepthBuffer'],
_0x2a9ab3['generateStencilBuffer'] = _0x2a9ab3['generateDepthBuffer'] && _0x4fa187['generateStencilBuffer'],
_0x2a9ab3['type'] = void 0x0 === _0x4fa187['type'] ? _0x2b36d6['TEXTURETYPE_UNSIGNED_INT'] : _0x4fa187['type'],
_0x2a9ab3['samplingMode'] = void 0x0 === _0x4fa187['samplingMode'] ? _0x2b36d6['TEXTURE_TRILINEAR_SAMPLINGMODE'] : _0x4fa187['samplingMode'],
_0x2a9ab3['format'] = void 0x0 === _0x4fa187['format'] ? _0x2b36d6['TEXTUREFORMAT_RGBA'] : _0x4fa187['format']) : (_0x2a9ab3['generateMipMaps'] = _0x4fa187,
_0x2a9ab3['generateDepthBuffer'] = !0x0,
_0x2a9ab3['generateStencilBuffer'] = !0x1,
_0x2a9ab3['type'] = _0x2b36d6['TEXTURETYPE_UNSIGNED_INT'],
_0x2a9ab3['samplingMode'] = _0x2b36d6['TEXTURE_TRILINEAR_SAMPLINGMODE'],
_0x2a9ab3['format'] = _0x2b36d6['TEXTUREFORMAT_RGBA']),
(_0x2a9ab3['type'] !== _0x2b36d6['TEXTURETYPE_FLOAT'] || this['_caps']['textureFloatLinearFiltering']) && (_0x2a9ab3['type'] !== _0x2b36d6['TEXTURETYPE_HALF_FLOAT'] || this['_caps']['textureHalfFloatLinearFiltering']) || (_0x2a9ab3['samplingMode'] = _0x2b36d6['TEXTURE_NEAREST_SAMPLINGMODE']);
var _0x31e9ed = this['_gl']
, _0xecac44 = new _0x1a5085['a'](this,_0x1a5085['a']['DATASOURCE_RENDERTARGET']);
this['_bindTextureDirectly'](_0x31e9ed['TEXTURE_2D'], _0xecac44, !0x0);
var _0x5f61d8 = _0x3f025a['width'] || _0x3f025a
, _0x333c0e = _0x3f025a['height'] || _0x3f025a
, _0xbfd24b = this['_getSamplingParameters'](_0x2a9ab3['samplingMode'], !!_0x2a9ab3['generateMipMaps']);
_0x2a9ab3['type'] !== _0x2b36d6['TEXTURETYPE_FLOAT'] || this['_caps']['textureFloat'] || (_0x2a9ab3['type'] = _0x2b36d6['TEXTURETYPE_UNSIGNED_INT'],
_0x3fe383['a']['Warn']('Float\x20textures\x20are\x20not\x20supported.\x20Render\x20target\x20forced\x20to\x20TEXTURETYPE_UNSIGNED_BYTE\x20type')),
_0x31e9ed['texParameteri'](_0x31e9ed['TEXTURE_2D'], _0x31e9ed['TEXTURE_MAG_FILTER'], _0xbfd24b['mag']),
_0x31e9ed['texParameteri'](_0x31e9ed['TEXTURE_2D'], _0x31e9ed['TEXTURE_MIN_FILTER'], _0xbfd24b['min']),
_0x31e9ed['texParameteri'](_0x31e9ed['TEXTURE_2D'], _0x31e9ed['TEXTURE_WRAP_S'], _0x31e9ed['CLAMP_TO_EDGE']),
_0x31e9ed['texParameteri'](_0x31e9ed['TEXTURE_2D'], _0x31e9ed['TEXTURE_WRAP_T'], _0x31e9ed['CLAMP_TO_EDGE']),
_0x31e9ed['texImage2D'](_0x31e9ed['TEXTURE_2D'], 0x0, this['_getRGBABufferInternalSizedFormat'](_0x2a9ab3['type'], _0x2a9ab3['format']), _0x5f61d8, _0x333c0e, 0x0, this['_getInternalFormat'](_0x2a9ab3['format']), this['_getWebGLTextureType'](_0x2a9ab3['type']), null);
var _0x416834 = this['_currentFramebuffer']
, _0x31fccf = _0x31e9ed['createFramebuffer']();
return this['_bindUnboundFramebuffer'](_0x31fccf),
_0x31e9ed['framebufferTexture2D'](_0x31e9ed['FRAMEBUFFER'], _0x31e9ed['COLOR_ATTACHMENT0'], _0x31e9ed['TEXTURE_2D'], _0xecac44['_webGLTexture'], 0x0),
_0xecac44['_depthStencilBuffer'] = this['_setupFramebufferDepthAttachments'](!!_0x2a9ab3['generateStencilBuffer'], _0x2a9ab3['generateDepthBuffer'], _0x5f61d8, _0x333c0e),
_0x2a9ab3['generateMipMaps'] && this['_gl']['generateMipmap'](this['_gl']['TEXTURE_2D']),
this['_bindTextureDirectly'](_0x31e9ed['TEXTURE_2D'], null),
_0x31e9ed['bindRenderbuffer'](_0x31e9ed['RENDERBUFFER'], null),
this['_bindUnboundFramebuffer'](_0x416834),
_0xecac44['_framebuffer'] = _0x31fccf,
_0xecac44['baseWidth'] = _0x5f61d8,
_0xecac44['baseHeight'] = _0x333c0e,
_0xecac44['width'] = _0x5f61d8,
_0xecac44['height'] = _0x333c0e,
_0xecac44['isReady'] = !0x0,
_0xecac44['samples'] = 0x1,
_0xecac44['generateMipMaps'] = !!_0x2a9ab3['generateMipMaps'],
_0xecac44['samplingMode'] = _0x2a9ab3['samplingMode'],
_0xecac44['type'] = _0x2a9ab3['type'],
_0xecac44['format'] = _0x2a9ab3['format'],
_0xecac44['_generateDepthBuffer'] = _0x2a9ab3['generateDepthBuffer'],
_0xecac44['_generateStencilBuffer'] = !!_0x2a9ab3['generateStencilBuffer'],
this['_internalTexturesCache']['push'](_0xecac44),
_0xecac44;
}
,
_0x2b36d6['prototype']['_setupFramebufferDepthAttachments'] = function(_0x399dee, _0x1e0c00, _0xf11bdd, _0x52e4c4, _0x3199b6) {
void 0x0 === _0x3199b6 && (_0x3199b6 = 0x1);
var _0x5750d1 = null
, _0x52ee9e = this['_gl'];
return _0x399dee ? (_0x5750d1 = _0x52ee9e['createRenderbuffer'](),
_0x52ee9e['bindRenderbuffer'](_0x52ee9e['RENDERBUFFER'], _0x5750d1),
_0x3199b6 > 0x1 ? _0x52ee9e['renderbufferStorageMultisample'](_0x52ee9e['RENDERBUFFER'], _0x3199b6, _0x52ee9e['DEPTH24_STENCIL8'], _0xf11bdd, _0x52e4c4) : _0x52ee9e['renderbufferStorage'](_0x52ee9e['RENDERBUFFER'], _0x52ee9e['DEPTH_STENCIL'], _0xf11bdd, _0x52e4c4),
_0x52ee9e['framebufferRenderbuffer'](_0x52ee9e['FRAMEBUFFER'], _0x52ee9e['DEPTH_STENCIL_ATTACHMENT'], _0x52ee9e['RENDERBUFFER'], _0x5750d1)) : _0x1e0c00 && (_0x5750d1 = _0x52ee9e['createRenderbuffer'](),
_0x52ee9e['bindRenderbuffer'](_0x52ee9e['RENDERBUFFER'], _0x5750d1),
_0x3199b6 > 0x1 ? _0x52ee9e['renderbufferStorageMultisample'](_0x52ee9e['RENDERBUFFER'], _0x3199b6, _0x52ee9e['DEPTH_COMPONENT16'], _0xf11bdd, _0x52e4c4) : _0x52ee9e['renderbufferStorage'](_0x52ee9e['RENDERBUFFER'], _0x52ee9e['DEPTH_COMPONENT16'], _0xf11bdd, _0x52e4c4),
_0x52ee9e['framebufferRenderbuffer'](_0x52ee9e['FRAMEBUFFER'], _0x52ee9e['DEPTH_ATTACHMENT'], _0x52ee9e['RENDERBUFFER'], _0x5750d1)),
_0x5750d1;
}
,
_0x2b36d6['prototype']['updateRenderTargetTextureSampleCount'] = function(_0x8dd0b6, _0x29a5ec) {
if (this['webGLVersion'] < 0x2 || !_0x8dd0b6)
return 0x1;
if (_0x8dd0b6['samples'] === _0x29a5ec)
return _0x29a5ec;
var _0x48dac7 = this['_gl'];
if (_0x29a5ec = Math['min'](_0x29a5ec, _0x48dac7['getParameter'](_0x48dac7['MAX_SAMPLES'])),
_0x8dd0b6['_depthStencilBuffer'] && (_0x48dac7['deleteRenderbuffer'](_0x8dd0b6['_depthStencilBuffer']),
_0x8dd0b6['_depthStencilBuffer'] = null),
_0x8dd0b6['_MSAAFramebuffer'] && (_0x48dac7['deleteFramebuffer'](_0x8dd0b6['_MSAAFramebuffer']),
_0x8dd0b6['_MSAAFramebuffer'] = null),
_0x8dd0b6['_MSAARenderBuffer'] && (_0x48dac7['deleteRenderbuffer'](_0x8dd0b6['_MSAARenderBuffer']),
_0x8dd0b6['_MSAARenderBuffer'] = null),
_0x29a5ec > 0x1) {
var _0x5de7dc = _0x48dac7['createFramebuffer']();
if (!_0x5de7dc)
throw new Error('Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer');
_0x8dd0b6['_MSAAFramebuffer'] = _0x5de7dc,
this['_bindUnboundFramebuffer'](_0x8dd0b6['_MSAAFramebuffer']);
var _0x4be2ff = _0x48dac7['createRenderbuffer']();
if (!_0x4be2ff)
throw new Error('Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer');
_0x48dac7['bindRenderbuffer'](_0x48dac7['RENDERBUFFER'], _0x4be2ff),
_0x48dac7['renderbufferStorageMultisample'](_0x48dac7['RENDERBUFFER'], _0x29a5ec, this['_getRGBAMultiSampleBufferFormat'](_0x8dd0b6['type']), _0x8dd0b6['width'], _0x8dd0b6['height']),
_0x48dac7['framebufferRenderbuffer'](_0x48dac7['FRAMEBUFFER'], _0x48dac7['COLOR_ATTACHMENT0'], _0x48dac7['RENDERBUFFER'], _0x4be2ff),
_0x8dd0b6['_MSAARenderBuffer'] = _0x4be2ff;
} else
this['_bindUnboundFramebuffer'](_0x8dd0b6['_framebuffer']);
return _0x8dd0b6['samples'] = _0x29a5ec,
_0x8dd0b6['_depthStencilBuffer'] = this['_setupFramebufferDepthAttachments'](_0x8dd0b6['_generateStencilBuffer'], _0x8dd0b6['_generateDepthBuffer'], _0x8dd0b6['width'], _0x8dd0b6['height'], _0x29a5ec),
_0x48dac7['bindRenderbuffer'](_0x48dac7['RENDERBUFFER'], null),
this['_bindUnboundFramebuffer'](null),
_0x29a5ec;
}
,
_0x2b36d6['prototype']['_uploadCompressedDataToTextureDirectly'] = function(_0x5701be, _0x3b8255, _0x5e6ae1, _0x4453f0, _0x4f79e0, _0x8fa4e4, _0x3d24b7) {
void 0x0 === _0x8fa4e4 && (_0x8fa4e4 = 0x0),
void 0x0 === _0x3d24b7 && (_0x3d24b7 = 0x0);
var _0x362399 = this['_gl']
, _0x4d18e3 = _0x362399['TEXTURE_2D'];
_0x5701be['isCube'] && (_0x4d18e3 = _0x362399['TEXTURE_CUBE_MAP_POSITIVE_X'] + _0x8fa4e4),
this['_gl']['compressedTexImage2D'](_0x4d18e3, _0x3d24b7, _0x3b8255, _0x5e6ae1, _0x4453f0, 0x0, _0x4f79e0);
}
,
_0x2b36d6['prototype']['_uploadDataToTextureDirectly'] = function(_0x29badb, _0x2c6da4, _0x56578a, _0x3a192a) {
void 0x0 === _0x56578a && (_0x56578a = 0x0),
void 0x0 === _0x3a192a && (_0x3a192a = 0x0);
var _0x2729d0 = this['_gl']
, _0x1aea20 = this['_getWebGLTextureType'](_0x29badb['type'])
, _0x2f732d = this['_getInternalFormat'](_0x29badb['format'])
, _0x5e5354 = this['_getRGBABufferInternalSizedFormat'](_0x29badb['type'], _0x2f732d);
this['_unpackFlipY'](_0x29badb['invertY']);
var _0x1cbe40 = _0x2729d0['TEXTURE_2D'];
_0x29badb['isCube'] && (_0x1cbe40 = _0x2729d0['TEXTURE_CUBE_MAP_POSITIVE_X'] + _0x56578a);
var _0x19a1e9 = Math['round'](_0x20fb29['a']['Log2'](_0x29badb['width']))
, _0x445330 = Math['round'](_0x20fb29['a']['Log2'](_0x29badb['height']))
, _0x4c58b1 = Math['pow'](0x2, Math['max'](_0x19a1e9 - _0x3a192a, 0x0))
, _0xaac0da = Math['pow'](0x2, Math['max'](_0x445330 - _0x3a192a, 0x0));
_0x2729d0['texImage2D'](_0x1cbe40, _0x3a192a, _0x5e5354, _0x4c58b1, _0xaac0da, 0x0, _0x2f732d, _0x1aea20, _0x2c6da4);
}
,
_0x2b36d6['prototype']['_uploadArrayBufferViewToTexture'] = function(_0x236ba8, _0x2d7915, _0x33acdd, _0x9c338d) {
void 0x0 === _0x33acdd && (_0x33acdd = 0x0),
void 0x0 === _0x9c338d && (_0x9c338d = 0x0);
var _0x41437a = this['_gl']
, _0x1fa28a = _0x236ba8['isCube'] ? _0x41437a['TEXTURE_CUBE_MAP'] : _0x41437a['TEXTURE_2D'];
this['_bindTextureDirectly'](_0x1fa28a, _0x236ba8, !0x0),
this['_uploadDataToTextureDirectly'](_0x236ba8, _0x2d7915, _0x33acdd, _0x9c338d),
this['_bindTextureDirectly'](_0x1fa28a, null, !0x0);
}
,
_0x2b36d6['prototype']['_uploadImageToTexture'] = function(_0x4ec01, _0x4a9840, _0x3673b7, _0x4a42dc) {
void 0x0 === _0x3673b7 && (_0x3673b7 = 0x0),
void 0x0 === _0x4a42dc && (_0x4a42dc = 0x0);
var _0x42c1d0 = this['_gl']
, _0x258e12 = this['_getWebGLTextureType'](_0x4ec01['type'])
, _0x591f15 = this['_getInternalFormat'](_0x4ec01['format'])
, _0x2d83ec = this['_getRGBABufferInternalSizedFormat'](_0x4ec01['type'], _0x591f15)
, _0x34959f = _0x4ec01['isCube'] ? _0x42c1d0['TEXTURE_CUBE_MAP'] : _0x42c1d0['TEXTURE_2D'];
this['_bindTextureDirectly'](_0x34959f, _0x4ec01, !0x0),
this['_unpackFlipY'](_0x4ec01['invertY']);
var _0x8d8e42 = _0x42c1d0['TEXTURE_2D'];
_0x4ec01['isCube'] && (_0x8d8e42 = _0x42c1d0['TEXTURE_CUBE_MAP_POSITIVE_X'] + _0x3673b7),
_0x42c1d0['texImage2D'](_0x8d8e42, _0x4a42dc, _0x2d83ec, _0x591f15, _0x258e12, _0x4a9840),
this['_bindTextureDirectly'](_0x34959f, null, !0x0);
}
,
_0x2b36d6['prototype']['_setCubeMapTextureParams'] = function(_0x30255a) {
var _0x47fbfb = this['_gl'];
_0x47fbfb['texParameteri'](_0x47fbfb['TEXTURE_CUBE_MAP'], _0x47fbfb['TEXTURE_MAG_FILTER'], _0x47fbfb['LINEAR']),
_0x47fbfb['texParameteri'](_0x47fbfb['TEXTURE_CUBE_MAP'], _0x47fbfb['TEXTURE_MIN_FILTER'], _0x30255a ? _0x47fbfb['LINEAR_MIPMAP_LINEAR'] : _0x47fbfb['LINEAR']),
_0x47fbfb['texParameteri'](_0x47fbfb['TEXTURE_CUBE_MAP'], _0x47fbfb['TEXTURE_WRAP_S'], _0x47fbfb['CLAMP_TO_EDGE']),
_0x47fbfb['texParameteri'](_0x47fbfb['TEXTURE_CUBE_MAP'], _0x47fbfb['TEXTURE_WRAP_T'], _0x47fbfb['CLAMP_TO_EDGE']),
this['_bindTextureDirectly'](_0x47fbfb['TEXTURE_CUBE_MAP'], null);
}
,
_0x2b36d6['prototype']['createRawCubeTexture'] = function(_0x192db1, _0x4100a6, _0x5988bf, _0x5e2c72, _0x5ee5d2, _0x1fee01, _0x5adba5, _0x11f9de) {
throw void 0x0 === _0x11f9de && (_0x11f9de = null),
_0x51a360['a']['WarnImport']('Engine.RawTexture');
}
,
_0x2b36d6['prototype']['createRawTexture3D'] = function(_0x90b94a, _0x17737d, _0x3faadf, _0x30f309, _0x181089, _0x21e759, _0x23680b, _0x399c9d, _0x48fb3c, _0x36c2af) {
throw void 0x0 === _0x48fb3c && (_0x48fb3c = null),
void 0x0 === _0x36c2af && (_0x36c2af = _0x2b36d6['TEXTURETYPE_UNSIGNED_INT']),
_0x51a360['a']['WarnImport']('Engine.RawTexture');
}
,
_0x2b36d6['prototype']['_prepareWebGLTextureContinuation'] = function(_0x244701, _0x50a532, _0x4630bf, _0x55a958, _0x45b257) {
var _0xd2f7af = this['_gl'];
if (_0xd2f7af) {
var _0x3cb732 = this['_getSamplingParameters'](_0x45b257, !_0x4630bf);
_0xd2f7af['texParameteri'](_0xd2f7af['TEXTURE_2D'], _0xd2f7af['TEXTURE_MAG_FILTER'], _0x3cb732['mag']),
_0xd2f7af['texParameteri'](_0xd2f7af['TEXTURE_2D'], _0xd2f7af['TEXTURE_MIN_FILTER'], _0x3cb732['min']),
_0x4630bf || _0x55a958 || _0xd2f7af['generateMipmap'](_0xd2f7af['TEXTURE_2D']),
this['_bindTextureDirectly'](_0xd2f7af['TEXTURE_2D'], null),
_0x50a532 && _0x50a532['_removePendingData'](_0x244701),
_0x244701['onLoadedObservable']['notifyObservers'](_0x244701),
_0x244701['onLoadedObservable']['clear']();
}
}
,
_0x2b36d6['prototype']['_prepareWebGLTexture'] = function(_0x3394d0, _0x3fffe9, _0x42db3e, _0x8d2135, _0x52a6b7, _0x52e41d, _0xb0fb25, _0x972a56, _0x247bcb) {
var _0x2c7990 = this;
void 0x0 === _0x247bcb && (_0x247bcb = _0x2b36d6['TEXTURE_TRILINEAR_SAMPLINGMODE']);
var _0x2abc47 = this['getCaps']()['maxTextureSize']
, _0x4d51b8 = Math['min'](_0x2abc47, this['needPOTTextures'] ? _0x49b495['h']['GetExponentOfTwo'](_0x42db3e, _0x2abc47) : _0x42db3e)
, _0xb9a6a4 = Math['min'](_0x2abc47, this['needPOTTextures'] ? _0x49b495['h']['GetExponentOfTwo'](_0x8d2135, _0x2abc47) : _0x8d2135)
, _0x278cde = this['_gl'];
_0x278cde && (_0x3394d0['_webGLTexture'] ? (this['_bindTextureDirectly'](_0x278cde['TEXTURE_2D'], _0x3394d0, !0x0),
this['_unpackFlipY'](void 0x0 === _0x52a6b7 || !!_0x52a6b7),
_0x3394d0['baseWidth'] = _0x42db3e,
_0x3394d0['baseHeight'] = _0x8d2135,
_0x3394d0['width'] = _0x4d51b8,
_0x3394d0['height'] = _0xb9a6a4,
_0x3394d0['isReady'] = !0x0,
_0x972a56(_0x4d51b8, _0xb9a6a4, function() {
_0x2c7990['_prepareWebGLTextureContinuation'](_0x3394d0, _0x3fffe9, _0x52e41d, _0xb0fb25, _0x247bcb);
}) || this['_prepareWebGLTextureContinuation'](_0x3394d0, _0x3fffe9, _0x52e41d, _0xb0fb25, _0x247bcb)) : _0x3fffe9 && _0x3fffe9['_removePendingData'](_0x3394d0));
}
,
_0x2b36d6['prototype']['_convertRGBtoRGBATextureData'] = function(_0xfa70ef, _0x26173b, _0x2b9798, _0x42ad62) {
var _0x443b17;
_0x443b17 = _0x42ad62 === _0x2b36d6['TEXTURETYPE_FLOAT'] ? new Float32Array(_0x26173b * _0x2b9798 * 0x4) : new Uint32Array(_0x26173b * _0x2b9798 * 0x4);
for (var _0x4939a0 = 0x0; _0x4939a0 < _0x26173b; _0x4939a0++)
for (var _0x46d66b = 0x0; _0x46d66b < _0x2b9798; _0x46d66b++) {
var _0x1cba90 = 0x3 * (_0x46d66b * _0x26173b + _0x4939a0)
, _0x52b542 = 0x4 * (_0x46d66b * _0x26173b + _0x4939a0);
_0x443b17[_0x52b542 + 0x0] = _0xfa70ef[_0x1cba90 + 0x0],
_0x443b17[_0x52b542 + 0x1] = _0xfa70ef[_0x1cba90 + 0x1],
_0x443b17[_0x52b542 + 0x2] = _0xfa70ef[_0x1cba90 + 0x2],
_0x443b17[_0x52b542 + 0x3] = 0x1;
}
return _0x443b17;
}
,
_0x2b36d6['prototype']['_releaseFramebufferObjects'] = function(_0xd86db1) {
var _0x2b4731 = this['_gl'];
_0xd86db1['_framebuffer'] && (_0x2b4731['deleteFramebuffer'](_0xd86db1['_framebuffer']),
_0xd86db1['_framebuffer'] = null),
_0xd86db1['_depthStencilBuffer'] && (_0x2b4731['deleteRenderbuffer'](_0xd86db1['_depthStencilBuffer']),
_0xd86db1['_depthStencilBuffer'] = null),
_0xd86db1['_MSAAFramebuffer'] && (_0x2b4731['deleteFramebuffer'](_0xd86db1['_MSAAFramebuffer']),
_0xd86db1['_MSAAFramebuffer'] = null),
_0xd86db1['_MSAARenderBuffer'] && (_0x2b4731['deleteRenderbuffer'](_0xd86db1['_MSAARenderBuffer']),
_0xd86db1['_MSAARenderBuffer'] = null);
}
,
_0x2b36d6['prototype']['_releaseTexture'] = function(_0x4ce21a) {
var _0x1e988b = this['_gl'];
this['_releaseFramebufferObjects'](_0x4ce21a),
_0x1e988b['deleteTexture'](_0x4ce21a['_webGLTexture']),
this['unbindAllTextures']();
var _0x369ab6 = this['_internalTexturesCache']['indexOf'](_0x4ce21a);
-0x1 !== _0x369ab6 && this['_internalTexturesCache']['splice'](_0x369ab6, 0x1),
_0x4ce21a['_lodTextureHigh'] && _0x4ce21a['_lodTextureHigh']['dispose'](),
_0x4ce21a['_lodTextureMid'] && _0x4ce21a['_lodTextureMid']['dispose'](),
_0x4ce21a['_lodTextureLow'] && _0x4ce21a['_lodTextureLow']['dispose'](),
this['scenes']['forEach'](function(_0x247da8) {
_0x247da8['postProcesses']['forEach'](function(_0x3a8f71) {
_0x3a8f71['_outputTexture'] == _0x4ce21a && (_0x3a8f71['_outputTexture'] = null);
}),
_0x247da8['cameras']['forEach'](function(_0x49c14a) {
_0x49c14a['_postProcesses']['forEach'](function(_0xb56f39) {
_0xb56f39 && _0xb56f39['_outputTexture'] == _0x4ce21a && (_0xb56f39['_outputTexture'] = null);
});
});
});
}
,
_0x2b36d6['prototype']['setProgram'] = function(_0x32c1c1) {
this['_currentProgram'] !== _0x32c1c1 && (this['_gl']['useProgram'](_0x32c1c1),
this['_currentProgram'] = _0x32c1c1);
}
,
_0x2b36d6['prototype']['bindSamplers'] = function(_0x1f1549) {
var _0x3cb80e = _0x1f1549['getPipelineContext']();
this['setProgram'](_0x3cb80e['program']);
for (var _0x8ee4a3 = _0x1f1549['getSamplers'](), _0xfa5e2e = 0x0; _0xfa5e2e < _0x8ee4a3['length']; _0xfa5e2e++) {
var _0x1398ab = _0x1f1549['getUniform'](_0x8ee4a3[_0xfa5e2e]);
_0x1398ab && (this['_boundUniforms'][_0xfa5e2e] = _0x1398ab);
}
this['_currentEffect'] = null;
}
,
_0x2b36d6['prototype']['_activateCurrentTexture'] = function() {
this['_currentTextureChannel'] !== this['_activeChannel'] && (this['_gl']['activeTexture'](this['_gl']['TEXTURE0'] + this['_activeChannel']),
this['_currentTextureChannel'] = this['_activeChannel']);
}
,
_0x2b36d6['prototype']['_bindTextureDirectly'] = function(_0x427a6c, _0x2da734, _0x993b4d, _0x254521) {
void 0x0 === _0x993b4d && (_0x993b4d = !0x1),
void 0x0 === _0x254521 && (_0x254521 = !0x1);
var _0x51bae3 = !0x1
, _0x20dcc2 = _0x2da734 && _0x2da734['_associatedChannel'] > -0x1;
return _0x993b4d && _0x20dcc2 && (this['_activeChannel'] = _0x2da734['_associatedChannel']),
this['_boundTexturesCache'][this['_activeChannel']] !== _0x2da734 || _0x254521 ? (this['_activateCurrentTexture'](),
_0x2da734 && _0x2da734['isMultiview'] ? this['_gl']['bindTexture'](_0x427a6c, _0x2da734 ? _0x2da734['_colorTextureArray'] : null) : this['_gl']['bindTexture'](_0x427a6c, _0x2da734 ? _0x2da734['_webGLTexture'] : null),
this['_boundTexturesCache'][this['_activeChannel']] = _0x2da734,
_0x2da734 && (_0x2da734['_associatedChannel'] = this['_activeChannel'])) : _0x993b4d && (_0x51bae3 = !0x0,
this['_activateCurrentTexture']()),
_0x20dcc2 && !_0x993b4d && this['_bindSamplerUniformToChannel'](_0x2da734['_associatedChannel'], this['_activeChannel']),
_0x51bae3;
}
,
_0x2b36d6['prototype']['_bindTexture'] = function(_0x3e090f, _0x1a8fb2) {
void 0x0 !== _0x3e090f && (_0x1a8fb2 && (_0x1a8fb2['_associatedChannel'] = _0x3e090f),
this['_activeChannel'] = _0x3e090f,
this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], _0x1a8fb2));
}
,
_0x2b36d6['prototype']['setTextureFromPostProcess'] = function(_0x40b65c, _0x455b23) {
this['_bindTexture'](_0x40b65c, _0x455b23 ? _0x455b23['_textures']['data'][_0x455b23['_currentRenderTextureInd']] : null);
}
,
_0x2b36d6['prototype']['setTextureFromPostProcessOutput'] = function(_0x2236da, _0xf3775) {
this['_bindTexture'](_0x2236da, _0xf3775 ? _0xf3775['_outputTexture'] : null);
}
,
_0x2b36d6['prototype']['unbindAllTextures'] = function() {
for (var _0x3c4e4b = 0x0; _0x3c4e4b < this['_maxSimultaneousTextures']; _0x3c4e4b++)
this['_activeChannel'] = _0x3c4e4b,
this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], null),
this['_bindTextureDirectly'](this['_gl']['TEXTURE_CUBE_MAP'], null),
this['webGLVersion'] > 0x1 && this['_bindTextureDirectly'](this['_gl']['TEXTURE_3D'], null);
}
,
_0x2b36d6['prototype']['setTexture'] = function(_0x5cb8b3, _0x4dc0c8, _0x5078c5) {
void 0x0 !== _0x5cb8b3 && (_0x4dc0c8 && (this['_boundUniforms'][_0x5cb8b3] = _0x4dc0c8),
this['_setTexture'](_0x5cb8b3, _0x5078c5));
}
,
_0x2b36d6['prototype']['setDepthStencilTexture'] = function(_0x16fbe9, _0x471dba, _0xcb70e5) {
void 0x0 !== _0x16fbe9 && (_0x471dba && (this['_boundUniforms'][_0x16fbe9] = _0x471dba),
_0xcb70e5 && _0xcb70e5['depthStencilTexture'] ? this['_setTexture'](_0x16fbe9, _0xcb70e5, !0x1, !0x0) : this['_setTexture'](_0x16fbe9, null));
}
,
_0x2b36d6['prototype']['_bindSamplerUniformToChannel'] = function(_0xe813b3, _0x3848c6) {
var _0x5318ac = this['_boundUniforms'][_0xe813b3];
_0x5318ac['_currentState'] !== _0x3848c6 && (this['_gl']['uniform1i'](_0x5318ac, _0x3848c6),
_0x5318ac['_currentState'] = _0x3848c6);
}
,
_0x2b36d6['prototype']['_getTextureWrapMode'] = function(_0x441f7e) {
switch (_0x441f7e) {
case _0x2b36d6['TEXTURE_WRAP_ADDRESSMODE']:
return this['_gl']['REPEAT'];
case _0x2b36d6['TEXTURE_CLAMP_ADDRESSMODE']:
return this['_gl']['CLAMP_TO_EDGE'];
case _0x2b36d6['TEXTURE_MIRROR_ADDRESSMODE']:
return this['_gl']['MIRRORED_REPEAT'];
}
return this['_gl']['REPEAT'];
}
,
_0x2b36d6['prototype']['_setTexture'] = function(_0x441f88, _0x296974, _0x48bc61, _0x28f10a) {
if (void 0x0 === _0x48bc61 && (_0x48bc61 = !0x1),
void 0x0 === _0x28f10a && (_0x28f10a = !0x1),
!_0x296974)
return null != this['_boundTexturesCache'][_0x441f88] && (this['_activeChannel'] = _0x441f88,
this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], null),
this['_bindTextureDirectly'](this['_gl']['TEXTURE_CUBE_MAP'], null),
this['webGLVersion'] > 0x1 && this['_bindTextureDirectly'](this['_gl']['TEXTURE_3D'], null)),
!0x1;
if (_0x296974['video'])
this['_activeChannel'] = _0x441f88,
_0x296974['update']();
else if (_0x296974['delayLoadState'] === _0x2b36d6['DELAYLOADSTATE_NOTLOADED'])
return _0x296974['delayLoad'](),
!0x1;
var _0x51d881;
_0x51d881 = _0x28f10a ? _0x296974['depthStencilTexture'] : _0x296974['isReady']() ? _0x296974['getInternalTexture']() : _0x296974['isCube'] ? this['emptyCubeTexture'] : _0x296974['is3D'] ? this['emptyTexture3D'] : this['emptyTexture'],
!_0x48bc61 && _0x51d881 && (_0x51d881['_associatedChannel'] = _0x441f88);
var _0x464c04 = !0x0;
if (this['_boundTexturesCache'][_0x441f88] === _0x51d881 && (_0x48bc61 || this['_bindSamplerUniformToChannel'](_0x51d881['_associatedChannel'], _0x441f88),
_0x464c04 = !0x1),
this['_activeChannel'] = _0x441f88,
_0x51d881 && _0x51d881['isMultiview'])
_0x464c04 && this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D_ARRAY'], _0x51d881, _0x48bc61);
else if (_0x51d881 && _0x51d881['is3D'])
_0x464c04 && this['_bindTextureDirectly'](this['_gl']['TEXTURE_3D'], _0x51d881, _0x48bc61),
_0x51d881 && _0x51d881['_cachedWrapU'] !== _0x296974['wrapU'] && (_0x51d881['_cachedWrapU'] = _0x296974['wrapU'],
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_3D'], this['_gl']['TEXTURE_WRAP_S'], this['_getTextureWrapMode'](_0x296974['wrapU']), _0x51d881)),
_0x51d881 && _0x51d881['_cachedWrapV'] !== _0x296974['wrapV'] && (_0x51d881['_cachedWrapV'] = _0x296974['wrapV'],
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_3D'], this['_gl']['TEXTURE_WRAP_T'], this['_getTextureWrapMode'](_0x296974['wrapV']), _0x51d881)),
_0x51d881 && _0x51d881['_cachedWrapR'] !== _0x296974['wrapR'] && (_0x51d881['_cachedWrapR'] = _0x296974['wrapR'],
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_3D'], this['_gl']['TEXTURE_WRAP_R'], this['_getTextureWrapMode'](_0x296974['wrapR']), _0x51d881)),
this['_setAnisotropicLevel'](this['_gl']['TEXTURE_3D'], _0x296974);
else if (_0x51d881 && _0x51d881['isCube']) {
if (_0x464c04 && this['_bindTextureDirectly'](this['_gl']['TEXTURE_CUBE_MAP'], _0x51d881, _0x48bc61),
_0x51d881['_cachedCoordinatesMode'] !== _0x296974['coordinatesMode']) {
_0x51d881['_cachedCoordinatesMode'] = _0x296974['coordinatesMode'];
var _0x1c04bc = _0x296974['coordinatesMode'] !== _0x2b36d6['TEXTURE_CUBIC_MODE'] && _0x296974['coordinatesMode'] !== _0x2b36d6['TEXTURE_SKYBOX_MODE'] ? this['_gl']['REPEAT'] : this['_gl']['CLAMP_TO_EDGE'];
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_CUBE_MAP'], this['_gl']['TEXTURE_WRAP_S'], _0x1c04bc, _0x51d881),
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_CUBE_MAP'], this['_gl']['TEXTURE_WRAP_T'], _0x1c04bc);
}
this['_setAnisotropicLevel'](this['_gl']['TEXTURE_CUBE_MAP'], _0x296974);
} else
_0x464c04 && this['_bindTextureDirectly'](this['_gl']['TEXTURE_2D'], _0x51d881, _0x48bc61),
_0x51d881 && _0x51d881['_cachedWrapU'] !== _0x296974['wrapU'] && (_0x51d881['_cachedWrapU'] = _0x296974['wrapU'],
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_2D'], this['_gl']['TEXTURE_WRAP_S'], this['_getTextureWrapMode'](_0x296974['wrapU']), _0x51d881)),
_0x51d881 && _0x51d881['_cachedWrapV'] !== _0x296974['wrapV'] && (_0x51d881['_cachedWrapV'] = _0x296974['wrapV'],
this['_setTextureParameterInteger'](this['_gl']['TEXTURE_2D'], this['_gl']['TEXTURE_WRAP_T'], this['_getTextureWrapMode'](_0x296974['wrapV']), _0x51d881)),
this['_setAnisotropicLevel'](this['_gl']['TEXTURE_2D'], _0x296974);
return !0x0;
}
,
_0x2b36d6['prototype']['setTextureArray'] = function(_0x586922, _0x3d8169, _0x196093) {
if (void 0x0 !== _0x586922 && _0x3d8169) {
this['_textureUnits'] && this['_textureUnits']['length'] === _0x196093['length'] || (this['_textureUnits'] = new Int32Array(_0x196093['length']));
for (var _0x59ae52 = 0x0; _0x59ae52 < _0x196093['length']; _0x59ae52++) {
var _0xeb7c3c = _0x196093[_0x59ae52]['getInternalTexture']();
_0xeb7c3c ? (this['_textureUnits'][_0x586922 + _0x59ae52] = _0x586922 + _0x59ae52,
_0xeb7c3c['_associatedChannel'] = _0x586922 + _0x59ae52) : this['_textureUnits'][_0x586922 + _0x59ae52] = -0x1;
}
this['_gl']['uniform1iv'](_0x3d8169, this['_textureUnits']);
for (var _0x22f592 = 0x0; _0x22f592 < _0x196093['length']; _0x22f592++)
this['_setTexture'](this['_textureUnits'][_0x22f592], _0x196093[_0x22f592], !0x0);
}
}
,
_0x2b36d6['prototype']['_setAnisotropicLevel'] = function(_0x1a743d, _0x46df7e) {
var _0x24c2f2 = _0x46df7e['getInternalTexture']();
if (_0x24c2f2) {
var _0x102b50 = this['_caps']['textureAnisotropicFilterExtension']
, _0x1127e2 = _0x46df7e['anisotropicFilteringLevel'];
_0x24c2f2['samplingMode'] !== _0x2b36d6['TEXTURE_LINEAR_LINEAR_MIPNEAREST'] && _0x24c2f2['samplingMode'] !== _0x2b36d6['TEXTURE_LINEAR_LINEAR_MIPLINEAR'] && _0x24c2f2['samplingMode'] !== _0x2b36d6['TEXTURE_LINEAR_LINEAR'] && (_0x1127e2 = 0x1),
_0x102b50 && _0x24c2f2['_cachedAnisotropicFilteringLevel'] !== _0x1127e2 && (this['_setTextureParameterFloat'](_0x1a743d, _0x102b50['TEXTURE_MAX_ANISOTROPY_EXT'], Math['min'](_0x1127e2, this['_caps']['maxAnisotropy']), _0x24c2f2),
_0x24c2f2['_cachedAnisotropicFilteringLevel'] = _0x1127e2);
}
}
,
_0x2b36d6['prototype']['_setTextureParameterFloat'] = function(_0xc2b282, _0x457913, _0xe3096, _0x8c7555) {
this['_bindTextureDirectly'](_0xc2b282, _0x8c7555, !0x0, !0x0),
this['_gl']['texParameterf'](_0xc2b282, _0x457913, _0xe3096);
}
,
_0x2b36d6['prototype']['_setTextureParameterInteger'] = function(_0x3c257d, _0x4c5d0b, _0x2ecc4e, _0x328fa8) {
_0x328fa8 && this['_bindTextureDirectly'](_0x3c257d, _0x328fa8, !0x0, !0x0),
this['_gl']['texParameteri'](_0x3c257d, _0x4c5d0b, _0x2ecc4e);
}
,
_0x2b36d6['prototype']['readPixels'] = function(_0x512833, _0x4447be, _0x12699, _0x290436) {
var _0x465b05 = new Uint8Array(_0x290436 * _0x12699 * 0x4);
return this['_gl']['readPixels'](_0x512833, _0x4447be, _0x12699, _0x290436, this['_gl']['RGBA'], this['_gl']['UNSIGNED_BYTE'], _0x465b05),
_0x465b05;
}
,
_0x2b36d6['prototype']['addExternalData'] = function(_0x1147a2, _0xe9866b) {
return this['_externalData'] || (this['_externalData'] = new _0x5de640['a']()),
this['_externalData']['add'](_0x1147a2, _0xe9866b);
}
,
_0x2b36d6['prototype']['getExternalData'] = function(_0x15eac2) {
return this['_externalData'] || (this['_externalData'] = new _0x5de640['a']()),
this['_externalData']['get'](_0x15eac2);
}
,
_0x2b36d6['prototype']['getOrAddExternalDataWithFactory'] = function(_0x392945, _0x16b3fd) {
return this['_externalData'] || (this['_externalData'] = new _0x5de640['a']()),
this['_externalData']['getOrAddWithFactory'](_0x392945, _0x16b3fd);
}
,
_0x2b36d6['prototype']['removeExternalData'] = function(_0x128408) {
return this['_externalData'] || (this['_externalData'] = new _0x5de640['a']()),
this['_externalData']['remove'](_0x128408);
}
,
_0x2b36d6['prototype']['unbindAllAttributes'] = function() {
if (this['_mustWipeVertexAttributes']) {
this['_mustWipeVertexAttributes'] = !0x1;
for (var _0x521553 = 0x0; _0x521553 < this['_caps']['maxVertexAttribs']; _0x521553++)
this['_gl']['disableVertexAttribArray'](_0x521553),
this['_vertexAttribArraysEnabled'][_0x521553] = !0x1,
this['_currentBufferPointers'][_0x521553]['active'] = !0x1;
} else {
_0x521553 = 0x0;
for (var _0x35cb9b = this['_vertexAttribArraysEnabled']['length']; _0x521553 < _0x35cb9b; _0x521553++)
_0x521553 >= this['_caps']['maxVertexAttribs'] || !this['_vertexAttribArraysEnabled'][_0x521553] || (this['_gl']['disableVertexAttribArray'](_0x521553),
this['_vertexAttribArraysEnabled'][_0x521553] = !0x1,
this['_currentBufferPointers'][_0x521553]['active'] = !0x1);
}
}
,
_0x2b36d6['prototype']['releaseEffects'] = function() {
for (var _0x5caddc in this['_compiledEffects']) {
var _0xeb195a = this['_compiledEffects'][_0x5caddc]['getPipelineContext']();
this['_deletePipelineContext'](_0xeb195a);
}
this['_compiledEffects'] = {};
}
,
_0x2b36d6['prototype']['dispose'] = function() {
for (this['hideLoadingUI'](),
this['stopRenderLoop'](),
this['onNewSceneAddedObservable']['clear'](); this['postProcesses']['length']; )
this['postProcesses'][0x0]['dispose']();
for (this['_emptyTexture'] && (this['_releaseTexture'](this['_emptyTexture']),
this['_emptyTexture'] = null),
this['_emptyCubeTexture'] && (this['_releaseTexture'](this['_emptyCubeTexture']),
this['_emptyCubeTexture'] = null),
this['_rescalePostProcess'] && this['_rescalePostProcess']['dispose'](); this['scenes']['length']; )
this['scenes'][0x0]['dispose']();
0x1 === _0x2b36d6['Instances']['length'] && _0x2b36d6['audioEngine'] && _0x2b36d6['audioEngine']['dispose'](),
this['releaseEffects'](),
this['unbindAllAttributes'](),
this['_boundUniforms'] = [],
this['_dummyFramebuffer'] && this['_gl']['deleteFramebuffer'](this['_dummyFramebuffer']),
this['disableVR'](),
_0x28a362['a']['IsWindowObjectExist']() && (window['removeEventListener']('blur', this['_onBlur']),
window['removeEventListener']('focus', this['_onFocus']),
this['_renderingCanvas'] && (this['_renderingCanvas']['removeEventListener']('focus', this['_onCanvasFocus']),
this['_renderingCanvas']['removeEventListener']('blur', this['_onCanvasBlur']),
this['_renderingCanvas']['removeEventListener']('pointerout', this['_onCanvasPointerOut']),
this['_doNotHandleContextLost'] || (this['_renderingCanvas']['removeEventListener']('webglcontextlost', this['_onContextLost']),
this['_renderingCanvas']['removeEventListener']('webglcontextrestored', this['_onContextRestored']))),
document['removeEventListener']('fullscreenchange', this['_onFullscreenChange']),
document['removeEventListener']('mozfullscreenchange', this['_onFullscreenChange']),
document['removeEventListener']('webkitfullscreenchange', this['_onFullscreenChange']),
document['removeEventListener']('msfullscreenchange', this['_onFullscreenChange']),
document['removeEventListener']('pointerlockchange', this['_onPointerLockChange']),
document['removeEventListener']('mspointerlockchange', this['_onPointerLockChange']),
document['removeEventListener']('mozpointerlockchange', this['_onPointerLockChange']),
document['removeEventListener']('webkitpointerlockchange', this['_onPointerLockChange']));
var _0x16bdc3 = _0x2b36d6['Instances']['indexOf'](this);
_0x16bdc3 >= 0x0 && _0x2b36d6['Instances']['splice'](_0x16bdc3, 0x1),
this['_workingCanvas'] = null,
this['_workingContext'] = null,
this['_currentBufferPointers'] = [],
this['_renderingCanvas'] = null,
this['_currentProgram'] = null,
this['_bindedRenderFunction'] = null,
this['onResizeObservable']['clear'](),
this['onCanvasBlurObservable']['clear'](),
this['onCanvasFocusObservable']['clear'](),
this['onCanvasPointerOutObservable']['clear'](),
this['onBeginFrameObservable']['clear'](),
this['onEndFrameObservable']['clear'](),
_0x12c9c8['a']['ResetCache']();
for (var _0x5760dc = 0x0, _0x532e0e = this['_activeRequests']; _0x5760dc < _0x532e0e['length']; _0x5760dc++) {
_0x532e0e[_0x5760dc]['abort']();
}
}
,
_0x2b36d6['prototype']['displayLoadingUI'] = function() {
if (_0x28a362['a']['IsWindowObjectExist']()) {
var _0x1380ae = this['loadingScreen'];
_0x1380ae && _0x1380ae['displayLoadingUI']();
}
}
,
_0x2b36d6['prototype']['hideLoadingUI'] = function() {
if (_0x28a362['a']['IsWindowObjectExist']()) {
var _0x15ff11 = this['_loadingScreen'];
_0x15ff11 && _0x15ff11['hideLoadingUI']();
}
}
,
Object['defineProperty'](_0x2b36d6['prototype'], 'loadingScreen', {
'get': function() {
return !this['_loadingScreen'] && this['_renderingCanvas'] && (this['_loadingScreen'] = _0x2b36d6['DefaultLoadingScreenFactory'](this['_renderingCanvas'])),
this['_loadingScreen'];
},
'set': function(_0x4f75b9) {
this['_loadingScreen'] = _0x4f75b9;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'loadingUIText', {
'set': function(_0x6d9ab6) {
this['loadingScreen']['loadingUIText'] = _0x6d9ab6;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2b36d6['prototype'], 'loadingUIBackgroundColor', {
'set': function(_0x2cf608) {
this['loadingScreen']['loadingUIBackgroundColor'] = _0x2cf608;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2b36d6['prototype']['attachContextLostEvent'] = function(_0x3de83c) {
this['_renderingCanvas'] && this['_renderingCanvas']['addEventListener']('webglcontextlost', _0x3de83c, !0x1);
}
,
_0x2b36d6['prototype']['attachContextRestoredEvent'] = function(_0x4fe557) {
this['_renderingCanvas'] && this['_renderingCanvas']['addEventListener']('webglcontextrestored', _0x4fe557, !0x1);
}
,
_0x2b36d6['prototype']['getVertexShaderSource'] = function(_0x29da81) {
var _0x308b10 = this['_gl']['getAttachedShaders'](_0x29da81);
return _0x308b10 ? this['_gl']['getShaderSource'](_0x308b10[0x0]) : null;
}
,
_0x2b36d6['prototype']['getFragmentShaderSource'] = function(_0x23c483) {
var _0xc1a85f = this['_gl']['getAttachedShaders'](_0x23c483);
return _0xc1a85f ? this['_gl']['getShaderSource'](_0xc1a85f[0x1]) : null;
}
,
_0x2b36d6['prototype']['getError'] = function() {
return this['_gl']['getError']();
}
,
_0x2b36d6['prototype']['getFps'] = function() {
return this['_fps'];
}
,
_0x2b36d6['prototype']['getDeltaTime'] = function() {
return this['_deltaTime'];
}
,
_0x2b36d6['prototype']['_measureFps'] = function() {
this['_performanceMonitor']['sampleFrame'](),
this['_fps'] = this['_performanceMonitor']['averageFPS'],
this['_deltaTime'] = this['_performanceMonitor']['instantaneousFrameTime'] || 0x0;
}
,
_0x2b36d6['prototype']['_readTexturePixels'] = function(_0x2fb4ac, _0x32a639, _0x5c76c4, _0xc28b7d, _0x434c23, _0x260d1f) {
void 0x0 === _0xc28b7d && (_0xc28b7d = -0x1),
void 0x0 === _0x434c23 && (_0x434c23 = 0x0),
void 0x0 === _0x260d1f && (_0x260d1f = null);
var _0x4ab909 = this['_gl'];
if (!this['_dummyFramebuffer']) {
var _0x339313 = _0x4ab909['createFramebuffer']();
if (!_0x339313)
throw new Error('Unable\x20to\x20create\x20dummy\x20framebuffer');
this['_dummyFramebuffer'] = _0x339313;
}
_0x4ab909['bindFramebuffer'](_0x4ab909['FRAMEBUFFER'], this['_dummyFramebuffer']),
_0xc28b7d > -0x1 ? _0x4ab909['framebufferTexture2D'](_0x4ab909['FRAMEBUFFER'], _0x4ab909['COLOR_ATTACHMENT0'], _0x4ab909['TEXTURE_CUBE_MAP_POSITIVE_X'] + _0xc28b7d, _0x2fb4ac['_webGLTexture'], _0x434c23) : _0x4ab909['framebufferTexture2D'](_0x4ab909['FRAMEBUFFER'], _0x4ab909['COLOR_ATTACHMENT0'], _0x4ab909['TEXTURE_2D'], _0x2fb4ac['_webGLTexture'], _0x434c23);
var _0x431aa2 = void 0x0 !== _0x2fb4ac['type'] ? this['_getWebGLTextureType'](_0x2fb4ac['type']) : _0x4ab909['UNSIGNED_BYTE'];
switch (_0x431aa2) {
case _0x4ab909['UNSIGNED_BYTE']:
_0x260d1f || (_0x260d1f = new Uint8Array(0x4 * _0x32a639 * _0x5c76c4)),
_0x431aa2 = _0x4ab909['UNSIGNED_BYTE'];
break;
default:
_0x260d1f || (_0x260d1f = new Float32Array(0x4 * _0x32a639 * _0x5c76c4)),
_0x431aa2 = _0x4ab909['FLOAT'];
}
return _0x4ab909['readPixels'](0x0, 0x0, _0x32a639, _0x5c76c4, _0x4ab909['RGBA'], _0x431aa2, _0x260d1f),
_0x4ab909['bindFramebuffer'](_0x4ab909['FRAMEBUFFER'], this['_currentFramebuffer']),
_0x260d1f;
}
,
_0x2b36d6['prototype']['_canRenderToFloatFramebuffer'] = function() {
return this['_webGLVersion'] > 0x1 ? this['_caps']['colorBufferFloat'] : this['_canRenderToFramebuffer'](_0x2b36d6['TEXTURETYPE_FLOAT']);
}
,
_0x2b36d6['prototype']['_canRenderToHalfFloatFramebuffer'] = function() {
return this['_webGLVersion'] > 0x1 ? this['_caps']['colorBufferFloat'] : this['_canRenderToFramebuffer'](_0x2b36d6['TEXTURETYPE_HALF_FLOAT']);
}
,
_0x2b36d6['prototype']['_canRenderToFramebuffer'] = function(_0xb2fa1f) {
for (var _0x1723f9 = this['_gl']; _0x1723f9['getError']() !== _0x1723f9['NO_ERROR']; )
;
var _0xd7b077 = !0x0
, _0x49b127 = _0x1723f9['createTexture']();
_0x1723f9['bindTexture'](_0x1723f9['TEXTURE_2D'], _0x49b127),
_0x1723f9['texImage2D'](_0x1723f9['TEXTURE_2D'], 0x0, this['_getRGBABufferInternalSizedFormat'](_0xb2fa1f), 0x1, 0x1, 0x0, _0x1723f9['RGBA'], this['_getWebGLTextureType'](_0xb2fa1f), null),
_0x1723f9['texParameteri'](_0x1723f9['TEXTURE_2D'], _0x1723f9['TEXTURE_MIN_FILTER'], _0x1723f9['NEAREST']),
_0x1723f9['texParameteri'](_0x1723f9['TEXTURE_2D'], _0x1723f9['TEXTURE_MAG_FILTER'], _0x1723f9['NEAREST']);
var _0x4acbc7 = _0x1723f9['createFramebuffer']();
_0x1723f9['bindFramebuffer'](_0x1723f9['FRAMEBUFFER'], _0x4acbc7),
_0x1723f9['framebufferTexture2D'](_0x1723f9['FRAMEBUFFER'], _0x1723f9['COLOR_ATTACHMENT0'], _0x1723f9['TEXTURE_2D'], _0x49b127, 0x0);
var _0x32281a = _0x1723f9['checkFramebufferStatus'](_0x1723f9['FRAMEBUFFER']);
if ((_0xd7b077 = (_0xd7b077 = _0xd7b077 && _0x32281a === _0x1723f9['FRAMEBUFFER_COMPLETE']) && _0x1723f9['getError']() === _0x1723f9['NO_ERROR']) && (_0x1723f9['clear'](_0x1723f9['COLOR_BUFFER_BIT']),
_0xd7b077 = _0xd7b077 && _0x1723f9['getError']() === _0x1723f9['NO_ERROR']),
_0xd7b077) {
_0x1723f9['bindFramebuffer'](_0x1723f9['FRAMEBUFFER'], null);
var _0x230ebc = _0x1723f9['RGBA']
, _0x3db60c = _0x1723f9['UNSIGNED_BYTE']
, _0xda9a51 = new Uint8Array(0x4);
_0x1723f9['readPixels'](0x0, 0x0, 0x1, 0x1, _0x230ebc, _0x3db60c, _0xda9a51),
_0xd7b077 = _0xd7b077 && _0x1723f9['getError']() === _0x1723f9['NO_ERROR'];
}
for (_0x1723f9['deleteTexture'](_0x49b127),
_0x1723f9['deleteFramebuffer'](_0x4acbc7),
_0x1723f9['bindFramebuffer'](_0x1723f9['FRAMEBUFFER'], null); !_0xd7b077 && _0x1723f9['getError']() !== _0x1723f9['NO_ERROR']; )
;
return _0xd7b077;
}
,
_0x2b36d6['prototype']['_getWebGLTextureType'] = function(_0xb0dc2c) {
if (0x1 === this['_webGLVersion']) {
switch (_0xb0dc2c) {
case _0x2b36d6['TEXTURETYPE_FLOAT']:
return this['_gl']['FLOAT'];
case _0x2b36d6['TEXTURETYPE_HALF_FLOAT']:
return this['_gl']['HALF_FLOAT_OES'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_BYTE']:
return this['_gl']['UNSIGNED_BYTE'];
}
return this['_gl']['UNSIGNED_BYTE'];
}
switch (_0xb0dc2c) {
case _0x2b36d6['TEXTURETYPE_BYTE']:
return this['_gl']['BYTE'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_BYTE']:
return this['_gl']['UNSIGNED_BYTE'];
case _0x2b36d6['TEXTURETYPE_SHORT']:
return this['_gl']['SHORT'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT']:
return this['_gl']['UNSIGNED_SHORT'];
case _0x2b36d6['TEXTURETYPE_INT']:
return this['_gl']['INT'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INTEGER']:
return this['_gl']['UNSIGNED_INT'];
case _0x2b36d6['TEXTURETYPE_FLOAT']:
return this['_gl']['FLOAT'];
case _0x2b36d6['TEXTURETYPE_HALF_FLOAT']:
return this['_gl']['HALF_FLOAT'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4']:
return this['_gl']['UNSIGNED_SHORT_4_4_4_4'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1']:
return this['_gl']['UNSIGNED_SHORT_5_5_5_1'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_5_6_5']:
return this['_gl']['UNSIGNED_SHORT_5_6_5'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV']:
return this['_gl']['UNSIGNED_INT_2_10_10_10_REV'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INT_24_8']:
return this['_gl']['UNSIGNED_INT_24_8'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV']:
return this['_gl']['UNSIGNED_INT_10F_11F_11F_REV'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV']:
return this['_gl']['UNSIGNED_INT_5_9_9_9_REV'];
case _0x2b36d6['TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV']:
return this['_gl']['FLOAT_32_UNSIGNED_INT_24_8_REV'];
}
return this['_gl']['UNSIGNED_BYTE'];
}
,
_0x2b36d6['prototype']['_getInternalFormat'] = function(_0x274b11) {
var _0x42e461 = this['_gl']['RGBA'];
switch (_0x274b11) {
case _0x2b36d6['TEXTUREFORMAT_ALPHA']:
_0x42e461 = this['_gl']['ALPHA'];
break;
case _0x2b36d6['TEXTUREFORMAT_LUMINANCE']:
_0x42e461 = this['_gl']['LUMINANCE'];
break;
case _0x2b36d6['TEXTUREFORMAT_LUMINANCE_ALPHA']:
_0x42e461 = this['_gl']['LUMINANCE_ALPHA'];
break;
case _0x2b36d6['TEXTUREFORMAT_RED']:
_0x42e461 = this['_gl']['RED'];
break;
case _0x2b36d6['TEXTUREFORMAT_RG']:
_0x42e461 = this['_gl']['RG'];
break;
case _0x2b36d6['TEXTUREFORMAT_RGB']:
_0x42e461 = this['_gl']['RGB'];
break;
case _0x2b36d6['TEXTUREFORMAT_RGBA']:
_0x42e461 = this['_gl']['RGBA'];
}
if (this['_webGLVersion'] > 0x1)
switch (_0x274b11) {
case _0x2b36d6['TEXTUREFORMAT_RED_INTEGER']:
_0x42e461 = this['_gl']['RED_INTEGER'];
break;
case _0x2b36d6['TEXTUREFORMAT_RG_INTEGER']:
_0x42e461 = this['_gl']['RG_INTEGER'];
break;
case _0x2b36d6['TEXTUREFORMAT_RGB_INTEGER']:
_0x42e461 = this['_gl']['RGB_INTEGER'];
break;
case _0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER']:
_0x42e461 = this['_gl']['RGBA_INTEGER'];
}
return _0x42e461;
}
,
_0x2b36d6['prototype']['_getRGBABufferInternalSizedFormat'] = function(_0x119918, _0x397327) {
if (0x1 === this['_webGLVersion']) {
if (void 0x0 !== _0x397327)
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_ALPHA']:
return this['_gl']['ALPHA'];
case _0x2b36d6['TEXTUREFORMAT_LUMINANCE']:
return this['_gl']['LUMINANCE'];
case _0x2b36d6['TEXTUREFORMAT_LUMINANCE_ALPHA']:
return this['_gl']['LUMINANCE_ALPHA'];
}
return this['_gl']['RGBA'];
}
switch (_0x119918) {
case _0x2b36d6['TEXTURETYPE_BYTE']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RED']:
return this['_gl']['R8_SNORM'];
case _0x2b36d6['TEXTUREFORMAT_RG']:
return this['_gl']['RG8_SNORM'];
case _0x2b36d6['TEXTUREFORMAT_RGB']:
return this['_gl']['RGB8_SNORM'];
case _0x2b36d6['TEXTUREFORMAT_RED_INTEGER']:
return this['_gl']['R8I'];
case _0x2b36d6['TEXTUREFORMAT_RG_INTEGER']:
return this['_gl']['RG8I'];
case _0x2b36d6['TEXTUREFORMAT_RGB_INTEGER']:
return this['_gl']['RGB8I'];
case _0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER']:
return this['_gl']['RGBA8I'];
default:
return this['_gl']['RGBA8_SNORM'];
}
case _0x2b36d6['TEXTURETYPE_UNSIGNED_BYTE']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RED']:
return this['_gl']['R8'];
case _0x2b36d6['TEXTUREFORMAT_RG']:
return this['_gl']['RG8'];
case _0x2b36d6['TEXTUREFORMAT_RGB']:
return this['_gl']['RGB8'];
case _0x2b36d6['TEXTUREFORMAT_RGBA']:
return this['_gl']['RGBA8'];
case _0x2b36d6['TEXTUREFORMAT_RED_INTEGER']:
return this['_gl']['R8UI'];
case _0x2b36d6['TEXTUREFORMAT_RG_INTEGER']:
return this['_gl']['RG8UI'];
case _0x2b36d6['TEXTUREFORMAT_RGB_INTEGER']:
return this['_gl']['RGB8UI'];
case _0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER']:
return this['_gl']['RGBA8UI'];
case _0x2b36d6['TEXTUREFORMAT_ALPHA']:
return this['_gl']['ALPHA'];
case _0x2b36d6['TEXTUREFORMAT_LUMINANCE']:
return this['_gl']['LUMINANCE'];
case _0x2b36d6['TEXTUREFORMAT_LUMINANCE_ALPHA']:
return this['_gl']['LUMINANCE_ALPHA'];
default:
return this['_gl']['RGBA8'];
}
case _0x2b36d6['TEXTURETYPE_SHORT']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RED_INTEGER']:
return this['_gl']['R16I'];
case _0x2b36d6['TEXTUREFORMAT_RG_INTEGER']:
return this['_gl']['RG16I'];
case _0x2b36d6['TEXTUREFORMAT_RGB_INTEGER']:
return this['_gl']['RGB16I'];
case _0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER']:
default:
return this['_gl']['RGBA16I'];
}
case _0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RED_INTEGER']:
return this['_gl']['R16UI'];
case _0x2b36d6['TEXTUREFORMAT_RG_INTEGER']:
return this['_gl']['RG16UI'];
case _0x2b36d6['TEXTUREFORMAT_RGB_INTEGER']:
return this['_gl']['RGB16UI'];
case _0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER']:
default:
return this['_gl']['RGBA16UI'];
}
case _0x2b36d6['TEXTURETYPE_INT']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RED_INTEGER']:
return this['_gl']['R32I'];
case _0x2b36d6['TEXTUREFORMAT_RG_INTEGER']:
return this['_gl']['RG32I'];
case _0x2b36d6['TEXTUREFORMAT_RGB_INTEGER']:
return this['_gl']['RGB32I'];
case _0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER']:
default:
return this['_gl']['RGBA32I'];
}
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INTEGER']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RED_INTEGER']:
return this['_gl']['R32UI'];
case _0x2b36d6['TEXTUREFORMAT_RG_INTEGER']:
return this['_gl']['RG32UI'];
case _0x2b36d6['TEXTUREFORMAT_RGB_INTEGER']:
return this['_gl']['RGB32UI'];
case _0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER']:
default:
return this['_gl']['RGBA32UI'];
}
case _0x2b36d6['TEXTURETYPE_FLOAT']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RED']:
return this['_gl']['R32F'];
case _0x2b36d6['TEXTUREFORMAT_RG']:
return this['_gl']['RG32F'];
case _0x2b36d6['TEXTUREFORMAT_RGB']:
return this['_gl']['RGB32F'];
case _0x2b36d6['TEXTUREFORMAT_RGBA']:
default:
return this['_gl']['RGBA32F'];
}
case _0x2b36d6['TEXTURETYPE_HALF_FLOAT']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RED']:
return this['_gl']['R16F'];
case _0x2b36d6['TEXTUREFORMAT_RG']:
return this['_gl']['RG16F'];
case _0x2b36d6['TEXTUREFORMAT_RGB']:
return this['_gl']['RGB16F'];
case _0x2b36d6['TEXTUREFORMAT_RGBA']:
default:
return this['_gl']['RGBA16F'];
}
case _0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_5_6_5']:
return this['_gl']['RGB565'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV']:
return this['_gl']['R11F_G11F_B10F'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV']:
return this['_gl']['RGB9_E5'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4']:
return this['_gl']['RGBA4'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1']:
return this['_gl']['RGB5_A1'];
case _0x2b36d6['TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV']:
switch (_0x397327) {
case _0x2b36d6['TEXTUREFORMAT_RGBA']:
return this['_gl']['RGB10_A2'];
case _0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER']:
return this['_gl']['RGB10_A2UI'];
default:
return this['_gl']['RGB10_A2'];
}
}
return this['_gl']['RGBA8'];
}
,
_0x2b36d6['prototype']['_getRGBAMultiSampleBufferFormat'] = function(_0x28738e) {
return _0x28738e === _0x2b36d6['TEXTURETYPE_FLOAT'] ? this['_gl']['RGBA32F'] : _0x28738e === _0x2b36d6['TEXTURETYPE_HALF_FLOAT'] ? this['_gl']['RGBA16F'] : this['_gl']['RGBA8'];
}
,
_0x2b36d6['prototype']['_loadFile'] = function(_0x48fc1d, _0x361ebc, _0x60a2e5, _0x1bf092, _0x1563cf, _0x23716d) {
var _0x4d35e6 = this
, _0x1b0722 = _0x49b495['h']['LoadFile'](_0x48fc1d, _0x361ebc, _0x60a2e5, _0x1bf092, _0x1563cf, _0x23716d);
return this['_activeRequests']['push'](_0x1b0722),
_0x1b0722['onCompleteObservable']['add'](function(_0x4139e2) {
_0x4d35e6['_activeRequests']['splice'](_0x4d35e6['_activeRequests']['indexOf'](_0x4139e2), 0x1);
}),
_0x1b0722;
}
,
_0x2b36d6['prototype']['_loadFileAsync'] = function(_0x24f537, _0x43e98d, _0x25d7d5) {
var _0x5d7118 = this;
return new Promise(function(_0x2f6069, _0x2ba725) {
_0x5d7118['_loadFile'](_0x24f537, function(_0x4f0c4d) {
_0x2f6069(_0x4f0c4d);
}, void 0x0, _0x43e98d, _0x25d7d5, function(_0xf1e67b, _0x1fa024) {
_0x2ba725(_0x1fa024);
});
}
);
}
,
_0x2b36d6['isSupported'] = function() {
try {
var _0x3fc701 = document['createElement']('canvas');
return null != (_0x3fc701['getContext']('webgl') || _0x3fc701['getContext']('experimental-webgl')) && !!window['WebGLRenderingContext'];
} catch (_0x168441) {
return !0x1;
}
}
,
_0x2b36d6['ExceptionList'] = [{
'key': 'Chrome/63.0',
'capture': '63\x5c.0\x5c.3239\x5c.(\x5cd+)',
'captureConstraint': 0x6c,
'targets': ['uniformBuffer']
}, {
'key': 'Firefox/58',
'capture': null,
'captureConstraint': null,
'targets': ['uniformBuffer']
}, {
'key': 'Firefox/59',
'capture': null,
'captureConstraint': null,
'targets': ['uniformBuffer']
}, {
'key': 'Chrome/72.+?Mobile',
'capture': null,
'captureConstraint': null,
'targets': ['vao']
}, {
'key': 'Chrome/73.+?Mobile',
'capture': null,
'captureConstraint': null,
'targets': ['vao']
}, {
'key': 'Chrome/74.+?Mobile',
'capture': null,
'captureConstraint': null,
'targets': ['vao']
}, {
'key': 'Mac\x20OS.+Chrome/71',
'capture': null,
'captureConstraint': null,
'targets': ['vao']
}, {
'key': 'Mac\x20OS.+Chrome/72',
'capture': null,
'captureConstraint': null,
'targets': ['vao']
}],
_0x2b36d6['_TextureLoaders'] = [],
_0x2b36d6['ALPHA_DISABLE'] = _0x426396['a']['ALPHA_DISABLE'],
_0x2b36d6['ALPHA_ADD'] = _0x426396['a']['ALPHA_ADD'],
_0x2b36d6['ALPHA_COMBINE'] = _0x426396['a']['ALPHA_COMBINE'],
_0x2b36d6['ALPHA_SUBTRACT'] = _0x426396['a']['ALPHA_SUBTRACT'],
_0x2b36d6['ALPHA_MULTIPLY'] = _0x426396['a']['ALPHA_MULTIPLY'],
_0x2b36d6['ALPHA_MAXIMIZED'] = _0x426396['a']['ALPHA_MAXIMIZED'],
_0x2b36d6['ALPHA_ONEONE'] = _0x426396['a']['ALPHA_ONEONE'],
_0x2b36d6['ALPHA_PREMULTIPLIED'] = _0x426396['a']['ALPHA_PREMULTIPLIED'],
_0x2b36d6['ALPHA_PREMULTIPLIED_PORTERDUFF'] = _0x426396['a']['ALPHA_PREMULTIPLIED_PORTERDUFF'],
_0x2b36d6['ALPHA_INTERPOLATE'] = _0x426396['a']['ALPHA_INTERPOLATE'],
_0x2b36d6['ALPHA_SCREENMODE'] = _0x426396['a']['ALPHA_SCREENMODE'],
_0x2b36d6['DELAYLOADSTATE_NONE'] = _0x426396['a']['DELAYLOADSTATE_NONE'],
_0x2b36d6['DELAYLOADSTATE_LOADED'] = _0x426396['a']['DELAYLOADSTATE_LOADED'],
_0x2b36d6['DELAYLOADSTATE_LOADING'] = _0x426396['a']['DELAYLOADSTATE_LOADING'],
_0x2b36d6['DELAYLOADSTATE_NOTLOADED'] = _0x426396['a']['DELAYLOADSTATE_NOTLOADED'],
_0x2b36d6['NEVER'] = _0x426396['a']['NEVER'],
_0x2b36d6['ALWAYS'] = _0x426396['a']['ALWAYS'],
_0x2b36d6['LESS'] = _0x426396['a']['LESS'],
_0x2b36d6['EQUAL'] = _0x426396['a']['EQUAL'],
_0x2b36d6['LEQUAL'] = _0x426396['a']['LEQUAL'],
_0x2b36d6['GREATER'] = _0x426396['a']['GREATER'],
_0x2b36d6['GEQUAL'] = _0x426396['a']['GEQUAL'],
_0x2b36d6['NOTEQUAL'] = _0x426396['a']['NOTEQUAL'],
_0x2b36d6['KEEP'] = _0x426396['a']['KEEP'],
_0x2b36d6['REPLACE'] = _0x426396['a']['REPLACE'],
_0x2b36d6['INCR'] = _0x426396['a']['INCR'],
_0x2b36d6['DECR'] = _0x426396['a']['DECR'],
_0x2b36d6['INVERT'] = _0x426396['a']['INVERT'],
_0x2b36d6['INCR_WRAP'] = _0x426396['a']['INCR_WRAP'],
_0x2b36d6['DECR_WRAP'] = _0x426396['a']['DECR_WRAP'],
_0x2b36d6['TEXTURE_CLAMP_ADDRESSMODE'] = _0x426396['a']['TEXTURE_CLAMP_ADDRESSMODE'],
_0x2b36d6['TEXTURE_WRAP_ADDRESSMODE'] = _0x426396['a']['TEXTURE_WRAP_ADDRESSMODE'],
_0x2b36d6['TEXTURE_MIRROR_ADDRESSMODE'] = _0x426396['a']['TEXTURE_MIRROR_ADDRESSMODE'],
_0x2b36d6['TEXTUREFORMAT_ALPHA'] = _0x426396['a']['TEXTUREFORMAT_ALPHA'],
_0x2b36d6['TEXTUREFORMAT_LUMINANCE'] = _0x426396['a']['TEXTUREFORMAT_LUMINANCE'],
_0x2b36d6['TEXTUREFORMAT_LUMINANCE_ALPHA'] = _0x426396['a']['TEXTUREFORMAT_LUMINANCE_ALPHA'],
_0x2b36d6['TEXTUREFORMAT_RGB'] = _0x426396['a']['TEXTUREFORMAT_RGB'],
_0x2b36d6['TEXTUREFORMAT_RGBA'] = _0x426396['a']['TEXTUREFORMAT_RGBA'],
_0x2b36d6['TEXTUREFORMAT_RED'] = _0x426396['a']['TEXTUREFORMAT_RED'],
_0x2b36d6['TEXTUREFORMAT_R'] = _0x426396['a']['TEXTUREFORMAT_R'],
_0x2b36d6['TEXTUREFORMAT_RG'] = _0x426396['a']['TEXTUREFORMAT_RG'],
_0x2b36d6['TEXTUREFORMAT_RED_INTEGER'] = _0x426396['a']['TEXTUREFORMAT_RED_INTEGER'],
_0x2b36d6['TEXTUREFORMAT_R_INTEGER'] = _0x426396['a']['TEXTUREFORMAT_R_INTEGER'],
_0x2b36d6['TEXTUREFORMAT_RG_INTEGER'] = _0x426396['a']['TEXTUREFORMAT_RG_INTEGER'],
_0x2b36d6['TEXTUREFORMAT_RGB_INTEGER'] = _0x426396['a']['TEXTUREFORMAT_RGB_INTEGER'],
_0x2b36d6['TEXTUREFORMAT_RGBA_INTEGER'] = _0x426396['a']['TEXTUREFORMAT_RGBA_INTEGER'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_BYTE'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_BYTE'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_INT'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_INT'],
_0x2b36d6['TEXTURETYPE_FLOAT'] = _0x426396['a']['TEXTURETYPE_FLOAT'],
_0x2b36d6['TEXTURETYPE_HALF_FLOAT'] = _0x426396['a']['TEXTURETYPE_HALF_FLOAT'],
_0x2b36d6['TEXTURETYPE_BYTE'] = _0x426396['a']['TEXTURETYPE_BYTE'],
_0x2b36d6['TEXTURETYPE_SHORT'] = _0x426396['a']['TEXTURETYPE_SHORT'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_SHORT'],
_0x2b36d6['TEXTURETYPE_INT'] = _0x426396['a']['TEXTURETYPE_INT'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_INTEGER'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_INTEGER'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_SHORT_5_6_5'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_SHORT_5_6_5'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_INT_24_8'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_INT_24_8'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV'],
_0x2b36d6['TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV'] = _0x426396['a']['TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV'],
_0x2b36d6['TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV'] = _0x426396['a']['TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV'],
_0x2b36d6['TEXTURE_NEAREST_SAMPLINGMODE'] = _0x426396['a']['TEXTURE_NEAREST_SAMPLINGMODE'],
_0x2b36d6['TEXTURE_BILINEAR_SAMPLINGMODE'] = _0x426396['a']['TEXTURE_BILINEAR_SAMPLINGMODE'],
_0x2b36d6['TEXTURE_TRILINEAR_SAMPLINGMODE'] = _0x426396['a']['TEXTURE_TRILINEAR_SAMPLINGMODE'],
_0x2b36d6['TEXTURE_NEAREST_NEAREST_MIPLINEAR'] = _0x426396['a']['TEXTURE_NEAREST_NEAREST_MIPLINEAR'],
_0x2b36d6['TEXTURE_LINEAR_LINEAR_MIPNEAREST'] = _0x426396['a']['TEXTURE_LINEAR_LINEAR_MIPNEAREST'],
_0x2b36d6['TEXTURE_LINEAR_LINEAR_MIPLINEAR'] = _0x426396['a']['TEXTURE_LINEAR_LINEAR_MIPLINEAR'],
_0x2b36d6['TEXTURE_NEAREST_NEAREST_MIPNEAREST'] = _0x426396['a']['TEXTURE_NEAREST_NEAREST_MIPNEAREST'],
_0x2b36d6['TEXTURE_NEAREST_LINEAR_MIPNEAREST'] = _0x426396['a']['TEXTURE_NEAREST_LINEAR_MIPNEAREST'],
_0x2b36d6['TEXTURE_NEAREST_LINEAR_MIPLINEAR'] = _0x426396['a']['TEXTURE_NEAREST_LINEAR_MIPLINEAR'],
_0x2b36d6['TEXTURE_NEAREST_LINEAR'] = _0x426396['a']['TEXTURE_NEAREST_LINEAR'],
_0x2b36d6['TEXTURE_NEAREST_NEAREST'] = _0x426396['a']['TEXTURE_NEAREST_NEAREST'],
_0x2b36d6['TEXTURE_LINEAR_NEAREST_MIPNEAREST'] = _0x426396['a']['TEXTURE_LINEAR_NEAREST_MIPNEAREST'],
_0x2b36d6['TEXTURE_LINEAR_NEAREST_MIPLINEAR'] = _0x426396['a']['TEXTURE_LINEAR_NEAREST_MIPLINEAR'],
_0x2b36d6['TEXTURE_LINEAR_LINEAR'] = _0x426396['a']['TEXTURE_LINEAR_LINEAR'],
_0x2b36d6['TEXTURE_LINEAR_NEAREST'] = _0x426396['a']['TEXTURE_LINEAR_NEAREST'],
_0x2b36d6['TEXTURE_EXPLICIT_MODE'] = _0x426396['a']['TEXTURE_EXPLICIT_MODE'],
_0x2b36d6['TEXTURE_SPHERICAL_MODE'] = _0x426396['a']['TEXTURE_SPHERICAL_MODE'],
_0x2b36d6['TEXTURE_PLANAR_MODE'] = _0x426396['a']['TEXTURE_PLANAR_MODE'],
_0x2b36d6['TEXTURE_CUBIC_MODE'] = _0x426396['a']['TEXTURE_CUBIC_MODE'],
_0x2b36d6['TEXTURE_PROJECTION_MODE'] = _0x426396['a']['TEXTURE_PROJECTION_MODE'],
_0x2b36d6['TEXTURE_SKYBOX_MODE'] = _0x426396['a']['TEXTURE_SKYBOX_MODE'],
_0x2b36d6['TEXTURE_INVCUBIC_MODE'] = _0x426396['a']['TEXTURE_INVCUBIC_MODE'],
_0x2b36d6['TEXTURE_EQUIRECTANGULAR_MODE'] = _0x426396['a']['TEXTURE_EQUIRECTANGULAR_MODE'],
_0x2b36d6['TEXTURE_FIXED_EQUIRECTANGULAR_MODE'] = _0x426396['a']['TEXTURE_FIXED_EQUIRECTANGULAR_MODE'],
_0x2b36d6['TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE'] = _0x426396['a']['TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE'],
_0x2b36d6['SCALEMODE_FLOOR'] = _0x426396['a']['SCALEMODE_FLOOR'],
_0x2b36d6['SCALEMODE_NEAREST'] = _0x426396['a']['SCALEMODE_NEAREST'],
_0x2b36d6['SCALEMODE_CEILING'] = _0x426396['a']['SCALEMODE_CEILING'],
_0x2b36d6['CollisionsEpsilon'] = 0.001,
_0x2b36d6['_RescalePostProcessFactory'] = null,
_0x2b36d6;
}();
}
, function(_0x5e243e, _0x2a4895, _0x21dd48) {
'use strict';
_0x21dd48['d'](_0x2a4895, 'b', function() {
return _0x327997;
}),
_0x21dd48['d'](_0x2a4895, 'c', function() {
return _0x52cde7;
}),
_0x21dd48['d'](_0x2a4895, 'a', function() {
return _0x3674a1;
});
var _0x59331c = _0x21dd48(0x1)
, _0xb02aff = _0x21dd48(0x8)
, _0xf44b3e = _0x21dd48(0x9)
, _0x23f3e2 = _0x21dd48(0x20)
, _0xfac2e0 = _0x21dd48(0x1d)
, _0x564b55 = _0x21dd48(0x0)
, _0x3de53f = _0x21dd48(0x19)
, _0x566195 = _0x21dd48(0x4)
, _0x3321ce = _0x21dd48(0xd)
, _0x3ce75b = _0x21dd48(0x39)
, _0x223115 = _0x21dd48(0x18)
, _0x1d85ce = _0x21dd48(0x31)
, _0x580b71 = _0x21dd48(0x2b)
, _0x5df3c0 = _0x21dd48(0x14)
, _0x15c00 = _0x21dd48(0x42)
, _0x38d900 = _0x21dd48(0x37)
, _0x11dda0 = _0x21dd48(0x3)
, _0x16d985 = _0x21dd48(0x2)
, _0x651ae7 = _0x21dd48(0x6)
, _0x4d4b99 = _0x21dd48(0x16)
, _0x38b7f6 = _0x21dd48(0x13)
, _0x44d4b1 = _0x21dd48(0xe)
, _0x2a61b7 = _0x21dd48(0x6e)
, _0x327997 = function() {
return function() {}
;
}()
, _0x3376b6 = function() {
return function() {
this['visibleInstances'] = {},
this['batchCache'] = new _0x52cde7(),
this['instancesBufferSize'] = 0x800;
}
;
}()
, _0x52cde7 = function() {
return function() {
this['mustReturn'] = !0x1,
this['visibleInstances'] = new Array(),
this['renderSelf'] = new Array(),
this['hardwareInstancedRendering'] = new Array();
}
;
}()
, _0x117976 = function() {
return function() {
this['_areNormalsFrozen'] = !0x1,
this['_source'] = null,
this['meshMap'] = null,
this['_preActivateId'] = -0x1,
this['_LODLevels'] = new Array(),
this['_morphTargetManager'] = null;
}
;
}()
, _0x3674a1 = function(_0xeba31b) {
function _0x4dc7f5(_0x16fdbf, _0x365c23, _0x67b2d7, _0x4e7f06, _0x4f424e, _0x1fefab) {
void 0x0 === _0x365c23 && (_0x365c23 = null),
void 0x0 === _0x67b2d7 && (_0x67b2d7 = null),
void 0x0 === _0x4e7f06 && (_0x4e7f06 = null),
void 0x0 === _0x1fefab && (_0x1fefab = !0x0);
var _0x1bedec = _0xeba31b['call'](this, _0x16fdbf, _0x365c23) || this;
if (_0x1bedec['_internalMeshDataInfo'] = new _0x117976(),
_0x1bedec['delayLoadState'] = _0x11dda0['a']['DELAYLOADSTATE_NONE'],
_0x1bedec['instances'] = new Array(),
_0x1bedec['_creationDataStorage'] = null,
_0x1bedec['_geometry'] = null,
_0x1bedec['_instanceDataStorage'] = new _0x3376b6(),
_0x1bedec['_effectiveMaterial'] = null,
_0x1bedec['_shouldGenerateFlatShading'] = !0x1,
_0x1bedec['_originalBuilderSideOrientation'] = _0x4dc7f5['DEFAULTSIDE'],
_0x1bedec['overrideMaterialSideOrientation'] = null,
_0x365c23 = _0x1bedec['getScene'](),
_0x4e7f06) {
if (_0x4e7f06['_geometry'] && _0x4e7f06['_geometry']['applyToMesh'](_0x1bedec),
_0x23f3e2['a']['DeepCopy'](_0x4e7f06, _0x1bedec, ['name', 'material', 'skeleton', 'instances', 'parent', 'uniqueId', 'source', 'metadata', 'hasLODLevels', 'geometry', 'isBlocked', 'areNormalsFrozen', 'onBeforeDrawObservable', 'onBeforeRenderObservable', 'onAfterRenderObservable', 'onBeforeDraw', 'onAfterWorldMatrixUpdateObservable', 'onCollideObservable', 'onCollisionPositionChangeObservable', 'onRebuildObservable', 'onDisposeObservable'], ['_poseMatrix']),
_0x1bedec['_internalMeshDataInfo']['_source'] = _0x4e7f06,
_0x365c23['useClonedMeshhMap'] && (_0x4e7f06['_internalMeshDataInfo']['meshMap'] || (_0x4e7f06['_internalMeshDataInfo']['meshMap'] = {}),
_0x4e7f06['_internalMeshDataInfo']['meshMap'][_0x1bedec['uniqueId']] = _0x1bedec),
_0x1bedec['_originalBuilderSideOrientation'] = _0x4e7f06['_originalBuilderSideOrientation'],
_0x1bedec['_creationDataStorage'] = _0x4e7f06['_creationDataStorage'],
_0x4e7f06['_ranges']) {
var _0x1c858f = _0x4e7f06['_ranges'];
for (var _0x16fdbf in _0x1c858f)
_0x1c858f['hasOwnProperty'](_0x16fdbf) && _0x1c858f[_0x16fdbf] && _0x1bedec['createAnimationRange'](_0x16fdbf, _0x1c858f[_0x16fdbf]['from'], _0x1c858f[_0x16fdbf]['to']);
}
var _0xff5af3;
if (_0x4e7f06['metadata'] && _0x4e7f06['metadata']['clone'] ? _0x1bedec['metadata'] = _0x4e7f06['metadata']['clone']() : _0x1bedec['metadata'] = _0x4e7f06['metadata'],
_0xfac2e0['a'] && _0xfac2e0['a']['HasTags'](_0x4e7f06) && _0xfac2e0['a']['AddTagsTo'](_0x1bedec, _0xfac2e0['a']['GetTags'](_0x4e7f06, !0x0)),
_0x1bedec['parent'] = _0x4e7f06['parent'],
_0x1bedec['setPivotMatrix'](_0x4e7f06['getPivotMatrix']()),
_0x1bedec['id'] = _0x16fdbf + '.' + _0x4e7f06['id'],
_0x1bedec['material'] = _0x4e7f06['material'],
!_0x4f424e)
for (var _0x2056d3 = _0x4e7f06['getDescendants'](!0x0), _0x7a136d = 0x0; _0x7a136d < _0x2056d3['length']; _0x7a136d++) {
var _0x40aeef = _0x2056d3[_0x7a136d];
_0x40aeef['clone'] && _0x40aeef['clone'](_0x16fdbf + '.' + _0x40aeef['name'], _0x1bedec);
}
if (_0x365c23['getPhysicsEngine']) {
var _0x1695c9 = _0x365c23['getPhysicsEngine']();
if (_0x1fefab && _0x1695c9) {
var _0x5e70bc = _0x1695c9['getImpostorForPhysicsObject'](_0x4e7f06);
_0x5e70bc && (_0x1bedec['physicsImpostor'] = _0x5e70bc['clone'](_0x1bedec));
}
}
for (_0xff5af3 = 0x0; _0xff5af3 < _0x365c23['particleSystems']['length']; _0xff5af3++) {
var _0x12c481 = _0x365c23['particleSystems'][_0xff5af3];
_0x12c481['emitter'] === _0x4e7f06 && _0x12c481['clone'](_0x12c481['name'], _0x1bedec);
}
_0x1bedec['refreshBoundingInfo'](),
_0x1bedec['computeWorldMatrix'](!0x0);
}
return null !== _0x67b2d7 && (_0x1bedec['parent'] = _0x67b2d7),
_0x1bedec['_instanceDataStorage']['hardwareInstancedRendering'] = _0x1bedec['getEngine']()['getCaps']()['instancedArrays'],
_0x1bedec;
}
return _0x59331c['d'](_0x4dc7f5, _0xeba31b),
_0x4dc7f5['_GetDefaultSideOrientation'] = function(_0xdfc60b) {
return _0xdfc60b || _0x4dc7f5['FRONTSIDE'];
}
,
Object['defineProperty'](_0x4dc7f5['prototype'], 'onBeforeRenderObservable', {
'get': function() {
return this['_internalMeshDataInfo']['_onBeforeRenderObservable'] || (this['_internalMeshDataInfo']['_onBeforeRenderObservable'] = new _0xb02aff['c']()),
this['_internalMeshDataInfo']['_onBeforeRenderObservable'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x4dc7f5['prototype'], 'onBeforeBindObservable', {
'get': function() {
return this['_internalMeshDataInfo']['_onBeforeBindObservable'] || (this['_internalMeshDataInfo']['_onBeforeBindObservable'] = new _0xb02aff['c']()),
this['_internalMeshDataInfo']['_onBeforeBindObservable'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x4dc7f5['prototype'], 'onAfterRenderObservable', {
'get': function() {
return this['_internalMeshDataInfo']['_onAfterRenderObservable'] || (this['_internalMeshDataInfo']['_onAfterRenderObservable'] = new _0xb02aff['c']()),
this['_internalMeshDataInfo']['_onAfterRenderObservable'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x4dc7f5['prototype'], 'onBeforeDrawObservable', {
'get': function() {
return this['_internalMeshDataInfo']['_onBeforeDrawObservable'] || (this['_internalMeshDataInfo']['_onBeforeDrawObservable'] = new _0xb02aff['c']()),
this['_internalMeshDataInfo']['_onBeforeDrawObservable'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x4dc7f5['prototype'], 'onBeforeDraw', {
'set': function(_0x143f79) {
this['_onBeforeDrawObserver'] && this['onBeforeDrawObservable']['remove'](this['_onBeforeDrawObserver']),
this['_onBeforeDrawObserver'] = this['onBeforeDrawObservable']['add'](_0x143f79);
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x4dc7f5['prototype'], 'morphTargetManager', {
'get': function() {
return this['_internalMeshDataInfo']['_morphTargetManager'];
},
'set': function(_0x57c8b7) {
this['_internalMeshDataInfo']['_morphTargetManager'] !== _0x57c8b7 && (this['_internalMeshDataInfo']['_morphTargetManager'] = _0x57c8b7,
this['_syncGeometryWithMorphTargetManager']());
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x4dc7f5['prototype'], 'source', {
'get': function() {
return this['_internalMeshDataInfo']['_source'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x4dc7f5['prototype'], 'isUnIndexed', {
'get': function() {
return this['_unIndexed'];
},
'set': function(_0x1fcdad) {
this['_unIndexed'] !== _0x1fcdad && (this['_unIndexed'] = _0x1fcdad,
this['_markSubMeshesAsAttributesDirty']());
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4dc7f5['prototype']['getClassName'] = function() {
return 'Mesh';
}
,
Object['defineProperty'](_0x4dc7f5['prototype'], '_isMesh', {
'get': function() {
return !0x0;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4dc7f5['prototype']['toString'] = function(_0x4a3a3f) {
var _0x132cd6 = _0xeba31b['prototype']['toString']['call'](this, _0x4a3a3f);
if (_0x132cd6 += ',\x20n\x20vertices:\x20' + this['getTotalVertices'](),
_0x132cd6 += ',\x20parent:\x20' + (this['_waitingParentId'] ? this['_waitingParentId'] : this['parent'] ? this['parent']['name'] : 'NONE'),
this['animations'])
for (var _0x3a47c0 = 0x0; _0x3a47c0 < this['animations']['length']; _0x3a47c0++)
_0x132cd6 += ',\x20animation[0]:\x20' + this['animations'][_0x3a47c0]['toString'](_0x4a3a3f);
if (_0x4a3a3f)
if (this['_geometry']) {
var _0x36a1b7 = this['getIndices']()
, _0x2aa141 = this['getVerticesData'](_0x566195['b']['PositionKind']);
_0x2aa141 && _0x36a1b7 && (_0x132cd6 += ',\x20flat\x20shading:\x20' + (_0x2aa141['length'] / 0x3 === _0x36a1b7['length'] ? 'YES' : 'NO'));
} else
_0x132cd6 += ',\x20flat\x20shading:\x20UNKNOWN';
return _0x132cd6;
}
,
_0x4dc7f5['prototype']['_unBindEffect'] = function() {
_0xeba31b['prototype']['_unBindEffect']['call'](this);
for (var _0x46c797 = 0x0, _0x19dec8 = this['instances']; _0x46c797 < _0x19dec8['length']; _0x46c797++) {
_0x19dec8[_0x46c797]['_unBindEffect']();
}
}
,
Object['defineProperty'](_0x4dc7f5['prototype'], 'hasLODLevels', {
'get': function() {
return this['_internalMeshDataInfo']['_LODLevels']['length'] > 0x0;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4dc7f5['prototype']['getLODLevels'] = function() {
return this['_internalMeshDataInfo']['_LODLevels'];
}
,
_0x4dc7f5['prototype']['_sortLODLevels'] = function() {
this['_internalMeshDataInfo']['_LODLevels']['sort'](function(_0x516fc1, _0x4c4598) {
return _0x516fc1['distance'] < _0x4c4598['distance'] ? 0x1 : _0x516fc1['distance'] > _0x4c4598['distance'] ? -0x1 : 0x0;
});
}
,
_0x4dc7f5['prototype']['addLODLevel'] = function(_0x3dec20, _0x25f915) {
if (_0x25f915 && _0x25f915['_masterMesh'])
return _0x651ae7['a']['Warn']('You\x20cannot\x20use\x20a\x20mesh\x20as\x20LOD\x20level\x20twice'),
this;
var _0x5d1583 = new _0x2a61b7['a'](_0x3dec20,_0x25f915);
return this['_internalMeshDataInfo']['_LODLevels']['push'](_0x5d1583),
_0x25f915 && (_0x25f915['_masterMesh'] = this),
this['_sortLODLevels'](),
this;
}
,
_0x4dc7f5['prototype']['getLODLevelAtDistance'] = function(_0x48bf30) {
for (var _0xff1b5a = this['_internalMeshDataInfo'], _0x2f293f = 0x0; _0x2f293f < _0xff1b5a['_LODLevels']['length']; _0x2f293f++) {
var _0x53dd8c = _0xff1b5a['_LODLevels'][_0x2f293f];
if (_0x53dd8c['distance'] === _0x48bf30)
return _0x53dd8c['mesh'];
}
return null;
}
,
_0x4dc7f5['prototype']['removeLODLevel'] = function(_0x94d6f3) {
for (var _0x52059d = this['_internalMeshDataInfo'], _0x2a25d0 = 0x0; _0x2a25d0 < _0x52059d['_LODLevels']['length']; _0x2a25d0++)
_0x52059d['_LODLevels'][_0x2a25d0]['mesh'] === _0x94d6f3 && (_0x52059d['_LODLevels']['splice'](_0x2a25d0, 0x1),
_0x94d6f3 && (_0x94d6f3['_masterMesh'] = null));
return this['_sortLODLevels'](),
this;
}
,
_0x4dc7f5['prototype']['getLOD'] = function(_0x3b58c5, _0x1c0890) {
var _0x301f6, _0x362e3b = this['_internalMeshDataInfo'];
if (!_0x362e3b['_LODLevels'] || 0x0 === _0x362e3b['_LODLevels']['length'])
return this;
_0x1c0890 ? _0x301f6 = _0x1c0890 : _0x301f6 = this['getBoundingInfo']()['boundingSphere'];
var _0x547ec7 = _0x301f6['centerWorld']['subtract'](_0x3b58c5['globalPosition'])['length']();
if (_0x362e3b['_LODLevels'][_0x362e3b['_LODLevels']['length'] - 0x1]['distance'] > _0x547ec7)
return this['onLODLevelSelection'] && this['onLODLevelSelection'](_0x547ec7, this, _0x362e3b['_LODLevels'][_0x362e3b['_LODLevels']['length'] - 0x1]['mesh']),
this;
for (var _0x17c737 = 0x0; _0x17c737 < _0x362e3b['_LODLevels']['length']; _0x17c737++) {
var _0x549d0a = _0x362e3b['_LODLevels'][_0x17c737];
if (_0x549d0a['distance'] < _0x547ec7)
return _0x549d0a['mesh'] && (_0x549d0a['mesh']['_preActivate'](),
_0x549d0a['mesh']['_updateSubMeshesBoundingInfo'](this['worldMatrixFromCache'])),
this['onLODLevelSelection'] && this['onLODLevelSelection'](_0x547ec7, this, _0x549d0a['mesh']),
_0x549d0a['mesh'];
}
return this['onLODLevelSelection'] && this['onLODLevelSelection'](_0x547ec7, this, this),
this;
}
,
Object['defineProperty'](_0x4dc7f5['prototype'], 'geometry', {
'get': function() {
return this['_geometry'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4dc7f5['prototype']['getTotalVertices'] = function() {
return null === this['_geometry'] || void 0x0 === this['_geometry'] ? 0x0 : this['_geometry']['getTotalVertices']();
}
,
_0x4dc7f5['prototype']['getVerticesData'] = function(_0x8d3ebd, _0x5a58ba, _0x4c4291) {
return this['_geometry'] ? this['_geometry']['getVerticesData'](_0x8d3ebd, _0x5a58ba, _0x4c4291) : null;
}
,
_0x4dc7f5['prototype']['getVertexBuffer'] = function(_0x4e2bb4) {
return this['_geometry'] ? this['_geometry']['getVertexBuffer'](_0x4e2bb4) : null;
}
,
_0x4dc7f5['prototype']['isVerticesDataPresent'] = function(_0x4aa81d) {
return this['_geometry'] ? this['_geometry']['isVerticesDataPresent'](_0x4aa81d) : !!this['_delayInfo'] && -0x1 !== this['_delayInfo']['indexOf'](_0x4aa81d);
}
,
_0x4dc7f5['prototype']['isVertexBufferUpdatable'] = function(_0x8768f5) {
return this['_geometry'] ? this['_geometry']['isVertexBufferUpdatable'](_0x8768f5) : !!this['_delayInfo'] && -0x1 !== this['_delayInfo']['indexOf'](_0x8768f5);
}
,
_0x4dc7f5['prototype']['getVerticesDataKinds'] = function() {
if (!this['_geometry']) {
var _0x97c86a = new Array();
return this['_delayInfo'] && this['_delayInfo']['forEach'](function(_0x5164cd) {
_0x97c86a['push'](_0x5164cd);
}),
_0x97c86a;
}
return this['_geometry']['getVerticesDataKinds']();
}
,
_0x4dc7f5['prototype']['getTotalIndices'] = function() {
return this['_geometry'] ? this['_geometry']['getTotalIndices']() : 0x0;
}
,
_0x4dc7f5['prototype']['getIndices'] = function(_0x5e2073, _0x24ea1c) {
return this['_geometry'] ? this['_geometry']['getIndices'](_0x5e2073, _0x24ea1c) : [];
}
,
Object['defineProperty'](_0x4dc7f5['prototype'], 'isBlocked', {
'get': function() {
return null !== this['_masterMesh'] && void 0x0 !== this['_masterMesh'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4dc7f5['prototype']['isReady'] = function(_0x1daf28, _0x34d234) {
if (void 0x0 === _0x1daf28 && (_0x1daf28 = !0x1),
void 0x0 === _0x34d234 && (_0x34d234 = !0x1),
this['delayLoadState'] === _0x11dda0['a']['DELAYLOADSTATE_LOADING'])
return !0x1;
if (!_0xeba31b['prototype']['isReady']['call'](this, _0x1daf28))
return !0x1;
if (!this['subMeshes'] || 0x0 === this['subMeshes']['length'])
return !0x0;
if (!_0x1daf28)
return !0x0;
var _0x37a502 = this['getEngine']()
, _0x17d0d8 = this['getScene']()
, _0x1db781 = _0x34d234 || _0x37a502['getCaps']()['instancedArrays'] && this['instances']['length'] > 0x0;
this['computeWorldMatrix']();
var _0x4ddb85 = this['material'] || _0x17d0d8['defaultMaterial'];
if (_0x4ddb85)
if (_0x4ddb85['_storeEffectOnSubMeshes'])
for (var _0x5f132d = 0x0, _0x3a6134 = this['subMeshes']; _0x5f132d < _0x3a6134['length']; _0x5f132d++) {
var _0xda5923 = (_0x417e3a = _0x3a6134[_0x5f132d])['getMaterial']();
if (_0xda5923)
if (_0xda5923['_storeEffectOnSubMeshes']) {
if (!_0xda5923['isReadyForSubMesh'](this, _0x417e3a, _0x1db781))
return !0x1;
} else if (!_0xda5923['isReady'](this, _0x1db781))
return !0x1;
}
else if (!_0x4ddb85['isReady'](this, _0x1db781))
return !0x1;
for (var _0xba3dad = 0x0, _0x5ce27e = this['lightSources']; _0xba3dad < _0x5ce27e['length']; _0xba3dad++) {
var _0x2d7f60 = _0x5ce27e[_0xba3dad]['getShadowGenerator']();
if (_0x2d7f60)
for (var _0x28b94a = 0x0, _0x3b2ef7 = this['subMeshes']; _0x28b94a < _0x3b2ef7['length']; _0x28b94a++) {
var _0x417e3a = _0x3b2ef7[_0x28b94a];
if (!_0x2d7f60['isReady'](_0x417e3a, _0x1db781))
return !0x1;
}
}
for (var _0x172bb0 = 0x0, _0xa1f162 = this['_internalMeshDataInfo']['_LODLevels']; _0x172bb0 < _0xa1f162['length']; _0x172bb0++) {
var _0x145437 = _0xa1f162[_0x172bb0];
if (_0x145437['mesh'] && !_0x145437['mesh']['isReady'](_0x1db781))
return !0x1;
}
return !0x0;
}
,
Object['defineProperty'](_0x4dc7f5['prototype'], 'areNormalsFrozen', {
'get': function() {
return this['_internalMeshDataInfo']['_areNormalsFrozen'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4dc7f5['prototype']['freezeNormals'] = function() {
return this['_internalMeshDataInfo']['_areNormalsFrozen'] = !0x0,
this;
}
,
_0x4dc7f5['prototype']['unfreezeNormals'] = function() {
return this['_internalMeshDataInfo']['_areNormalsFrozen'] = !0x1,
this;
}
,
Object['defineProperty'](_0x4dc7f5['prototype'], 'overridenInstanceCount', {
'set': function(_0x37a7d4) {
this['_instanceDataStorage']['overridenInstanceCount'] = _0x37a7d4;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4dc7f5['prototype']['_preActivate'] = function() {
var _0x2e9c11 = this['_internalMeshDataInfo']
, _0xffd390 = this['getScene']()['getRenderId']();
return _0x2e9c11['_preActivateId'] === _0xffd390 ? this : (_0x2e9c11['_preActivateId'] = _0xffd390,
this['_instanceDataStorage']['visibleInstances'] = null,
this);
}
,
_0x4dc7f5['prototype']['_preActivateForIntermediateRendering'] = function(_0x1a0024) {
return this['_instanceDataStorage']['visibleInstances'] && (this['_instanceDataStorage']['visibleInstances']['intermediateDefaultRenderId'] = _0x1a0024),
this;
}
,
_0x4dc7f5['prototype']['_registerInstanceForRenderId'] = function(_0x311972, _0x34ca1f) {
return this['_instanceDataStorage']['visibleInstances'] || (this['_instanceDataStorage']['visibleInstances'] = {
'defaultRenderId': _0x34ca1f,
'selfDefaultRenderId': this['_renderId']
}),
this['_instanceDataStorage']['visibleInstances'][_0x34ca1f] || (this['_instanceDataStorage']['visibleInstances'][_0x34ca1f] = new Array()),
this['_instanceDataStorage']['visibleInstances'][_0x34ca1f]['push'](_0x311972),
this;
}
,
_0x4dc7f5['prototype']['refreshBoundingInfo'] = function(_0x1e349f) {
if (void 0x0 === _0x1e349f && (_0x1e349f = !0x1),
this['_boundingInfo'] && this['_boundingInfo']['isLocked'])
return this;
var _0x439c5e = this['geometry'] ? this['geometry']['boundingBias'] : null;
return this['_refreshBoundingInfo'](this['_getPositionData'](_0x1e349f), _0x439c5e),
this;
}
,
_0x4dc7f5['prototype']['_createGlobalSubMesh'] = function(_0x287e33) {
var _0x7d32f3 = this['getTotalVertices']();
if (!_0x7d32f3 || !this['getIndices']())
return null;
if (this['subMeshes'] && this['subMeshes']['length'] > 0x0) {
var _0x3485b4 = this['getIndices']();
if (!_0x3485b4)
return null;
var _0x5d15bc = _0x3485b4['length']
, _0x9e26d4 = !0x1;
if (_0x287e33)
_0x9e26d4 = !0x0;
else
for (var _0x5daed3 = 0x0, _0x489246 = this['subMeshes']; _0x5daed3 < _0x489246['length']; _0x5daed3++) {
var _0x665433 = _0x489246[_0x5daed3];
if (_0x665433['indexStart'] + _0x665433['indexCount'] >= _0x5d15bc) {
_0x9e26d4 = !0x0;
break;
}
if (_0x665433['verticesStart'] + _0x665433['verticesCount'] >= _0x7d32f3) {
_0x9e26d4 = !0x0;
break;
}
}
if (!_0x9e26d4)
return this['subMeshes'][0x0];
}
return this['releaseSubMeshes'](),
new _0x1d85ce['b'](0x0,0x0,_0x7d32f3,0x0,this['getTotalIndices'](),this);
}
,
_0x4dc7f5['prototype']['subdivide'] = function(_0xd82318) {
if (!(_0xd82318 < 0x1)) {
for (var _0x40e4d2 = this['getTotalIndices'](), _0x14e2f6 = _0x40e4d2 / _0xd82318 | 0x0, _0x1272c4 = 0x0; _0x14e2f6 % 0x3 != 0x0; )
_0x14e2f6++;
this['releaseSubMeshes']();
for (var _0x148fa9 = 0x0; _0x148fa9 < _0xd82318 && !(_0x1272c4 >= _0x40e4d2); _0x148fa9++)
_0x1d85ce['b']['CreateFromIndices'](0x0, _0x1272c4, Math['min'](_0x14e2f6, _0x40e4d2 - _0x1272c4), this),
_0x1272c4 += _0x14e2f6;
this['synchronizeInstances']();
}
}
,
_0x4dc7f5['prototype']['setVerticesData'] = function(_0x33b281, _0x3dd074, _0x5dd33f, _0x248c4e) {
if (void 0x0 === _0x5dd33f && (_0x5dd33f = !0x1),
this['_geometry'])
this['_geometry']['setVerticesData'](_0x33b281, _0x3dd074, _0x5dd33f, _0x248c4e);
else {
var _0x4c8fd5 = new _0x3321ce['a']();
_0x4c8fd5['set'](_0x3dd074, _0x33b281);
var _0x5ccf5e = this['getScene']();
new _0x3ce75b['a'](_0x3ce75b['a']['RandomId'](),_0x5ccf5e,_0x4c8fd5,_0x5dd33f,this);
}
return this;
}
,
_0x4dc7f5['prototype']['markVerticesDataAsUpdatable'] = function(_0x595e02, _0xa86740) {
void 0x0 === _0xa86740 && (_0xa86740 = !0x0);
var _0x523df0 = this['getVertexBuffer'](_0x595e02);
_0x523df0 && _0x523df0['isUpdatable']() !== _0xa86740 && this['setVerticesData'](_0x595e02, this['getVerticesData'](_0x595e02), _0xa86740);
}
,
_0x4dc7f5['prototype']['setVerticesBuffer'] = function(_0x539acf) {
return this['_geometry'] || (this['_geometry'] = _0x3ce75b['a']['CreateGeometryForMesh'](this)),
this['_geometry']['setVerticesBuffer'](_0x539acf),
this;
}
,
_0x4dc7f5['prototype']['updateVerticesData'] = function(_0x228bab, _0x4e9f3a, _0x366a1b, _0x1e8c43) {
return this['_geometry'] ? (_0x1e8c43 ? (this['makeGeometryUnique'](),
this['updateVerticesData'](_0x228bab, _0x4e9f3a, _0x366a1b, !0x1)) : this['_geometry']['updateVerticesData'](_0x228bab, _0x4e9f3a, _0x366a1b),
this) : this;
}
,
_0x4dc7f5['prototype']['updateMeshPositions'] = function(_0x6785b, _0x5d6c58) {
void 0x0 === _0x5d6c58 && (_0x5d6c58 = !0x0);
var _0x5393d5 = this['getVerticesData'](_0x566195['b']['PositionKind']);
if (!_0x5393d5)
return this;
if (_0x6785b(_0x5393d5),
this['updateVerticesData'](_0x566195['b']['PositionKind'], _0x5393d5, !0x1, !0x1),
_0x5d6c58) {
var _0x44d3d9 = this['getIndices']()
, _0x1a0a23 = this['getVerticesData'](_0x566195['b']['NormalKind']);
if (!_0x1a0a23)
return this;
_0x3321ce['a']['ComputeNormals'](_0x5393d5, _0x44d3d9, _0x1a0a23),
this['updateVerticesData'](_0x566195['b']['NormalKind'], _0x1a0a23, !0x1, !0x1);
}
return this;
}
,
_0x4dc7f5['prototype']['makeGeometryUnique'] = function() {
if (!this['_geometry'])
return this;
var _0x576451 = this['_geometry']
, _0x1aeaab = this['_geometry']['copy'](_0x3ce75b['a']['RandomId']());
return _0x576451['releaseForMesh'](this, !0x0),
_0x1aeaab['applyToMesh'](this),
this;
}
,
_0x4dc7f5['prototype']['setIndices'] = function(_0x5377a7, _0x56f515, _0x3a1c01) {
if (void 0x0 === _0x56f515 && (_0x56f515 = null),
void 0x0 === _0x3a1c01 && (_0x3a1c01 = !0x1),
this['_geometry'])
this['_geometry']['setIndices'](_0x5377a7, _0x56f515, _0x3a1c01);
else {
var _0x5928f1 = new _0x3321ce['a']();
_0x5928f1['indices'] = _0x5377a7;
var _0xa6fdf5 = this['getScene']();
new _0x3ce75b['a'](_0x3ce75b['a']['RandomId'](),_0xa6fdf5,_0x5928f1,_0x3a1c01,this);
}
return this;
}
,
_0x4dc7f5['prototype']['updateIndices'] = function(_0x41ade5, _0x526872, _0xc16626) {
return void 0x0 === _0xc16626 && (_0xc16626 = !0x1),
this['_geometry'] ? (this['_geometry']['updateIndices'](_0x41ade5, _0x526872, _0xc16626),
this) : this;
}
,
_0x4dc7f5['prototype']['toLeftHanded'] = function() {
return this['_geometry'] ? (this['_geometry']['toLeftHanded'](),
this) : this;
}
,
_0x4dc7f5['prototype']['_bind'] = function(_0x3b5c01, _0x568c03, _0x5b89f8) {
if (!this['_geometry'])
return this;
var _0x3106b3, _0x353872 = this['getScene']()['getEngine']();
if (this['_unIndexed'])
_0x3106b3 = null;
else
switch (_0x5b89f8) {
case _0x5df3c0['a']['PointFillMode']:
_0x3106b3 = null;
break;
case _0x5df3c0['a']['WireFrameFillMode']:
_0x3106b3 = _0x3b5c01['_getLinesIndexBuffer'](this['getIndices'](), _0x353872);
break;
default:
case _0x5df3c0['a']['TriangleFillMode']:
_0x3106b3 = this['_geometry']['getIndexBuffer']();
}
return this['_geometry']['_bind'](_0x568c03, _0x3106b3),
this;
}
,
_0x4dc7f5['prototype']['_draw'] = function(_0x12eadb, _0x201522, _0x9c204d) {
if (!this['_geometry'] || !this['_geometry']['getVertexBuffers']() || !this['_unIndexed'] && !this['_geometry']['getIndexBuffer']())
return this;
this['_internalMeshDataInfo']['_onBeforeDrawObservable'] && this['_internalMeshDataInfo']['_onBeforeDrawObservable']['notifyObservers'](this);
var _0xd81396 = this['getScene']()['getEngine']();
return this['_unIndexed'] || _0x201522 == _0x5df3c0['a']['PointFillMode'] ? _0xd81396['drawArraysType'](_0x201522, _0x12eadb['verticesStart'], _0x12eadb['verticesCount'], _0x9c204d) : _0x201522 == _0x5df3c0['a']['WireFrameFillMode'] ? _0xd81396['drawElementsType'](_0x201522, 0x0, _0x12eadb['_linesIndexCount'], _0x9c204d) : _0xd81396['drawElementsType'](_0x201522, _0x12eadb['indexStart'], _0x12eadb['indexCount'], _0x9c204d),
this;
}
,
_0x4dc7f5['prototype']['registerBeforeRender'] = function(_0x1e3ffb) {
return this['onBeforeRenderObservable']['add'](_0x1e3ffb),
this;
}
,
_0x4dc7f5['prototype']['unregisterBeforeRender'] = function(_0x192e08) {
return this['onBeforeRenderObservable']['removeCallback'](_0x192e08),
this;
}
,
_0x4dc7f5['prototype']['registerAfterRender'] = function(_0x2d935b) {
return this['onAfterRenderObservable']['add'](_0x2d935b),
this;
}
,
_0x4dc7f5['prototype']['unregisterAfterRender'] = function(_0x39e1f7) {
return this['onAfterRenderObservable']['removeCallback'](_0x39e1f7),
this;
}
,
_0x4dc7f5['prototype']['_getInstancesRenderList'] = function(_0x12fb0c) {
if (this['_instanceDataStorage']['isFrozen'] && this['_instanceDataStorage']['previousBatch'])
return this['_instanceDataStorage']['previousBatch'];
var _0xa5f95e = this['getScene']()
, _0xddc567 = _0xa5f95e['_isInIntermediateRendering']()
, _0x312922 = _0xddc567 ? this['_internalAbstractMeshDataInfo']['_onlyForInstancesIntermediate'] : this['_internalAbstractMeshDataInfo']['_onlyForInstances']
, _0x119af6 = this['_instanceDataStorage']['batchCache'];
if (_0x119af6['mustReturn'] = !0x1,
_0x119af6['renderSelf'][_0x12fb0c] = !_0x312922 && this['isEnabled']() && this['isVisible'],
_0x119af6['visibleInstances'][_0x12fb0c] = null,
this['_instanceDataStorage']['visibleInstances']) {
var _0xd1f4e8 = this['_instanceDataStorage']['visibleInstances']
, _0x4fc555 = _0xa5f95e['getRenderId']()
, _0xd0fdf8 = _0xddc567 ? _0xd1f4e8['intermediateDefaultRenderId'] : _0xd1f4e8['defaultRenderId'];
_0x119af6['visibleInstances'][_0x12fb0c] = _0xd1f4e8[_0x4fc555],
!_0x119af6['visibleInstances'][_0x12fb0c] && _0xd0fdf8 && (_0x119af6['visibleInstances'][_0x12fb0c] = _0xd1f4e8[_0xd0fdf8]);
}
return _0x119af6['hardwareInstancedRendering'][_0x12fb0c] = this['_instanceDataStorage']['hardwareInstancedRendering'] && null !== _0x119af6['visibleInstances'][_0x12fb0c] && void 0x0 !== _0x119af6['visibleInstances'][_0x12fb0c],
this['_instanceDataStorage']['previousBatch'] = _0x119af6,
_0x119af6;
}
,
_0x4dc7f5['prototype']['_renderWithInstances'] = function(_0x56c84a, _0x32866e, _0xf79983, _0xc4e8ae, _0x5c0937) {
var _0x31b806 = _0xf79983['visibleInstances'][_0x56c84a['_id']];
if (!_0x31b806)
return this;
for (var _0x24a9c1 = this['_instanceDataStorage'], _0x7c9209 = _0x24a9c1['instancesBufferSize'], _0x1f7902 = _0x24a9c1['instancesBuffer'], _0x52bd4f = 0x10 * (_0x31b806['length'] + 0x1) * 0x4; _0x24a9c1['instancesBufferSize'] < _0x52bd4f; )
_0x24a9c1['instancesBufferSize'] *= 0x2;
_0x24a9c1['instancesData'] && _0x7c9209 == _0x24a9c1['instancesBufferSize'] || (_0x24a9c1['instancesData'] = new Float32Array(_0x24a9c1['instancesBufferSize'] / 0x4));
var _0x55df87 = 0x0
, _0x5247aa = 0x0
, _0x4e3995 = this['_effectiveMesh']['getWorldMatrix']();
if (_0xf79983['renderSelf'][_0x56c84a['_id']] && (_0x4e3995['copyToArray'](_0x24a9c1['instancesData'], _0x55df87),
_0x55df87 += 0x10,
_0x5247aa++),
_0x31b806)
for (var _0x407c3f = 0x0; _0x407c3f < _0x31b806['length']; _0x407c3f++) {
_0x31b806[_0x407c3f]['getWorldMatrix']()['copyToArray'](_0x24a9c1['instancesData'], _0x55df87),
_0x55df87 += 0x10,
_0x5247aa++;
}
return _0x1f7902 && _0x7c9209 == _0x24a9c1['instancesBufferSize'] ? _0x1f7902['updateDirectly'](_0x24a9c1['instancesData'], 0x0, _0x5247aa) : (_0x1f7902 && _0x1f7902['dispose'](),
_0x1f7902 = new _0x566195['a'](_0x5c0937,_0x24a9c1['instancesData'],!0x0,0x10,!0x1,!0x0),
_0x24a9c1['instancesBuffer'] = _0x1f7902,
this['setVerticesBuffer'](_0x1f7902['createVertexBuffer']('world0', 0x0, 0x4)),
this['setVerticesBuffer'](_0x1f7902['createVertexBuffer']('world1', 0x4, 0x4)),
this['setVerticesBuffer'](_0x1f7902['createVertexBuffer']('world2', 0x8, 0x4)),
this['setVerticesBuffer'](_0x1f7902['createVertexBuffer']('world3', 0xc, 0x4))),
this['_bind'](_0x56c84a, _0xc4e8ae, _0x32866e),
this['_draw'](_0x56c84a, _0x32866e, _0x5247aa),
_0x5c0937['unbindInstanceAttributes'](),
this;
}
,
_0x4dc7f5['prototype']['_processRendering'] = function(_0x7d1be7, _0x4a3d56, _0xa4e727, _0x4ca3ab, _0x249a13, _0x5eb230, _0x237907) {
var _0x4e955d = this['getScene']()['getEngine']();
if (_0x249a13)
this['_renderWithInstances'](_0x7d1be7, _0xa4e727, _0x4ca3ab, _0x4a3d56, _0x4e955d);
else {
_0x4ca3ab['renderSelf'][_0x7d1be7['_id']] && (_0x5eb230 && _0x5eb230(!0x1, this['_effectiveMesh']['getWorldMatrix'](), _0x237907),
this['_draw'](_0x7d1be7, _0xa4e727, this['_instanceDataStorage']['overridenInstanceCount']));
var _0x3e5442 = _0x4ca3ab['visibleInstances'][_0x7d1be7['_id']];
if (_0x3e5442)
for (var _0x4c9fca = 0x0; _0x4c9fca < _0x3e5442['length']; _0x4c9fca++) {
var _0x77d047 = _0x3e5442[_0x4c9fca]['getWorldMatrix']();
_0x5eb230 && _0x5eb230(!0x0, _0x77d047, _0x237907),
this['_draw'](_0x7d1be7, _0xa4e727);
}
}
return this;
}
,
_0x4dc7f5['prototype']['_freeze'] = function() {
if (this['_instanceDataStorage']['isFrozen'] = !0x0,
this['subMeshes'])
for (var _0x1883a1 = 0x0; _0x1883a1 < this['subMeshes']['length']; _0x1883a1++)
this['_getInstancesRenderList'](_0x1883a1);
}
,
_0x4dc7f5['prototype']['_unFreeze'] = function() {
this['_instanceDataStorage']['isFrozen'] = !0x1;
}
,
_0x4dc7f5['prototype']['render'] = function(_0xb820e9, _0x5c98dc) {
var _0x49d5b8 = this['getScene']();
if (_0x49d5b8['_isInIntermediateRendering']() ? this['_internalAbstractMeshDataInfo']['_isActiveIntermediate'] = !0x1 : this['_internalAbstractMeshDataInfo']['_isActive'] = !0x1,
this['_checkOcclusionQuery']())
return this;
var _0xbca256 = this['_getInstancesRenderList'](_0xb820e9['_id']);
if (_0xbca256['mustReturn'])
return this;
if (!this['_geometry'] || !this['_geometry']['getVertexBuffers']() || !this['_unIndexed'] && !this['_geometry']['getIndexBuffer']())
return this;
this['_internalMeshDataInfo']['_onBeforeRenderObservable'] && this['_internalMeshDataInfo']['_onBeforeRenderObservable']['notifyObservers'](this);
var _0x4b97df, _0x38e9de = _0x49d5b8['getEngine'](), _0x18f125 = _0xbca256['hardwareInstancedRendering'][_0xb820e9['_id']], _0xb392ad = this['_instanceDataStorage'], _0x1a4839 = _0xb820e9['getMaterial']();
if (!_0x1a4839)
return this;
if (!_0xb392ad['isFrozen'] || !this['_effectiveMaterial'] || this['_effectiveMaterial'] !== _0x1a4839)
if (this['_effectiveMaterial'] = _0x1a4839,
this['_effectiveMaterial']['_storeEffectOnSubMeshes']) {
if (!this['_effectiveMaterial']['isReadyForSubMesh'](this, _0xb820e9, _0x18f125))
return this;
} else if (!this['_effectiveMaterial']['isReady'](this, _0x18f125))
return this;
_0x5c98dc && _0x38e9de['setAlphaMode'](this['_effectiveMaterial']['alphaMode']);
for (var _0x414333 = 0x0, _0x3a8b82 = _0x49d5b8['_beforeRenderingMeshStage']; _0x414333 < _0x3a8b82['length']; _0x414333++) {
_0x3a8b82[_0x414333]['action'](this, _0xb820e9, _0xbca256);
}
if (!(_0x4b97df = this['_effectiveMaterial']['_storeEffectOnSubMeshes'] ? _0xb820e9['effect'] : this['_effectiveMaterial']['getEffect']()))
return this;
var _0x5d3bfe, _0x733a92 = this['_effectiveMesh'];
_0xb392ad['isFrozen'] ? _0x5d3bfe = _0xb392ad['sideOrientation'] : (null == (_0x5d3bfe = this['overrideMaterialSideOrientation']) && (_0x5d3bfe = this['_effectiveMaterial']['sideOrientation'],
_0x733a92['_getWorldMatrixDeterminant']() < 0x0 && (_0x5d3bfe = _0x5d3bfe === _0x5df3c0['a']['ClockWiseSideOrientation'] ? _0x5df3c0['a']['CounterClockWiseSideOrientation'] : _0x5df3c0['a']['ClockWiseSideOrientation'])),
_0xb392ad['sideOrientation'] = _0x5d3bfe);
var _0x2da0bc = this['_effectiveMaterial']['_preBind'](_0x4b97df, _0x5d3bfe);
this['_effectiveMaterial']['forceDepthWrite'] && _0x38e9de['setDepthWrite'](!0x0);
var _0x4053df = _0x49d5b8['forcePointsCloud'] ? _0x5df3c0['a']['PointFillMode'] : _0x49d5b8['forceWireframe'] ? _0x5df3c0['a']['WireFrameFillMode'] : this['_effectiveMaterial']['fillMode'];
this['_internalMeshDataInfo']['_onBeforeBindObservable'] && this['_internalMeshDataInfo']['_onBeforeBindObservable']['notifyObservers'](this),
_0x18f125 || this['_bind'](_0xb820e9, _0x4b97df, _0x4053df);
var _0x38220f = _0x733a92['getWorldMatrix']();
this['_effectiveMaterial']['_storeEffectOnSubMeshes'] ? this['_effectiveMaterial']['bindForSubMesh'](_0x38220f, this, _0xb820e9) : this['_effectiveMaterial']['bind'](_0x38220f, this),
!this['_effectiveMaterial']['backFaceCulling'] && this['_effectiveMaterial']['separateCullingPass'] && (_0x38e9de['setState'](!0x0, this['_effectiveMaterial']['zOffset'], !0x1, !_0x2da0bc),
this['_processRendering'](_0xb820e9, _0x4b97df, _0x4053df, _0xbca256, _0x18f125, this['_onBeforeDraw'], this['_effectiveMaterial']),
_0x38e9de['setState'](!0x0, this['_effectiveMaterial']['zOffset'], !0x1, _0x2da0bc)),
this['_processRendering'](_0xb820e9, _0x4b97df, _0x4053df, _0xbca256, _0x18f125, this['_onBeforeDraw'], this['_effectiveMaterial']),
this['_effectiveMaterial']['unbind']();
for (var _0x2e0ed5 = 0x0, _0x147d4e = _0x49d5b8['_afterRenderingMeshStage']; _0x2e0ed5 < _0x147d4e['length']; _0x2e0ed5++) {
_0x147d4e[_0x2e0ed5]['action'](this, _0xb820e9, _0xbca256);
}
return this['_internalMeshDataInfo']['_onAfterRenderObservable'] && this['_internalMeshDataInfo']['_onAfterRenderObservable']['notifyObservers'](this),
this;
}
,
_0x4dc7f5['prototype']['_onBeforeDraw'] = function(_0x2ca62f, _0x52a100, _0x2b19b9) {
_0x2ca62f && _0x2b19b9 && _0x2b19b9['bindOnlyWorldMatrix'](_0x52a100);
}
,
_0x4dc7f5['prototype']['cleanMatrixWeights'] = function() {
this['isVerticesDataPresent'](_0x566195['b']['MatricesWeightsKind']) && (this['isVerticesDataPresent'](_0x566195['b']['MatricesWeightsExtraKind']) ? this['normalizeSkinWeightsAndExtra']() : this['normalizeSkinFourWeights']());
}
,
_0x4dc7f5['prototype']['normalizeSkinFourWeights'] = function() {
for (var _0x286f77 = this['getVerticesData'](_0x566195['b']['MatricesWeightsKind']), _0x2248f5 = _0x286f77['length'], _0x12694c = 0x0; _0x12694c < _0x2248f5; _0x12694c += 0x4) {
var _0x4fdef4 = _0x286f77[_0x12694c] + _0x286f77[_0x12694c + 0x1] + _0x286f77[_0x12694c + 0x2] + _0x286f77[_0x12694c + 0x3];
if (0x0 === _0x4fdef4)
_0x286f77[_0x12694c] = 0x1;
else {
var _0x4b61ea = 0x1 / _0x4fdef4;
_0x286f77[_0x12694c] *= _0x4b61ea,
_0x286f77[_0x12694c + 0x1] *= _0x4b61ea,
_0x286f77[_0x12694c + 0x2] *= _0x4b61ea,
_0x286f77[_0x12694c + 0x3] *= _0x4b61ea;
}
}
this['setVerticesData'](_0x566195['b']['MatricesWeightsKind'], _0x286f77);
}
,
_0x4dc7f5['prototype']['normalizeSkinWeightsAndExtra'] = function() {
for (var _0x10bcf2 = this['getVerticesData'](_0x566195['b']['MatricesWeightsExtraKind']), _0x3f0c4e = this['getVerticesData'](_0x566195['b']['MatricesWeightsKind']), _0x40b5bd = _0x3f0c4e['length'], _0x21d44d = 0x0; _0x21d44d < _0x40b5bd; _0x21d44d += 0x4) {
var _0x396a72 = _0x3f0c4e[_0x21d44d] + _0x3f0c4e[_0x21d44d + 0x1] + _0x3f0c4e[_0x21d44d + 0x2] + _0x3f0c4e[_0x21d44d + 0x3];
if (0x0 === (_0x396a72 += _0x10bcf2[_0x21d44d] + _0x10bcf2[_0x21d44d + 0x1] + _0x10bcf2[_0x21d44d + 0x2] + _0x10bcf2[_0x21d44d + 0x3]))
_0x3f0c4e[_0x21d44d] = 0x1;
else {
var _0x2fdd8c = 0x1 / _0x396a72;
_0x3f0c4e[_0x21d44d] *= _0x2fdd8c,
_0x3f0c4e[_0x21d44d + 0x1] *= _0x2fdd8c,
_0x3f0c4e[_0x21d44d + 0x2] *= _0x2fdd8c,
_0x3f0c4e[_0x21d44d + 0x3] *= _0x2fdd8c,
_0x10bcf2[_0x21d44d] *= _0x2fdd8c,
_0x10bcf2[_0x21d44d + 0x1] *= _0x2fdd8c,
_0x10bcf2[_0x21d44d + 0x2] *= _0x2fdd8c,
_0x10bcf2[_0x21d44d + 0x3] *= _0x2fdd8c;
}
}
this['setVerticesData'](_0x566195['b']['MatricesWeightsKind'], _0x3f0c4e),
this['setVerticesData'](_0x566195['b']['MatricesWeightsKind'], _0x10bcf2);
}
,
_0x4dc7f5['prototype']['validateSkinning'] = function() {
var _0x479620 = this['getVerticesData'](_0x566195['b']['MatricesWeightsExtraKind'])
, _0x3ec51b = this['getVerticesData'](_0x566195['b']['MatricesWeightsKind']);
if (null === _0x3ec51b || null == this['skeleton'])
return {
'skinned': !0x1,
'valid': !0x0,
'report': 'not\x20skinned'
};
for (var _0x5a964d = _0x3ec51b['length'], _0x50eb2e = 0x0, _0x4c38dd = 0x0, _0x25ef72 = 0x0, _0x13367e = 0x0, _0x10e2e0 = null === _0x479620 ? 0x4 : 0x8, _0x1ba016 = new Array(), _0x5c7f15 = 0x0; _0x5c7f15 <= _0x10e2e0; _0x5c7f15++)
_0x1ba016[_0x5c7f15] = 0x0;
for (_0x5c7f15 = 0x0; _0x5c7f15 < _0x5a964d; _0x5c7f15 += 0x4) {
for (var _0x5a28de = _0x3ec51b[_0x5c7f15], _0x271901 = _0x5a28de, _0x4a6cc5 = 0x0 === _0x271901 ? 0x0 : 0x1, _0x2d0304 = 0x1; _0x2d0304 < _0x10e2e0; _0x2d0304++) {
var _0x55761f = _0x2d0304 < 0x4 ? _0x3ec51b[_0x5c7f15 + _0x2d0304] : _0x479620[_0x5c7f15 + _0x2d0304 - 0x4];
_0x55761f > _0x5a28de && _0x50eb2e++,
0x0 !== _0x55761f && _0x4a6cc5++,
_0x271901 += _0x55761f,
_0x5a28de = _0x55761f;
}
if (_0x1ba016[_0x4a6cc5]++,
_0x4a6cc5 > _0x25ef72 && (_0x25ef72 = _0x4a6cc5),
0x0 === _0x271901)
_0x4c38dd++;
else {
var _0x458a7c = 0x1 / _0x271901
, _0x17bcfd = 0x0;
for (_0x2d0304 = 0x0; _0x2d0304 < _0x10e2e0; _0x2d0304++)
_0x17bcfd += _0x2d0304 < 0x4 ? Math['abs'](_0x3ec51b[_0x5c7f15 + _0x2d0304] - _0x3ec51b[_0x5c7f15 + _0x2d0304] * _0x458a7c) : Math['abs'](_0x479620[_0x5c7f15 + _0x2d0304 - 0x4] - _0x479620[_0x5c7f15 + _0x2d0304 - 0x4] * _0x458a7c);
_0x17bcfd > 0.001 && _0x13367e++;
}
}
var _0x3e26db = this['skeleton']['bones']['length']
, _0xde7f16 = this['getVerticesData'](_0x566195['b']['MatricesIndicesKind'])
, _0x2b200b = this['getVerticesData'](_0x566195['b']['MatricesIndicesExtraKind'])
, _0x14e50a = 0x0;
for (_0x5c7f15 = 0x0; _0x5c7f15 < _0x5a964d; _0x5c7f15++)
for (_0x2d0304 = 0x0; _0x2d0304 < _0x10e2e0; _0x2d0304++) {
var _0x28cdbe = _0x2d0304 < 0x4 ? _0xde7f16[_0x2d0304] : _0x2b200b[_0x2d0304 - 0x4];
(_0x28cdbe >= _0x3e26db || _0x28cdbe < 0x0) && _0x14e50a++;
}
return {
'skinned': !0x0,
'valid': 0x0 === _0x4c38dd && 0x0 === _0x13367e && 0x0 === _0x14e50a,
'report': 'Number\x20of\x20Weights\x20=\x20' + _0x5a964d / 0x4 + '\x0aMaximum\x20influences\x20=\x20' + _0x25ef72 + '\x0aMissing\x20Weights\x20=\x20' + _0x4c38dd + '\x0aNot\x20Sorted\x20=\x20' + _0x50eb2e + '\x0aNot\x20Normalized\x20=\x20' + _0x13367e + '\x0aWeightCounts\x20=\x20[' + _0x1ba016 + ']\x0aNumber\x20of\x20bones\x20=\x20' + _0x3e26db + '\x0aBad\x20Bone\x20Indices\x20=\x20' + _0x14e50a
};
}
,
_0x4dc7f5['prototype']['_checkDelayState'] = function() {
var _0x3d507d = this['getScene']();
return this['_geometry'] ? this['_geometry']['load'](_0x3d507d) : this['delayLoadState'] === _0x11dda0['a']['DELAYLOADSTATE_NOTLOADED'] && (this['delayLoadState'] = _0x11dda0['a']['DELAYLOADSTATE_LOADING'],
this['_queueLoad'](_0x3d507d)),
this;
}
,
_0x4dc7f5['prototype']['_queueLoad'] = function(_0x5c6a06) {
var _0x5d92f4 = this;
_0x5c6a06['_addPendingData'](this);
var _0x5348ee = -0x1 !== this['delayLoadingFile']['indexOf']('.babylonbinarymeshdata');
return _0xf44b3e['h']['LoadFile'](this['delayLoadingFile'], function(_0x18b764) {
_0x18b764 instanceof ArrayBuffer ? _0x5d92f4['_delayLoadingFunction'](_0x18b764, _0x5d92f4) : _0x5d92f4['_delayLoadingFunction'](JSON['parse'](_0x18b764), _0x5d92f4),
_0x5d92f4['instances']['forEach'](function(_0x3ae863) {
_0x3ae863['refreshBoundingInfo'](),
_0x3ae863['_syncSubMeshes']();
}),
_0x5d92f4['delayLoadState'] = _0x11dda0['a']['DELAYLOADSTATE_LOADED'],
_0x5c6a06['_removePendingData'](_0x5d92f4);
}, function() {}, _0x5c6a06['offlineProvider'], _0x5348ee),
this;
}
,
_0x4dc7f5['prototype']['isInFrustum'] = function(_0x4d3c84) {
return this['delayLoadState'] !== _0x11dda0['a']['DELAYLOADSTATE_LOADING'] && (!!_0xeba31b['prototype']['isInFrustum']['call'](this, _0x4d3c84) && (this['_checkDelayState'](),
!0x0));
}
,
_0x4dc7f5['prototype']['setMaterialByID'] = function(_0x342aa6) {
var _0x167bd6, _0x1a8e62 = this['getScene']()['materials'];
for (_0x167bd6 = _0x1a8e62['length'] - 0x1; _0x167bd6 > -0x1; _0x167bd6--)
if (_0x1a8e62[_0x167bd6]['id'] === _0x342aa6)
return this['material'] = _0x1a8e62[_0x167bd6],
this;
var _0x39380a = this['getScene']()['multiMaterials'];
for (_0x167bd6 = _0x39380a['length'] - 0x1; _0x167bd6 > -0x1; _0x167bd6--)
if (_0x39380a[_0x167bd6]['id'] === _0x342aa6)
return this['material'] = _0x39380a[_0x167bd6],
this;
return this;
}
,
_0x4dc7f5['prototype']['getAnimatables'] = function() {
var _0xd47ec = new Array();
return this['material'] && _0xd47ec['push'](this['material']),
this['skeleton'] && _0xd47ec['push'](this['skeleton']),
_0xd47ec;
}
,
_0x4dc7f5['prototype']['bakeTransformIntoVertices'] = function(_0x26f669) {
if (!this['isVerticesDataPresent'](_0x566195['b']['PositionKind']))
return this;
var _0x1a41ce = this['subMeshes']['splice'](0x0);
this['_resetPointsArrayCache']();
var _0x154085, _0x3e1c43 = this['getVerticesData'](_0x566195['b']['PositionKind']), _0x5ebe86 = new Array();
for (_0x154085 = 0x0; _0x154085 < _0x3e1c43['length']; _0x154085 += 0x3)
_0x564b55['x']['TransformCoordinates'](_0x564b55['x']['FromArray'](_0x3e1c43, _0x154085), _0x26f669)['toArray'](_0x5ebe86, _0x154085);
if (this['setVerticesData'](_0x566195['b']['PositionKind'], _0x5ebe86, this['getVertexBuffer'](_0x566195['b']['PositionKind'])['isUpdatable']()),
this['isVerticesDataPresent'](_0x566195['b']['NormalKind'])) {
for (_0x3e1c43 = this['getVerticesData'](_0x566195['b']['NormalKind']),
_0x5ebe86 = [],
_0x154085 = 0x0; _0x154085 < _0x3e1c43['length']; _0x154085 += 0x3)
_0x564b55['x']['TransformNormal'](_0x564b55['x']['FromArray'](_0x3e1c43, _0x154085), _0x26f669)['normalize']()['toArray'](_0x5ebe86, _0x154085);
this['setVerticesData'](_0x566195['b']['NormalKind'], _0x5ebe86, this['getVertexBuffer'](_0x566195['b']['NormalKind'])['isUpdatable']());
}
return _0x26f669['m'][0x0] * _0x26f669['m'][0x5] * _0x26f669['m'][0xa] < 0x0 && this['flipFaces'](),
this['releaseSubMeshes'](),
this['subMeshes'] = _0x1a41ce,
this;
}
,
_0x4dc7f5['prototype']['bakeCurrentTransformIntoVertices'] = function() {
return this['bakeTransformIntoVertices'](this['computeWorldMatrix'](!0x0)),
this['scaling']['copyFromFloats'](0x1, 0x1, 0x1),
this['position']['copyFromFloats'](0x0, 0x0, 0x0),
this['rotation']['copyFromFloats'](0x0, 0x0, 0x0),
this['rotationQuaternion'] && (this['rotationQuaternion'] = _0x564b55['q']['Identity']()),
this['_worldMatrix'] = _0x564b55['j']['Identity'](),
this;
}
,
Object['defineProperty'](_0x4dc7f5['prototype'], '_positions', {
'get': function() {
return this['_geometry'] ? this['_geometry']['_positions'] : null;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x4dc7f5['prototype']['_resetPointsArrayCache'] = function() {
return this['_geometry'] && this['_geometry']['_resetPointsArrayCache'](),
this;
}
,
_0x4dc7f5['prototype']['_generatePointsArray'] = function() {
return !!this['_geometry'] && this['_geometry']['_generatePointsArray']();
}
,
_0x4dc7f5['prototype']['clone'] = function(_0x50af6c, _0x3164bc, _0x134602, _0x253fea) {
return void 0x0 === _0x50af6c && (_0x50af6c = ''),
void 0x0 === _0x253fea && (_0x253fea = !0x0),
new _0x4dc7f5(_0x50af6c,this['getScene'](),_0x3164bc,this,_0x134602,_0x253fea);
}
,
_0x4dc7f5['prototype']['dispose'] = function(_0x4d1be9, _0x17c84e) {
void 0x0 === _0x17c84e && (_0x17c84e = !0x1),
this['morphTargetManager'] = null,
this['_geometry'] && this['_geometry']['releaseForMesh'](this, !0x0);
var _0x5adc61 = this['_internalMeshDataInfo'];
if (_0x5adc61['_onBeforeDrawObservable'] && _0x5adc61['_onBeforeDrawObservable']['clear'](),
_0x5adc61['_onBeforeBindObservable'] && _0x5adc61['_onBeforeBindObservable']['clear'](),
_0x5adc61['_onBeforeRenderObservable'] && _0x5adc61['_onBeforeRenderObservable']['clear'](),
_0x5adc61['_onAfterRenderObservable'] && _0x5adc61['_onAfterRenderObservable']['clear'](),
this['_scene']['useClonedMeshhMap']) {
if (_0x5adc61['meshMap'])
for (var _0x22cd25 in _0x5adc61['meshMap']) {
(_0x58f109 = _0x5adc61['meshMap'][_0x22cd25]) && (_0x58f109['_internalMeshDataInfo']['_source'] = null,
_0x5adc61['meshMap'][_0x22cd25] = void 0x0);
}
_0x5adc61['_source'] && _0x5adc61['_source']['_internalMeshDataInfo']['meshMap'] && (_0x5adc61['_source']['_internalMeshDataInfo']['meshMap'][this['uniqueId']] = void 0x0);
} else
for (var _0x345f97 = 0x0, _0x19a1a5 = this['getScene']()['meshes']; _0x345f97 < _0x19a1a5['length']; _0x345f97++) {
var _0x58f109;
(_0x58f109 = _0x19a1a5[_0x345f97])['_internalMeshDataInfo'] && _0x58f109['_internalMeshDataInfo']['_source'] && _0x58f109['_internalMeshDataInfo']['_source'] === this && (_0x58f109['_internalMeshDataInfo']['_source'] = null);
}
for (_0x5adc61['_source'] = null,
this['_instanceDataStorage']['instancesBuffer'] && (this['_instanceDataStorage']['instancesBuffer']['dispose'](),
this['_instanceDataStorage']['instancesBuffer'] = null); this['instances']['length']; )
this['instances'][0x0]['dispose']();
_0xeba31b['prototype']['dispose']['call'](this, _0x4d1be9, _0x17c84e);
}
,
_0x4dc7f5['prototype']['applyDisplacementMap'] = function(_0x5b452c, _0x4529fc, _0x412851, _0x37fb20, _0x54a4ee, _0x352226, _0x495aa4) {
var _0x51e3ce = this;
void 0x0 === _0x495aa4 && (_0x495aa4 = !0x1);
var _0x5b4b53 = this['getScene']();
return _0xf44b3e['h']['LoadImage'](_0x5b452c, function(_0x7782bf) {
var _0x5198ba = document['createElement']('canvas')
, _0x2c0ca0 = _0x5198ba['getContext']('2d')
, _0x39fa50 = _0x7782bf['width']
, _0x557bf7 = _0x7782bf['height'];
_0x5198ba['width'] = _0x39fa50,
_0x5198ba['height'] = _0x557bf7,
_0x2c0ca0['drawImage'](_0x7782bf, 0x0, 0x0);
var _0x4945ca = _0x2c0ca0['getImageData'](0x0, 0x0, _0x39fa50, _0x557bf7)['data'];
_0x51e3ce['applyDisplacementMapFromBuffer'](_0x4945ca, _0x39fa50, _0x557bf7, _0x4529fc, _0x412851, _0x54a4ee, _0x352226, _0x495aa4),
_0x37fb20 && _0x37fb20(_0x51e3ce);
}, function() {}, _0x5b4b53['offlineProvider']),
this;
}
,
_0x4dc7f5['prototype']['applyDisplacementMapFromBuffer'] = function(_0x85493a, _0x1c5988, _0x8c27d5, _0x462265, _0x1641df, _0xdc5f3c, _0xc889ad, _0x315540) {
if (void 0x0 === _0x315540 && (_0x315540 = !0x1),
!this['isVerticesDataPresent'](_0x566195['b']['PositionKind']) || !this['isVerticesDataPresent'](_0x566195['b']['NormalKind']) || !this['isVerticesDataPresent'](_0x566195['b']['UVKind']))
return _0x651ae7['a']['Warn']('Cannot\x20call\x20applyDisplacementMap:\x20Given\x20mesh\x20is\x20not\x20complete.\x20Position,\x20Normal\x20or\x20UV\x20are\x20missing'),
this;
var _0x33f28b = this['getVerticesData'](_0x566195['b']['PositionKind'], !0x0, !0x0)
, _0x443b9b = this['getVerticesData'](_0x566195['b']['NormalKind'])
, _0x568a23 = this['getVerticesData'](_0x566195['b']['UVKind'])
, _0x56d4a8 = _0x564b55['x']['Zero']()
, _0x2148e0 = _0x564b55['x']['Zero']()
, _0xf9c999 = _0x564b55['w']['Zero']();
_0xdc5f3c = _0xdc5f3c || _0x564b55['w']['Zero'](),
_0xc889ad = _0xc889ad || new _0x564b55['w'](0x1,0x1);
for (var _0xe0757a = 0x0; _0xe0757a < _0x33f28b['length']; _0xe0757a += 0x3) {
_0x564b55['x']['FromArrayToRef'](_0x33f28b, _0xe0757a, _0x56d4a8),
_0x564b55['x']['FromArrayToRef'](_0x443b9b, _0xe0757a, _0x2148e0),
_0x564b55['w']['FromArrayToRef'](_0x568a23, _0xe0757a / 0x3 * 0x2, _0xf9c999);
var _0x15c0f8 = 0x4 * ((Math['abs'](_0xf9c999['x'] * _0xc889ad['x'] + _0xdc5f3c['x']) * _0x1c5988 % _0x1c5988 | 0x0) + (Math['abs'](_0xf9c999['y'] * _0xc889ad['y'] + _0xdc5f3c['y']) * _0x8c27d5 % _0x8c27d5 | 0x0) * _0x1c5988)
, _0x378941 = 0.3 * (_0x85493a[_0x15c0f8] / 0xff) + 0.59 * (_0x85493a[_0x15c0f8 + 0x1] / 0xff) + 0.11 * (_0x85493a[_0x15c0f8 + 0x2] / 0xff);
_0x2148e0['normalize'](),
_0x2148e0['scaleInPlace'](_0x462265 + (_0x1641df - _0x462265) * _0x378941),
(_0x56d4a8 = _0x56d4a8['add'](_0x2148e0))['toArray'](_0x33f28b, _0xe0757a);
}
return _0x3321ce['a']['ComputeNormals'](_0x33f28b, this['getIndices'](), _0x443b9b),
_0x315540 ? (this['setVerticesData'](_0x566195['b']['PositionKind'], _0x33f28b),
this['setVerticesData'](_0x566195['b']['NormalKind'], _0x443b9b)) : (this['updateVerticesData'](_0x566195['b']['PositionKind'], _0x33f28b),
this['updateVerticesData'](_0x566195['b']['NormalKind'], _0x443b9b)),
this;
}
,
_0x4dc7f5['prototype']['convertToFlatShadedMesh'] = function() {
var _0x4c0b51, _0x24c704, _0x3f2e54 = this['getVerticesDataKinds'](), _0x49d4aa = {}, _0x1ccf1d = {}, _0x517677 = {}, _0x440c8d = !0x1;
for (_0x4c0b51 = 0x0; _0x4c0b51 < _0x3f2e54['length']; _0x4c0b51++) {
_0x24c704 = _0x3f2e54[_0x4c0b51];
var _0x1366e4 = this['getVertexBuffer'](_0x24c704);
_0x24c704 !== _0x566195['b']['NormalKind'] ? (_0x49d4aa[_0x24c704] = _0x1366e4,
_0x1ccf1d[_0x24c704] = _0x49d4aa[_0x24c704]['getData'](),
_0x517677[_0x24c704] = []) : (_0x440c8d = _0x1366e4['isUpdatable'](),
_0x3f2e54['splice'](_0x4c0b51, 0x1),
_0x4c0b51--);
}
var _0x21ac9c, _0x30433e = this['subMeshes']['slice'](0x0), _0x23e5db = this['getIndices'](), _0x830dca = this['getTotalIndices']();
for (_0x21ac9c = 0x0; _0x21ac9c < _0x830dca; _0x21ac9c++) {
var _0x4e6b9b = _0x23e5db[_0x21ac9c];
for (_0x4c0b51 = 0x0; _0x4c0b51 < _0x3f2e54['length']; _0x4c0b51++)
for (var _0x5938bf = _0x49d4aa[_0x24c704 = _0x3f2e54[_0x4c0b51]]['getStrideSize'](), _0x4f301b = 0x0; _0x4f301b < _0x5938bf; _0x4f301b++)
_0x517677[_0x24c704]['push'](_0x1ccf1d[_0x24c704][_0x4e6b9b * _0x5938bf + _0x4f301b]);
}
var _0x3e2500 = []
, _0xbabf2b = _0x517677[_0x566195['b']['PositionKind']];
for (_0x21ac9c = 0x0; _0x21ac9c < _0x830dca; _0x21ac9c += 0x3) {
_0x23e5db[_0x21ac9c] = _0x21ac9c,
_0x23e5db[_0x21ac9c + 0x1] = _0x21ac9c + 0x1,
_0x23e5db[_0x21ac9c + 0x2] = _0x21ac9c + 0x2;
for (var _0x397ef5 = _0x564b55['x']['FromArray'](_0xbabf2b, 0x3 * _0x21ac9c), _0x384428 = _0x564b55['x']['FromArray'](_0xbabf2b, 0x3 * (_0x21ac9c + 0x1)), _0x3fdd72 = _0x564b55['x']['FromArray'](_0xbabf2b, 0x3 * (_0x21ac9c + 0x2)), _0x4f009f = _0x397ef5['subtract'](_0x384428), _0x5038ed = _0x3fdd72['subtract'](_0x384428), _0x56caa0 = _0x564b55['x']['Normalize'](_0x564b55['x']['Cross'](_0x4f009f, _0x5038ed)), _0x1db84c = 0x0; _0x1db84c < 0x3; _0x1db84c++)
_0x3e2500['push'](_0x56caa0['x']),
_0x3e2500['push'](_0x56caa0['y']),
_0x3e2500['push'](_0x56caa0['z']);
}
for (this['setIndices'](_0x23e5db),
this['setVerticesData'](_0x566195['b']['NormalKind'], _0x3e2500, _0x440c8d),
_0x4c0b51 = 0x0; _0x4c0b51 < _0x3f2e54['length']; _0x4c0b51++)
_0x24c704 = _0x3f2e54[_0x4c0b51],
this['setVerticesData'](_0x24c704, _0x517677[_0x24c704], _0x49d4aa[_0x24c704]['isUpdatable']());
this['releaseSubMeshes']();
for (var _0x1e73ff = 0x0; _0x1e73ff < _0x30433e['length']; _0x1e73ff++) {
var _0xa68f2c = _0x30433e[_0x1e73ff];
_0x1d85ce['b']['AddToMesh'](_0xa68f2c['materialIndex'], _0xa68f2c['indexStart'], _0xa68f2c['indexCount'], _0xa68f2c['indexStart'], _0xa68f2c['indexCount'], this);
}
return this['synchronizeInstances'](),
this;
}
,
_0x4dc7f5['prototype']['convertToUnIndexedMesh'] = function() {
var _0xebd37f, _0x1faa30, _0x58dcd5 = this['getVerticesDataKinds'](), _0x5e51d5 = {}, _0x39df6d = {}, _0x87a9ac = {};
for (_0xebd37f = 0x0; _0xebd37f < _0x58dcd5['length']; _0xebd37f++) {
_0x1faa30 = _0x58dcd5[_0xebd37f];
var _0xa5f44f = this['getVertexBuffer'](_0x1faa30);
_0x5e51d5[_0x1faa30] = _0xa5f44f,
_0x39df6d[_0x1faa30] = _0x5e51d5[_0x1faa30]['getData'](),
_0x87a9ac[_0x1faa30] = [];
}
var _0xdd6dc2, _0x19799 = this['subMeshes']['slice'](0x0), _0x1453fe = this['getIndices'](), _0x22c688 = this['getTotalIndices']();
for (_0xdd6dc2 = 0x0; _0xdd6dc2 < _0x22c688; _0xdd6dc2++) {
var _0x4ba22e = _0x1453fe[_0xdd6dc2];
for (_0xebd37f = 0x0; _0xebd37f < _0x58dcd5['length']; _0xebd37f++)
for (var _0x6ec60b = _0x5e51d5[_0x1faa30 = _0x58dcd5[_0xebd37f]]['getStrideSize'](), _0x2007c7 = 0x0; _0x2007c7 < _0x6ec60b; _0x2007c7++)
_0x87a9ac[_0x1faa30]['push'](_0x39df6d[_0x1faa30][_0x4ba22e * _0x6ec60b + _0x2007c7]);
}
for (_0xdd6dc2 = 0x0; _0xdd6dc2 < _0x22c688; _0xdd6dc2 += 0x3)
_0x1453fe[_0xdd6dc2] = _0xdd6dc2,
_0x1453fe[_0xdd6dc2 + 0x1] = _0xdd6dc2 + 0x1,
_0x1453fe[_0xdd6dc2 + 0x2] = _0xdd6dc2 + 0x2;
for (this['setIndices'](_0x1453fe),
_0xebd37f = 0x0; _0xebd37f < _0x58dcd5['length']; _0xebd37f++)
_0x1faa30 = _0x58dcd5[_0xebd37f],
this['setVerticesData'](_0x1faa30, _0x87a9ac[_0x1faa30], _0x5e51d5[_0x1faa30]['isUpdatable']());
this['releaseSubMeshes']();
for (var _0x4e230a = 0x0; _0x4e230a < _0x19799['length']; _0x4e230a++) {
var _0x3039af = _0x19799[_0x4e230a];
_0x1d85ce['b']['AddToMesh'](_0x3039af['materialIndex'], _0x3039af['indexStart'], _0x3039af['indexCount'], _0x3039af['indexStart'], _0x3039af['indexCount'], this);
}
return this['_unIndexed'] = !0x0,
this['synchronizeInstances'](),
this;
}
,
_0x4dc7f5['prototype']['flipFaces'] = function(_0x7d2a86) {
void 0x0 === _0x7d2a86 && (_0x7d2a86 = !0x1);
var _0x1c8696, _0x358402, _0x112873 = _0x3321ce['a']['ExtractFromMesh'](this);
if (_0x7d2a86 && this['isVerticesDataPresent'](_0x566195['b']['NormalKind']) && _0x112873['normals'])
for (_0x1c8696 = 0x0; _0x1c8696 < _0x112873['normals']['length']; _0x1c8696++)
_0x112873['normals'][_0x1c8696] *= -0x1;
if (_0x112873['indices'])
for (_0x1c8696 = 0x0; _0x1c8696 < _0x112873['indices']['length']; _0x1c8696 += 0x3)
_0x358402 = _0x112873['indices'][_0x1c8696 + 0x1],
_0x112873['indices'][_0x1c8696 + 0x1] = _0x112873['indices'][_0x1c8696 + 0x2],
_0x112873['indices'][_0x1c8696 + 0x2] = _0x358402;
return _0x112873['applyToMesh'](this),
this;
}
,
_0x4dc7f5['prototype']['increaseVertices'] = function(_0x3cc217) {
var _0x4f462f = _0x3321ce['a']['ExtractFromMesh'](this)
, _0xabe72e = _0x4f462f['uvs']
, _0x1cb2a2 = _0x4f462f['indices']
, _0x54ef6d = _0x4f462f['positions']
, _0x4c4999 = _0x4f462f['normals'];
if (null === _0x1cb2a2 || null === _0x54ef6d || null === _0x4c4999 || null === _0xabe72e)
_0x651ae7['a']['Warn']('VertexData\x20contains\x20null\x20entries');
else {
for (var _0x1d5bfb, _0x2ea342, _0x4da86d = _0x3cc217 + 0x1, _0x4310a7 = new Array(), _0x4026b4 = 0x0; _0x4026b4 < _0x4da86d + 0x1; _0x4026b4++)
_0x4310a7[_0x4026b4] = new Array();
var _0x3e76f4, _0x2b964f = new _0x564b55['x'](0x0,0x0,0x0), _0x295a6e = new _0x564b55['x'](0x0,0x0,0x0), _0xfc106c = new _0x564b55['w'](0x0,0x0), _0x418ddc = new Array(), _0x2db761 = new Array(), _0xf035ea = new Array(), _0x337823 = _0x54ef6d['length'], _0x3c64ca = _0xabe72e['length'];
for (_0x4026b4 = 0x0; _0x4026b4 < _0x1cb2a2['length']; _0x4026b4 += 0x3) {
_0x2db761[0x0] = _0x1cb2a2[_0x4026b4],
_0x2db761[0x1] = _0x1cb2a2[_0x4026b4 + 0x1],
_0x2db761[0x2] = _0x1cb2a2[_0x4026b4 + 0x2];
for (var _0x484c85 = 0x0; _0x484c85 < 0x3; _0x484c85++)
if (_0x1d5bfb = _0x2db761[_0x484c85],
_0x2ea342 = _0x2db761[(_0x484c85 + 0x1) % 0x3],
void 0x0 === _0xf035ea[_0x1d5bfb] && void 0x0 === _0xf035ea[_0x2ea342] ? (_0xf035ea[_0x1d5bfb] = new Array(),
_0xf035ea[_0x2ea342] = new Array()) : (void 0x0 === _0xf035ea[_0x1d5bfb] && (_0xf035ea[_0x1d5bfb] = new Array()),
void 0x0 === _0xf035ea[_0x2ea342] && (_0xf035ea[_0x2ea342] = new Array())),
void 0x0 === _0xf035ea[_0x1d5bfb][_0x2ea342] && void 0x0 === _0xf035ea[_0x2ea342][_0x1d5bfb]) {
_0xf035ea[_0x1d5bfb][_0x2ea342] = [],
_0x2b964f['x'] = (_0x54ef6d[0x3 * _0x2ea342] - _0x54ef6d[0x3 * _0x1d5bfb]) / _0x4da86d,
_0x2b964f['y'] = (_0x54ef6d[0x3 * _0x2ea342 + 0x1] - _0x54ef6d[0x3 * _0x1d5bfb + 0x1]) / _0x4da86d,
_0x2b964f['z'] = (_0x54ef6d[0x3 * _0x2ea342 + 0x2] - _0x54ef6d[0x3 * _0x1d5bfb + 0x2]) / _0x4da86d,
_0x295a6e['x'] = (_0x4c4999[0x3 * _0x2ea342] - _0x4c4999[0x3 * _0x1d5bfb]) / _0x4da86d,
_0x295a6e['y'] = (_0x4c4999[0x3 * _0x2ea342 + 0x1] - _0x4c4999[0x3 * _0x1d5bfb + 0x1]) / _0x4da86d,
_0x295a6e['z'] = (_0x4c4999[0x3 * _0x2ea342 + 0x2] - _0x4c4999[0x3 * _0x1d5bfb + 0x2]) / _0x4da86d,
_0xfc106c['x'] = (_0xabe72e[0x2 * _0x2ea342] - _0xabe72e[0x2 * _0x1d5bfb]) / _0x4da86d,
_0xfc106c['y'] = (_0xabe72e[0x2 * _0x2ea342 + 0x1] - _0xabe72e[0x2 * _0x1d5bfb + 0x1]) / _0x4da86d,
_0xf035ea[_0x1d5bfb][_0x2ea342]['push'](_0x1d5bfb);
for (var _0x1e06f4 = 0x1; _0x1e06f4 < _0x4da86d; _0x1e06f4++)
_0xf035ea[_0x1d5bfb][_0x2ea342]['push'](_0x54ef6d['length'] / 0x3),
_0x54ef6d[_0x337823] = _0x54ef6d[0x3 * _0x1d5bfb] + _0x1e06f4 * _0x2b964f['x'],
_0x4c4999[_0x337823++] = _0x4c4999[0x3 * _0x1d5bfb] + _0x1e06f4 * _0x295a6e['x'],
_0x54ef6d[_0x337823] = _0x54ef6d[0x3 * _0x1d5bfb + 0x1] + _0x1e06f4 * _0x2b964f['y'],
_0x4c4999[_0x337823++] = _0x4c4999[0x3 * _0x1d5bfb + 0x1] + _0x1e06f4 * _0x295a6e['y'],
_0x54ef6d[_0x337823] = _0x54ef6d[0x3 * _0x1d5bfb + 0x2] + _0x1e06f4 * _0x2b964f['z'],
_0x4c4999[_0x337823++] = _0x4c4999[0x3 * _0x1d5bfb + 0x2] + _0x1e06f4 * _0x295a6e['z'],
_0xabe72e[_0x3c64ca++] = _0xabe72e[0x2 * _0x1d5bfb] + _0x1e06f4 * _0xfc106c['x'],
_0xabe72e[_0x3c64ca++] = _0xabe72e[0x2 * _0x1d5bfb + 0x1] + _0x1e06f4 * _0xfc106c['y'];
_0xf035ea[_0x1d5bfb][_0x2ea342]['push'](_0x2ea342),
_0xf035ea[_0x2ea342][_0x1d5bfb] = new Array(),
_0x3e76f4 = _0xf035ea[_0x1d5bfb][_0x2ea342]['length'];
for (var _0x3f0d8c = 0x0; _0x3f0d8c < _0x3e76f4; _0x3f0d8c++)
_0xf035ea[_0x2ea342][_0x1d5bfb][_0x3f0d8c] = _0xf035ea[_0x1d5bfb][_0x2ea342][_0x3e76f4 - 0x1 - _0x3f0d8c];
}
_0x4310a7[0x0][0x0] = _0x1cb2a2[_0x4026b4],
_0x4310a7[0x1][0x0] = _0xf035ea[_0x1cb2a2[_0x4026b4]][_0x1cb2a2[_0x4026b4 + 0x1]][0x1],
_0x4310a7[0x1][0x1] = _0xf035ea[_0x1cb2a2[_0x4026b4]][_0x1cb2a2[_0x4026b4 + 0x2]][0x1];
for (_0x1e06f4 = 0x2; _0x1e06f4 < _0x4da86d; _0x1e06f4++) {
_0x4310a7[_0x1e06f4][0x0] = _0xf035ea[_0x1cb2a2[_0x4026b4]][_0x1cb2a2[_0x4026b4 + 0x1]][_0x1e06f4],
_0x4310a7[_0x1e06f4][_0x1e06f4] = _0xf035ea[_0x1cb2a2[_0x4026b4]][_0x1cb2a2[_0x4026b4 + 0x2]][_0x1e06f4],
_0x2b964f['x'] = (_0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][_0x1e06f4]] - _0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][0x0]]) / _0x1e06f4,
_0x2b964f['y'] = (_0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][_0x1e06f4] + 0x1] - _0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][0x0] + 0x1]) / _0x1e06f4,
_0x2b964f['z'] = (_0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][_0x1e06f4] + 0x2] - _0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][0x0] + 0x2]) / _0x1e06f4,
_0x295a6e['x'] = (_0x4c4999[0x3 * _0x4310a7[_0x1e06f4][_0x1e06f4]] - _0x4c4999[0x3 * _0x4310a7[_0x1e06f4][0x0]]) / _0x1e06f4,
_0x295a6e['y'] = (_0x4c4999[0x3 * _0x4310a7[_0x1e06f4][_0x1e06f4] + 0x1] - _0x4c4999[0x3 * _0x4310a7[_0x1e06f4][0x0] + 0x1]) / _0x1e06f4,
_0x295a6e['z'] = (_0x4c4999[0x3 * _0x4310a7[_0x1e06f4][_0x1e06f4] + 0x2] - _0x4c4999[0x3 * _0x4310a7[_0x1e06f4][0x0] + 0x2]) / _0x1e06f4,
_0xfc106c['x'] = (_0xabe72e[0x2 * _0x4310a7[_0x1e06f4][_0x1e06f4]] - _0xabe72e[0x2 * _0x4310a7[_0x1e06f4][0x0]]) / _0x1e06f4,
_0xfc106c['y'] = (_0xabe72e[0x2 * _0x4310a7[_0x1e06f4][_0x1e06f4] + 0x1] - _0xabe72e[0x2 * _0x4310a7[_0x1e06f4][0x0] + 0x1]) / _0x1e06f4;
for (_0x484c85 = 0x1; _0x484c85 < _0x1e06f4; _0x484c85++)
_0x4310a7[_0x1e06f4][_0x484c85] = _0x54ef6d['length'] / 0x3,
_0x54ef6d[_0x337823] = _0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][0x0]] + _0x484c85 * _0x2b964f['x'],
_0x4c4999[_0x337823++] = _0x4c4999[0x3 * _0x4310a7[_0x1e06f4][0x0]] + _0x484c85 * _0x295a6e['x'],
_0x54ef6d[_0x337823] = _0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][0x0] + 0x1] + _0x484c85 * _0x2b964f['y'],
_0x4c4999[_0x337823++] = _0x4c4999[0x3 * _0x4310a7[_0x1e06f4][0x0] + 0x1] + _0x484c85 * _0x295a6e['y'],
_0x54ef6d[_0x337823] = _0x54ef6d[0x3 * _0x4310a7[_0x1e06f4][0x0] + 0x2] + _0x484c85 * _0x2b964f['z'],
_0x4c4999[_0x337823++] = _0x4c4999[0x3 * _0x4310a7[_0x1e06f4][0x0] + 0x2] + _0x484c85 * _0x295a6e['z'],
_0xabe72e[_0x3c64ca++] = _0xabe72e[0x2 * _0x4310a7[_0x1e06f4][0x0]] + _0x484c85 * _0xfc106c['x'],
_0xabe72e[_0x3c64ca++] = _0xabe72e[0x2 * _0x4310a7[_0x1e06f4][0x0] + 0x1] + _0x484c85 * _0xfc106c['y'];
}
_0x4310a7[_0x4da86d] = _0xf035ea[_0x1cb2a2[_0x4026b4 + 0x1]][_0x1cb2a2[_0x4026b4 + 0x2]],
_0x418ddc['push'](_0x4310a7[0x0][0x0], _0x4310a7[0x1][0x0], _0x4310a7[0x1][0x1]);
for (_0x1e06f4 = 0x1; _0x1e06f4 < _0x4da86d; _0x1e06f4++) {
for (_0x484c85 = 0x0; _0x484c85 < _0x1e06f4; _0x484c85++)
_0x418ddc['push'](_0x4310a7[_0x1e06f4][_0x484c85], _0x4310a7[_0x1e06f4 + 0x1][_0x484c85], _0x4310a7[_0x1e06f4 + 0x1][_0x484c85 + 0x1]),
_0x418ddc['push'](_0x4310a7[_0x1e06f4][_0x484c85], _0x4310a7[_0x1e06f4 + 0x1][_0x484c85 + 0x1], _0x4310a7[_0x1e06f4][_0x484c85 + 0x1]);
_0x418ddc['push'](_0x4310a7[_0x1e06f4][_0x484c85], _0x4310a7[_0x1e06f4 + 0x1][_0x484c85], _0x4310a7[_0x1e06f4 + 0x1][_0x484c85 + 0x1]);
}
}
_0x4f462f['indices'] = _0x418ddc,
_0x4f462f['applyToMesh'](this);
}
}
,
_0x4dc7f5['prototype']['forceSharedVertices'] = function() {
var _0x5267d5 = _0x3321ce['a']['ExtractFromMesh'](this)
, _0x4098e1 = _0x5267d5['uvs']
, _0x26a884 = _0x5267d5['indices']
, _0x5401c3 = _0x5267d5['positions']
, _0x204bf3 = _0x5267d5['normals'];
if (null === _0x26a884 || null === _0x5401c3 || null === _0x204bf3 || null === _0x4098e1)
_0x651ae7['a']['Warn']('VertexData\x20contains\x20null\x20entries');
else {
for (var _0x2b6520, _0x2452ec, _0x1b3a1b = new Array(), _0x18bbdd = new Array(), _0x1caa9d = new Array(), _0x1f16a9 = new Array(), _0x53c04c = 0x0, _0xebb03a = new Array(), _0x13c93 = 0x0; _0x13c93 < _0x26a884['length']; _0x13c93 += 0x3) {
_0x2452ec = [_0x26a884[_0x13c93], _0x26a884[_0x13c93 + 0x1], _0x26a884[_0x13c93 + 0x2]],
_0x1f16a9 = new Array();
for (var _0x278341 = 0x0; _0x278341 < 0x3; _0x278341++) {
_0x1f16a9[_0x278341] = '';
for (var _0x4fab06 = 0x0; _0x4fab06 < 0x3; _0x4fab06++)
Math['abs'](_0x5401c3[0x3 * _0x2452ec[_0x278341] + _0x4fab06]) < 1e-8 && (_0x5401c3[0x3 * _0x2452ec[_0x278341] + _0x4fab06] = 0x0),
_0x1f16a9[_0x278341] += _0x5401c3[0x3 * _0x2452ec[_0x278341] + _0x4fab06] + '|';
_0x1f16a9[_0x278341] = _0x1f16a9[_0x278341]['slice'](0x0, -0x1);
}
if (_0x1f16a9[0x0] != _0x1f16a9[0x1] && _0x1f16a9[0x0] != _0x1f16a9[0x2] && _0x1f16a9[0x1] != _0x1f16a9[0x2])
for (_0x278341 = 0x0; _0x278341 < 0x3; _0x278341++) {
if ((_0x2b6520 = _0xebb03a['indexOf'](_0x1f16a9[_0x278341])) < 0x0) {
_0xebb03a['push'](_0x1f16a9[_0x278341]),
_0x2b6520 = _0x53c04c++;
for (_0x4fab06 = 0x0; _0x4fab06 < 0x3; _0x4fab06++)
_0x1b3a1b['push'](_0x5401c3[0x3 * _0x2452ec[_0x278341] + _0x4fab06]);
for (_0x4fab06 = 0x0; _0x4fab06 < 0x2; _0x4fab06++)
_0x1caa9d['push'](_0x4098e1[0x2 * _0x2452ec[_0x278341] + _0x4fab06]);
}
_0x18bbdd['push'](_0x2b6520);
}
}
var _0x11653c = new Array();
_0x3321ce['a']['ComputeNormals'](_0x1b3a1b, _0x18bbdd, _0x11653c),
_0x5267d5['positions'] = _0x1b3a1b,
_0x5267d5['indices'] = _0x18bbdd,
_0x5267d5['normals'] = _0x11653c,
_0x5267d5['uvs'] = _0x1caa9d,
_0x5267d5['applyToMesh'](this);
}
}
,
_0x4dc7f5['_instancedMeshFactory'] = function(_0x392ce6, _0x446a4e) {
throw _0x38b7f6['a']['WarnImport']('InstancedMesh');
}
,
_0x4dc7f5['_PhysicsImpostorParser'] = function(_0x37fe10, _0x609051, _0x4db491) {
throw _0x38b7f6['a']['WarnImport']('PhysicsImpostor');
}
,
_0x4dc7f5['prototype']['createInstance'] = function(_0x40e6e1) {
return _0x4dc7f5['_instancedMeshFactory'](_0x40e6e1, this);
}
,
_0x4dc7f5['prototype']['synchronizeInstances'] = function() {
for (var _0x54b05d = 0x0; _0x54b05d < this['instances']['length']; _0x54b05d++) {
this['instances'][_0x54b05d]['_syncSubMeshes']();
}
return this;
}
,
_0x4dc7f5['prototype']['optimizeIndices'] = function(_0x51b7da) {
var _0x265a4d = this
, _0x456fce = this['getIndices']()
, _0x42674c = this['getVerticesData'](_0x566195['b']['PositionKind']);
if (!_0x42674c || !_0x456fce)
return this;
for (var _0x30a59e = new Array(), _0x988cd8 = 0x0; _0x988cd8 < _0x42674c['length']; _0x988cd8 += 0x3)
_0x30a59e['push'](_0x564b55['x']['FromArray'](_0x42674c, _0x988cd8));
var _0x47d130 = new Array();
return _0xf44b3e['a']['SyncAsyncForLoop'](_0x30a59e['length'], 0x28, function(_0x595df7) {
for (var _0x12b9b7 = _0x30a59e['length'] - 0x1 - _0x595df7, _0x2d605c = _0x30a59e[_0x12b9b7], _0x50e1d1 = 0x0; _0x50e1d1 < _0x12b9b7; ++_0x50e1d1) {
var _0x4d5421 = _0x30a59e[_0x50e1d1];
if (_0x2d605c['equals'](_0x4d5421)) {
_0x47d130[_0x12b9b7] = _0x50e1d1;
break;
}
}
}, function() {
for (var _0x5c7d58 = 0x0; _0x5c7d58 < _0x456fce['length']; ++_0x5c7d58)
_0x456fce[_0x5c7d58] = _0x47d130[_0x456fce[_0x5c7d58]] || _0x456fce[_0x5c7d58];
var _0x3a521c = _0x265a4d['subMeshes']['slice'](0x0);
_0x265a4d['setIndices'](_0x456fce),
_0x265a4d['subMeshes'] = _0x3a521c,
_0x51b7da && _0x51b7da(_0x265a4d);
}),
this;
}
,
_0x4dc7f5['prototype']['serialize'] = function(_0x2ddda2) {
_0x2ddda2['name'] = this['name'],
_0x2ddda2['id'] = this['id'],
_0x2ddda2['type'] = this['getClassName'](),
_0xfac2e0['a'] && _0xfac2e0['a']['HasTags'](this) && (_0x2ddda2['tags'] = _0xfac2e0['a']['GetTags'](this)),
_0x2ddda2['position'] = this['position']['asArray'](),
this['rotationQuaternion'] ? _0x2ddda2['rotationQuaternion'] = this['rotationQuaternion']['asArray']() : this['rotation'] && (_0x2ddda2['rotation'] = this['rotation']['asArray']()),
_0x2ddda2['scaling'] = this['scaling']['asArray'](),
this['_postMultiplyPivotMatrix'] ? _0x2ddda2['pivotMatrix'] = this['getPivotMatrix']()['asArray']() : _0x2ddda2['localMatrix'] = this['getPivotMatrix']()['asArray'](),
_0x2ddda2['isEnabled'] = this['isEnabled'](!0x1),
_0x2ddda2['isVisible'] = this['isVisible'],
_0x2ddda2['infiniteDistance'] = this['infiniteDistance'],
_0x2ddda2['pickable'] = this['isPickable'],
_0x2ddda2['receiveShadows'] = this['receiveShadows'],
_0x2ddda2['billboardMode'] = this['billboardMode'],
_0x2ddda2['visibility'] = this['visibility'],
_0x2ddda2['checkCollisions'] = this['checkCollisions'],
_0x2ddda2['isBlocker'] = this['isBlocker'],
this['parent'] && (_0x2ddda2['parentId'] = this['parent']['id']),
_0x2ddda2['isUnIndexed'] = this['isUnIndexed'];
var _0x561e4c = this['_geometry'];
if (_0x561e4c) {
var _0xb57f8a = _0x561e4c['id'];
_0x2ddda2['geometryId'] = _0xb57f8a,
_0x2ddda2['subMeshes'] = [];
for (var _0x49898e = 0x0; _0x49898e < this['subMeshes']['length']; _0x49898e++) {
var _0x1bf87e = this['subMeshes'][_0x49898e];
_0x2ddda2['subMeshes']['push']({
'materialIndex': _0x1bf87e['materialIndex'],
'verticesStart': _0x1bf87e['verticesStart'],
'verticesCount': _0x1bf87e['verticesCount'],
'indexStart': _0x1bf87e['indexStart'],
'indexCount': _0x1bf87e['indexCount']
});
}
}
if (this['material'] ? _0x2ddda2['materialId'] = this['material']['id'] : this['material'] = null,
this['morphTargetManager'] && (_0x2ddda2['morphTargetManagerId'] = this['morphTargetManager']['uniqueId']),
this['skeleton'] && (_0x2ddda2['skeletonId'] = this['skeleton']['id']),
this['getScene']()['_getComponent'](_0x44d4b1['a']['NAME_PHYSICSENGINE'])) {
var _0x4e1b3a = this['getPhysicsImpostor']();
_0x4e1b3a && (_0x2ddda2['physicsMass'] = _0x4e1b3a['getParam']('mass'),
_0x2ddda2['physicsFriction'] = _0x4e1b3a['getParam']('friction'),
_0x2ddda2['physicsRestitution'] = _0x4e1b3a['getParam']('mass'),
_0x2ddda2['physicsImpostor'] = _0x4e1b3a['type']);
}
this['metadata'] && (_0x2ddda2['metadata'] = this['metadata']),
_0x2ddda2['instances'] = [];
for (var _0x40fad4 = 0x0; _0x40fad4 < this['instances']['length']; _0x40fad4++) {
var _0x442654 = this['instances'][_0x40fad4];
if (!_0x442654['doNotSerialize']) {
var _0x36d4aa = {
'name': _0x442654['name'],
'id': _0x442654['id'],
'position': _0x442654['position']['asArray'](),
'scaling': _0x442654['scaling']['asArray']()
};
_0x442654['parent'] && (_0x36d4aa['parentId'] = _0x442654['parent']['id']),
_0x442654['rotationQuaternion'] ? _0x36d4aa['rotationQuaternion'] = _0x442654['rotationQuaternion']['asArray']() : _0x442654['rotation'] && (_0x36d4aa['rotation'] = _0x442654['rotation']['asArray']()),
_0x2ddda2['instances']['push'](_0x36d4aa),
_0x16d985['a']['AppendSerializedAnimations'](_0x442654, _0x36d4aa),
_0x36d4aa['ranges'] = _0x442654['serializeAnimationRanges']();
}
}
_0x16d985['a']['AppendSerializedAnimations'](this, _0x2ddda2),
_0x2ddda2['ranges'] = this['serializeAnimationRanges'](),
_0x2ddda2['layerMask'] = this['layerMask'],
_0x2ddda2['alphaIndex'] = this['alphaIndex'],
_0x2ddda2['hasVertexAlpha'] = this['hasVertexAlpha'],
_0x2ddda2['overlayAlpha'] = this['overlayAlpha'],
_0x2ddda2['overlayColor'] = this['overlayColor']['asArray'](),
_0x2ddda2['renderOverlay'] = this['renderOverlay'],
_0x2ddda2['applyFog'] = this['applyFog'],
this['actionManager'] && (_0x2ddda2['actions'] = this['actionManager']['serialize'](this['name']));
}
,
_0x4dc7f5['prototype']['_syncGeometryWithMorphTargetManager'] = function() {
if (this['geometry']) {
this['_markSubMeshesAsAttributesDirty']();
var _0x1c8e93 = this['_internalMeshDataInfo']['_morphTargetManager'];
if (_0x1c8e93 && _0x1c8e93['vertexCount']) {
if (_0x1c8e93['vertexCount'] !== this['getTotalVertices']())
return _0x651ae7['a']['Error']('Mesh\x20is\x20incompatible\x20with\x20morph\x20targets.\x20Targets\x20and\x20mesh\x20must\x20all\x20have\x20the\x20same\x20vertices\x20count.'),
void (this['morphTargetManager'] = null);
for (var _0x13b70a = 0x0; _0x13b70a < _0x1c8e93['numInfluencers']; _0x13b70a++) {
var _0x31b765 = _0x1c8e93['getActiveTarget'](_0x13b70a)
, _0x3dd38c = _0x31b765['getPositions']();
if (!_0x3dd38c)
return void _0x651ae7['a']['Error']('Invalid\x20morph\x20target.\x20Target\x20must\x20have\x20positions.');
this['geometry']['setVerticesData'](_0x566195['b']['PositionKind'] + _0x13b70a, _0x3dd38c, !0x1, 0x3);
var _0x817be6 = _0x31b765['getNormals']();
_0x817be6 && this['geometry']['setVerticesData'](_0x566195['b']['NormalKind'] + _0x13b70a, _0x817be6, !0x1, 0x3);
var _0x1d4de0 = _0x31b765['getTangents']();
_0x1d4de0 && this['geometry']['setVerticesData'](_0x566195['b']['TangentKind'] + _0x13b70a, _0x1d4de0, !0x1, 0x3);
}
} else
for (_0x13b70a = 0x0; this['geometry']['isVerticesDataPresent'](_0x566195['b']['PositionKind'] + _0x13b70a); )
this['geometry']['removeVerticesData'](_0x566195['b']['PositionKind'] + _0x13b70a),
this['geometry']['isVerticesDataPresent'](_0x566195['b']['NormalKind'] + _0x13b70a) && this['geometry']['removeVerticesData'](_0x566195['b']['NormalKind'] + _0x13b70a),
this['geometry']['isVerticesDataPresent'](_0x566195['b']['TangentKind'] + _0x13b70a) && this['geometry']['removeVerticesData'](_0x566195['b']['TangentKind'] + _0x13b70a),
_0x13b70a++;
}
}
,
_0x4dc7f5['Parse'] = function(_0x56de8c, _0x192270, _0x4b1d61) {
var _0xd5a9ca;
if ((_0xd5a9ca = _0x56de8c['type'] && 'GroundMesh' === _0x56de8c['type'] ? _0x4dc7f5['_GroundMeshParser'](_0x56de8c, _0x192270) : new _0x4dc7f5(_0x56de8c['name'],_0x192270))['id'] = _0x56de8c['id'],
_0xfac2e0['a'] && _0xfac2e0['a']['AddTagsTo'](_0xd5a9ca, _0x56de8c['tags']),
_0xd5a9ca['position'] = _0x564b55['x']['FromArray'](_0x56de8c['position']),
void 0x0 !== _0x56de8c['metadata'] && (_0xd5a9ca['metadata'] = _0x56de8c['metadata']),
_0x56de8c['rotationQuaternion'] ? _0xd5a9ca['rotationQuaternion'] = _0x564b55['q']['FromArray'](_0x56de8c['rotationQuaternion']) : _0x56de8c['rotation'] && (_0xd5a9ca['rotation'] = _0x564b55['x']['FromArray'](_0x56de8c['rotation'])),
_0xd5a9ca['scaling'] = _0x564b55['x']['FromArray'](_0x56de8c['scaling']),
_0x56de8c['localMatrix'] ? _0xd5a9ca['setPreTransformMatrix'](_0x564b55['j']['FromArray'](_0x56de8c['localMatrix'])) : _0x56de8c['pivotMatrix'] && _0xd5a9ca['setPivotMatrix'](_0x564b55['j']['FromArray'](_0x56de8c['pivotMatrix'])),
_0xd5a9ca['setEnabled'](_0x56de8c['isEnabled']),
_0xd5a9ca['isVisible'] = _0x56de8c['isVisible'],
_0xd5a9ca['infiniteDistance'] = _0x56de8c['infiniteDistance'],
_0xd5a9ca['showBoundingBox'] = _0x56de8c['showBoundingBox'],
_0xd5a9ca['showSubMeshesBoundingBox'] = _0x56de8c['showSubMeshesBoundingBox'],
void 0x0 !== _0x56de8c['applyFog'] && (_0xd5a9ca['applyFog'] = _0x56de8c['applyFog']),
void 0x0 !== _0x56de8c['pickable'] && (_0xd5a9ca['isPickable'] = _0x56de8c['pickable']),
void 0x0 !== _0x56de8c['alphaIndex'] && (_0xd5a9ca['alphaIndex'] = _0x56de8c['alphaIndex']),
_0xd5a9ca['receiveShadows'] = _0x56de8c['receiveShadows'],
_0xd5a9ca['billboardMode'] = _0x56de8c['billboardMode'],
void 0x0 !== _0x56de8c['visibility'] && (_0xd5a9ca['visibility'] = _0x56de8c['visibility']),
_0xd5a9ca['checkCollisions'] = _0x56de8c['checkCollisions'],
void 0x0 !== _0x56de8c['isBlocker'] && (_0xd5a9ca['isBlocker'] = _0x56de8c['isBlocker']),
_0xd5a9ca['_shouldGenerateFlatShading'] = _0x56de8c['useFlatShading'],
_0x56de8c['freezeWorldMatrix'] && (_0xd5a9ca['_waitingData']['freezeWorldMatrix'] = _0x56de8c['freezeWorldMatrix']),
_0x56de8c['parentId'] && (_0xd5a9ca['_waitingParentId'] = _0x56de8c['parentId']),
void 0x0 !== _0x56de8c['actions'] && (_0xd5a9ca['_waitingData']['actions'] = _0x56de8c['actions']),
void 0x0 !== _0x56de8c['overlayAlpha'] && (_0xd5a9ca['overlayAlpha'] = _0x56de8c['overlayAlpha']),
void 0x0 !== _0x56de8c['overlayColor'] && (_0xd5a9ca['overlayColor'] = _0x564b55['e']['FromArray'](_0x56de8c['overlayColor'])),
void 0x0 !== _0x56de8c['renderOverlay'] && (_0xd5a9ca['renderOverlay'] = _0x56de8c['renderOverlay']),
_0xd5a9ca['isUnIndexed'] = !!_0x56de8c['isUnIndexed'],
_0xd5a9ca['hasVertexAlpha'] = _0x56de8c['hasVertexAlpha'],
_0x56de8c['delayLoadingFile'] ? (_0xd5a9ca['delayLoadState'] = _0x11dda0['a']['DELAYLOADSTATE_NOTLOADED'],
_0xd5a9ca['delayLoadingFile'] = _0x4b1d61 + _0x56de8c['delayLoadingFile'],
_0xd5a9ca['_boundingInfo'] = new _0x580b71['a'](_0x564b55['x']['FromArray'](_0x56de8c['boundingBoxMinimum']),_0x564b55['x']['FromArray'](_0x56de8c['boundingBoxMaximum'])),
_0x56de8c['_binaryInfo'] && (_0xd5a9ca['_binaryInfo'] = _0x56de8c['_binaryInfo']),
_0xd5a9ca['_delayInfo'] = [],
_0x56de8c['hasUVs'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['UVKind']),
_0x56de8c['hasUVs2'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['UV2Kind']),
_0x56de8c['hasUVs3'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['UV3Kind']),
_0x56de8c['hasUVs4'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['UV4Kind']),
_0x56de8c['hasUVs5'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['UV5Kind']),
_0x56de8c['hasUVs6'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['UV6Kind']),
_0x56de8c['hasColors'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['ColorKind']),
_0x56de8c['hasMatricesIndices'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['MatricesIndicesKind']),
_0x56de8c['hasMatricesWeights'] && _0xd5a9ca['_delayInfo']['push'](_0x566195['b']['MatricesWeightsKind']),
_0xd5a9ca['_delayLoadingFunction'] = _0x3ce75b['a']['_ImportGeometry'],
_0x38d900['a']['ForceFullSceneLoadingForIncremental'] && _0xd5a9ca['_checkDelayState']()) : _0x3ce75b['a']['_ImportGeometry'](_0x56de8c, _0xd5a9ca),
_0x56de8c['materialId'] ? _0xd5a9ca['setMaterialByID'](_0x56de8c['materialId']) : _0xd5a9ca['material'] = null,
_0x56de8c['morphTargetManagerId'] > -0x1 && (_0xd5a9ca['morphTargetManager'] = _0x192270['getMorphTargetManagerById'](_0x56de8c['morphTargetManagerId'])),
_0x56de8c['skeletonId'] > -0x1 && (_0xd5a9ca['skeleton'] = _0x192270['getLastSkeletonByID'](_0x56de8c['skeletonId']),
_0x56de8c['numBoneInfluencers'] && (_0xd5a9ca['numBoneInfluencers'] = _0x56de8c['numBoneInfluencers'])),
_0x56de8c['animations']) {
for (var _0x51c291 = 0x0; _0x51c291 < _0x56de8c['animations']['length']; _0x51c291++) {
var _0x2db79e = _0x56de8c['animations'][_0x51c291];
(_0x3ec65a = _0x4d4b99['a']['GetClass']('BABYLON.Animation')) && _0xd5a9ca['animations']['push'](_0x3ec65a['Parse'](_0x2db79e));
}
_0x3de53f['a']['ParseAnimationRanges'](_0xd5a9ca, _0x56de8c, _0x192270);
}
if (_0x56de8c['autoAnimate'] && _0x192270['beginAnimation'](_0xd5a9ca, _0x56de8c['autoAnimateFrom'], _0x56de8c['autoAnimateTo'], _0x56de8c['autoAnimateLoop'], _0x56de8c['autoAnimateSpeed'] || 0x1),
_0x56de8c['layerMask'] && !isNaN(_0x56de8c['layerMask']) ? _0xd5a9ca['layerMask'] = Math['abs'](parseInt(_0x56de8c['layerMask'])) : _0xd5a9ca['layerMask'] = 0xfffffff,
_0x56de8c['physicsImpostor'] && _0x4dc7f5['_PhysicsImpostorParser'](_0x192270, _0xd5a9ca, _0x56de8c),
_0x56de8c['lodMeshIds'] && (_0xd5a9ca['_waitingData']['lods'] = {
'ids': _0x56de8c['lodMeshIds'],
'distances': _0x56de8c['lodDistances'] ? _0x56de8c['lodDistances'] : null,
'coverages': _0x56de8c['lodCoverages'] ? _0x56de8c['lodCoverages'] : null
}),
_0x56de8c['instances'])
for (var _0x4dd95e = 0x0; _0x4dd95e < _0x56de8c['instances']['length']; _0x4dd95e++) {
var _0x2593af = _0x56de8c['instances'][_0x4dd95e]
, _0x6ede6a = _0xd5a9ca['createInstance'](_0x2593af['name']);
if (_0x2593af['id'] && (_0x6ede6a['id'] = _0x2593af['id']),
_0xfac2e0['a'] && (_0x2593af['tags'] ? _0xfac2e0['a']['AddTagsTo'](_0x6ede6a, _0x2593af['tags']) : _0xfac2e0['a']['AddTagsTo'](_0x6ede6a, _0x56de8c['tags'])),
_0x6ede6a['position'] = _0x564b55['x']['FromArray'](_0x2593af['position']),
void 0x0 !== _0x2593af['metadata'] && (_0x6ede6a['metadata'] = _0x2593af['metadata']),
_0x2593af['parentId'] && (_0x6ede6a['_waitingParentId'] = _0x2593af['parentId']),
_0x2593af['rotationQuaternion'] ? _0x6ede6a['rotationQuaternion'] = _0x564b55['q']['FromArray'](_0x2593af['rotationQuaternion']) : _0x2593af['rotation'] && (_0x6ede6a['rotation'] = _0x564b55['x']['FromArray'](_0x2593af['rotation'])),
_0x6ede6a['scaling'] = _0x564b55['x']['FromArray'](_0x2593af['scaling']),
null != _0x2593af['checkCollisions'] && null != _0x2593af['checkCollisions'] && (_0x6ede6a['checkCollisions'] = _0x2593af['checkCollisions']),
null != _0x2593af['pickable'] && null != _0x2593af['pickable'] && (_0x6ede6a['isPickable'] = _0x2593af['pickable']),
null != _0x2593af['showBoundingBox'] && null != _0x2593af['showBoundingBox'] && (_0x6ede6a['showBoundingBox'] = _0x2593af['showBoundingBox']),
null != _0x2593af['showSubMeshesBoundingBox'] && null != _0x2593af['showSubMeshesBoundingBox'] && (_0x6ede6a['showSubMeshesBoundingBox'] = _0x2593af['showSubMeshesBoundingBox']),
null != _0x2593af['alphaIndex'] && null != _0x2593af['showSubMeshesBoundingBox'] && (_0x6ede6a['alphaIndex'] = _0x2593af['alphaIndex']),
_0x2593af['physicsImpostor'] && _0x4dc7f5['_PhysicsImpostorParser'](_0x192270, _0x6ede6a, _0x2593af),
_0x2593af['animations']) {
for (_0x51c291 = 0x0; _0x51c291 < _0x2593af['animations']['length']; _0x51c291++) {
var _0x3ec65a;
_0x2db79e = _0x2593af['animations'][_0x51c291],
(_0x3ec65a = _0x4d4b99['a']['GetClass']('BABYLON.Animation')) && _0x6ede6a['animations']['push'](_0x3ec65a['Parse'](_0x2db79e));
}
_0x3de53f['a']['ParseAnimationRanges'](_0x6ede6a, _0x2593af, _0x192270),
_0x2593af['autoAnimate'] && _0x192270['beginAnimation'](_0x6ede6a, _0x2593af['autoAnimateFrom'], _0x2593af['autoAnimateTo'], _0x2593af['autoAnimateLoop'], _0x2593af['autoAnimateSpeed'] || 0x1);
}
}
return _0xd5a9ca;
}
,
_0x4dc7f5['CreateRibbon'] = function(_0x50c5a4, _0x178cd0, _0x43ce30, _0x47e368, _0x70ad2f, _0x1232f6, _0x47eaf8, _0x448826, _0x5cd6fa) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateDisc'] = function(_0x4d6b6b, _0x499e26, _0x465c03, _0xc3afea, _0x37d0a8, _0x42b093) {
throw void 0x0 === _0xc3afea && (_0xc3afea = null),
_0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateBox'] = function(_0x17127c, _0x6b73c2, _0xca2686, _0x2360f0, _0x539dc2) {
throw void 0x0 === _0xca2686 && (_0xca2686 = null),
_0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateSphere'] = function(_0x37e040, _0x1388a3, _0x3b942c, _0x36ac2a, _0xf06ad2, _0x8b4a4e) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateHemisphere'] = function(_0x1e04a3, _0x372b40, _0x4275a9, _0xc21a30) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateCylinder'] = function(_0x5076fe, _0x3af912, _0x5de6f6, _0x1dea4e, _0x276ea, _0x328095, _0x49985f, _0x32bb7a, _0x9ad4f8) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateTorus'] = function(_0x2e9c4c, _0x465904, _0x59b76f, _0x2f6aa0, _0x662b95, _0x3d9e0d, _0x333f64) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateTorusKnot'] = function(_0x4566e2, _0x5ef6fc, _0x2d9f2e, _0x46f4f4, _0xfc774f, _0x2816f8, _0x50fbb5, _0x17e151, _0x207980, _0x26aaa1) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateLines'] = function(_0x167a60, _0x41afea, _0x142cf0, _0x1719ea, _0x8a3893) {
throw void 0x0 === _0x142cf0 && (_0x142cf0 = null),
void 0x0 === _0x1719ea && (_0x1719ea = !0x1),
void 0x0 === _0x8a3893 && (_0x8a3893 = null),
_0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateDashedLines'] = function(_0x840bb9, _0x436bae, _0x2845b4, _0xfb42ac, _0xd639a2, _0xa498df, _0x107228, _0x5222fe) {
throw void 0x0 === _0xa498df && (_0xa498df = null),
_0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreatePolygon'] = function(_0xc1247d, _0x327752, _0x2b9a5c, _0x5aae5c, _0xae49c0, _0x4eaf0e, _0x5698e8) {
throw void 0x0 === _0x5698e8 && (_0x5698e8 = earcut),
_0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['ExtrudePolygon'] = function(_0x1604b4, _0x2442e6, _0x15c156, _0x3a53b2, _0x2a94e6, _0x58ed3b, _0x5f4b12, _0x4568da) {
throw void 0x0 === _0x4568da && (_0x4568da = earcut),
_0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['ExtrudeShape'] = function(_0x1ae7b4, _0x5e0a6c, _0x306c08, _0x42a4d2, _0x52c8, _0x5f54eb, _0x2565bc, _0x2602df, _0x47e67a, _0x1a3544) {
throw void 0x0 === _0x2565bc && (_0x2565bc = null),
_0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['ExtrudeShapeCustom'] = function(_0x138efc, _0x1f908c, _0x290f1e, _0x32de40, _0x341c01, _0x45bfb8, _0x141cbf, _0x1daa1d, _0x21f248, _0x124537, _0x18b087, _0x10e93c) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateLathe'] = function(_0x44d5d6, _0x21cf39, _0x24c702, _0x30dde0, _0x53df9b, _0x10d6f6, _0x4e196a) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreatePlane'] = function(_0x5e9933, _0x3beac5, _0x344777, _0x5b9ffd, _0x47a505) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateGround'] = function(_0x3e470d, _0x275935, _0x16779f, _0x1553f3, _0x547607, _0x224731) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateTiledGround'] = function(_0x25e2d9, _0x236ffa, _0x4bfa40, _0x239e7b, _0x3fa5bc, _0x3f6cb4, _0xd938af, _0x8b1727, _0x45e02e) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateGroundFromHeightMap'] = function(_0x28184c, _0x3cd04a, _0x407dc5, _0x5ae2d6, _0x58d4a1, _0x52c31d, _0x43a4ab, _0x4eb9fe, _0x382ee2, _0x56f190, _0x1e0de1) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateTube'] = function(_0x2c024f, _0x23ae81, _0x470018, _0x5429af, _0x329a5f, _0x355e49, _0x425423, _0x4a8159, _0x2c6e74, _0x5b2377) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreatePolyhedron'] = function(_0x59462a, _0x5d3f61, _0x1b663a) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateIcoSphere'] = function(_0x79ed52, _0x518441, _0x53cb04) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['CreateDecal'] = function(_0x27f992, _0x67787e, _0x316d5c, _0x228701, _0x5ded25, _0x38d110) {
throw _0x38b7f6['a']['WarnImport']('MeshBuilder');
}
,
_0x4dc7f5['prototype']['setPositionsForCPUSkinning'] = function() {
var _0x3ebfa7 = this['_internalMeshDataInfo'];
if (!_0x3ebfa7['_sourcePositions']) {
var _0x3e7b2e = this['getVerticesData'](_0x566195['b']['PositionKind']);
if (!_0x3e7b2e)
return _0x3ebfa7['_sourcePositions'];
_0x3ebfa7['_sourcePositions'] = new Float32Array(_0x3e7b2e),
this['isVertexBufferUpdatable'](_0x566195['b']['PositionKind']) || this['setVerticesData'](_0x566195['b']['PositionKind'], _0x3e7b2e, !0x0);
}
return _0x3ebfa7['_sourcePositions'];
}
,
_0x4dc7f5['prototype']['setNormalsForCPUSkinning'] = function() {
var _0xc13280 = this['_internalMeshDataInfo'];
if (!_0xc13280['_sourceNormals']) {
var _0x2eea52 = this['getVerticesData'](_0x566195['b']['NormalKind']);
if (!_0x2eea52)
return _0xc13280['_sourceNormals'];
_0xc13280['_sourceNormals'] = new Float32Array(_0x2eea52),
this['isVertexBufferUpdatable'](_0x566195['b']['NormalKind']) || this['setVerticesData'](_0x566195['b']['NormalKind'], _0x2eea52, !0x0);
}
return _0xc13280['_sourceNormals'];
}
,
_0x4dc7f5['prototype']['applySkeleton'] = function(_0x426063) {
if (!this['geometry'])
return this;
if (this['geometry']['_softwareSkinningFrameId'] == this['getScene']()['getFrameId']())
return this;
if (this['geometry']['_softwareSkinningFrameId'] = this['getScene']()['getFrameId'](),
!this['isVerticesDataPresent'](_0x566195['b']['PositionKind']))
return this;
if (!this['isVerticesDataPresent'](_0x566195['b']['NormalKind']))
return this;
if (!this['isVerticesDataPresent'](_0x566195['b']['MatricesIndicesKind']))
return this;
if (!this['isVerticesDataPresent'](_0x566195['b']['MatricesWeightsKind']))
return this;
var _0x345d16 = this['_internalMeshDataInfo'];
if (!_0x345d16['_sourcePositions']) {
var _0x4b10 = this['subMeshes']['slice']();
this['setPositionsForCPUSkinning'](),
this['subMeshes'] = _0x4b10;
}
_0x345d16['_sourceNormals'] || this['setNormalsForCPUSkinning']();
var _0x3759c3 = this['getVerticesData'](_0x566195['b']['PositionKind']);
if (!_0x3759c3)
return this;
_0x3759c3 instanceof Float32Array || (_0x3759c3 = new Float32Array(_0x3759c3));
var _0x5284b9 = this['getVerticesData'](_0x566195['b']['NormalKind']);
if (!_0x5284b9)
return this;
_0x5284b9 instanceof Float32Array || (_0x5284b9 = new Float32Array(_0x5284b9));
var _0x329f75 = this['getVerticesData'](_0x566195['b']['MatricesIndicesKind'])
, _0x329ff2 = this['getVerticesData'](_0x566195['b']['MatricesWeightsKind']);
if (!_0x329ff2 || !_0x329f75)
return this;
for (var _0xc7dc49, _0x379661 = this['numBoneInfluencers'] > 0x4, _0xa879fd = _0x379661 ? this['getVerticesData'](_0x566195['b']['MatricesIndicesExtraKind']) : null, _0x454b61 = _0x379661 ? this['getVerticesData'](_0x566195['b']['MatricesWeightsExtraKind']) : null, _0x48bd9a = _0x426063['getTransformMatrices'](this), _0xbf776e = _0x564b55['x']['Zero'](), _0x5e489a = new _0x564b55['j'](), _0x471b22 = new _0x564b55['j'](), _0x36144a = 0x0, _0x3a97d8 = 0x0; _0x3a97d8 < _0x3759c3['length']; _0x3a97d8 += 0x3,
_0x36144a += 0x4) {
var _0x46ebd3;
for (_0xc7dc49 = 0x0; _0xc7dc49 < 0x4; _0xc7dc49++)
(_0x46ebd3 = _0x329ff2[_0x36144a + _0xc7dc49]) > 0x0 && (_0x564b55['j']['FromFloat32ArrayToRefScaled'](_0x48bd9a, Math['floor'](0x10 * _0x329f75[_0x36144a + _0xc7dc49]), _0x46ebd3, _0x471b22),
_0x5e489a['addToSelf'](_0x471b22));
if (_0x379661)
for (_0xc7dc49 = 0x0; _0xc7dc49 < 0x4; _0xc7dc49++)
(_0x46ebd3 = _0x454b61[_0x36144a + _0xc7dc49]) > 0x0 && (_0x564b55['j']['FromFloat32ArrayToRefScaled'](_0x48bd9a, Math['floor'](0x10 * _0xa879fd[_0x36144a + _0xc7dc49]), _0x46ebd3, _0x471b22),
_0x5e489a['addToSelf'](_0x471b22));
_0x564b55['x']['TransformCoordinatesFromFloatsToRef'](_0x345d16['_sourcePositions'][_0x3a97d8], _0x345d16['_sourcePositions'][_0x3a97d8 + 0x1], _0x345d16['_sourcePositions'][_0x3a97d8 + 0x2], _0x5e489a, _0xbf776e),
_0xbf776e['toArray'](_0x3759c3, _0x3a97d8),
_0x564b55['x']['TransformNormalFromFloatsToRef'](_0x345d16['_sourceNormals'][_0x3a97d8], _0x345d16['_sourceNormals'][_0x3a97d8 + 0x1], _0x345d16['_sourceNormals'][_0x3a97d8 + 0x2], _0x5e489a, _0xbf776e),
_0xbf776e['toArray'](_0x5284b9, _0x3a97d8),
_0x5e489a['reset']();
}
return this['updateVerticesData'](_0x566195['b']['PositionKind'], _0x3759c3),
this['updateVerticesData'](_0x566195['b']['NormalKind'], _0x5284b9),
this;
}
,
_0x4dc7f5['MinMax'] = function(_0x29af1b) {
var _0x18a5fd = null
, _0x34feb6 = null;
return _0x29af1b['forEach'](function(_0x20e7c0) {
var _0x5ceafe = _0x20e7c0['getBoundingInfo']()['boundingBox'];
_0x18a5fd && _0x34feb6 ? (_0x18a5fd['minimizeInPlace'](_0x5ceafe['minimumWorld']),
_0x34feb6['maximizeInPlace'](_0x5ceafe['maximumWorld'])) : (_0x18a5fd = _0x5ceafe['minimumWorld'],
_0x34feb6 = _0x5ceafe['maximumWorld']);
}),
_0x18a5fd && _0x34feb6 ? {
'min': _0x18a5fd,
'max': _0x34feb6
} : {
'min': _0x564b55['x']['Zero'](),
'max': _0x564b55['x']['Zero']()
};
}
,
_0x4dc7f5['Center'] = function(_0x2d6a40) {
var _0x2c5af5 = _0x2d6a40 instanceof Array ? _0x4dc7f5['MinMax'](_0x2d6a40) : _0x2d6a40;
return _0x564b55['x']['Center'](_0x2c5af5['min'], _0x2c5af5['max']);
}
,
_0x4dc7f5['MergeMeshes'] = function(_0x147e8f, _0x30df23, _0x3ee96d, _0x21ac02, _0x23f419, _0x82f489) {
var _0xb8178a;
if (void 0x0 === _0x30df23 && (_0x30df23 = !0x0),
!_0x3ee96d) {
var _0x473172 = 0x0;
for (_0xb8178a = 0x0; _0xb8178a < _0x147e8f['length']; _0xb8178a++)
if (_0x147e8f[_0xb8178a] && (_0x473172 += _0x147e8f[_0xb8178a]['getTotalVertices']()) > 0x10000)
return _0x651ae7['a']['Warn']('Cannot\x20merge\x20meshes\x20because\x20resulting\x20mesh\x20will\x20have\x20more\x20than\x2065536\x20vertices.\x20Please\x20use\x20allow32BitsIndices\x20=\x20true\x20to\x20use\x2032\x20bits\x20indices'),
null;
}
if (_0x82f489) {
var _0x5a68f9, _0x2f5747, _0x3f3868 = null;
_0x23f419 = !0x1;
}
var _0x3b3701, _0x247701 = new Array(), _0x34ab37 = new Array(), _0xceec55 = null, _0x568c64 = new Array(), _0x4772ef = null;
for (_0xb8178a = 0x0; _0xb8178a < _0x147e8f['length']; _0xb8178a++)
if (_0x147e8f[_0xb8178a]) {
var _0x2cf554 = _0x147e8f[_0xb8178a];
if (_0x2cf554['isAnInstance'])
return _0x651ae7['a']['Warn']('Cannot\x20merge\x20instance\x20meshes.'),
null;
var _0x5ab3ad = _0x2cf554['computeWorldMatrix'](!0x0);
if ((_0x3b3701 = _0x3321ce['a']['ExtractFromMesh'](_0x2cf554, !0x0, !0x0))['transform'](_0x5ab3ad),
_0xceec55 ? _0xceec55['merge'](_0x3b3701, _0x3ee96d) : (_0xceec55 = _0x3b3701,
_0x4772ef = _0x2cf554),
_0x23f419 && _0x568c64['push'](_0x2cf554['getTotalIndices']()),
_0x82f489)
if (_0x2cf554['material']) {
var _0x30e7fa = _0x2cf554['material'];
if (_0x30e7fa instanceof _0x15c00['a']) {
for (_0x2f5747 = 0x0; _0x2f5747 < _0x30e7fa['subMaterials']['length']; _0x2f5747++)
_0x247701['indexOf'](_0x30e7fa['subMaterials'][_0x2f5747]) < 0x0 && _0x247701['push'](_0x30e7fa['subMaterials'][_0x2f5747]);
for (_0x5a68f9 = 0x0; _0x5a68f9 < _0x2cf554['subMeshes']['length']; _0x5a68f9++)
_0x34ab37['push'](_0x247701['indexOf'](_0x30e7fa['subMaterials'][_0x2cf554['subMeshes'][_0x5a68f9]['materialIndex']])),
_0x568c64['push'](_0x2cf554['subMeshes'][_0x5a68f9]['indexCount']);
} else
for (_0x247701['indexOf'](_0x30e7fa) < 0x0 && _0x247701['push'](_0x30e7fa),
_0x5a68f9 = 0x0; _0x5a68f9 < _0x2cf554['subMeshes']['length']; _0x5a68f9++)
_0x34ab37['push'](_0x247701['indexOf'](_0x30e7fa)),
_0x568c64['push'](_0x2cf554['subMeshes'][_0x5a68f9]['indexCount']);
} else
for (_0x5a68f9 = 0x0; _0x5a68f9 < _0x2cf554['subMeshes']['length']; _0x5a68f9++)
_0x34ab37['push'](0x0),
_0x568c64['push'](_0x2cf554['subMeshes'][_0x5a68f9]['indexCount']);
}
if (_0x4772ef = _0x4772ef,
_0x21ac02 || (_0x21ac02 = new _0x4dc7f5(_0x4772ef['name'] + '_merged',_0x4772ef['getScene']())),
_0xceec55['applyToMesh'](_0x21ac02),
_0x21ac02['checkCollisions'] = _0x4772ef['checkCollisions'],
_0x30df23)
for (_0xb8178a = 0x0; _0xb8178a < _0x147e8f['length']; _0xb8178a++)
_0x147e8f[_0xb8178a] && _0x147e8f[_0xb8178a]['dispose']();
if (_0x23f419 || _0x82f489) {
_0x21ac02['releaseSubMeshes'](),
_0xb8178a = 0x0;
for (var _0xaf6371 = 0x0; _0xb8178a < _0x568c64['length']; )
_0x1d85ce['b']['CreateFromIndices'](0x0, _0xaf6371, _0x568c64[_0xb8178a], _0x21ac02),
_0xaf6371 += _0x568c64[_0xb8178a],
_0xb8178a++;
}
if (_0x82f489) {
for ((_0x3f3868 = new _0x15c00['a'](_0x4772ef['name'] + '_merged',_0x4772ef['getScene']()))['subMaterials'] = _0x247701,
_0x5a68f9 = 0x0; _0x5a68f9 < _0x21ac02['subMeshes']['length']; _0x5a68f9++)
_0x21ac02['subMeshes'][_0x5a68f9]['materialIndex'] = _0x34ab37[_0x5a68f9];
_0x21ac02['material'] = _0x3f3868;
} else
_0x21ac02['material'] = _0x4772ef['material'];
return _0x21ac02;
}
,
_0x4dc7f5['prototype']['addInstance'] = function(_0x22ca23) {
_0x22ca23['_indexInSourceMeshInstanceArray'] = this['instances']['length'],
this['instances']['push'](_0x22ca23);
}
,
_0x4dc7f5['prototype']['removeInstance'] = function(_0x5b25ad) {
var _0x38f2de = _0x5b25ad['_indexInSourceMeshInstanceArray'];
if (-0x1 != _0x38f2de) {
if (_0x38f2de !== this['instances']['length'] - 0x1) {
var _0x69b5ed = this['instances'][this['instances']['length'] - 0x1];
this['instances'][_0x38f2de] = _0x69b5ed,
_0x69b5ed['_indexInSourceMeshInstanceArray'] = _0x38f2de;
}
_0x5b25ad['_indexInSourceMeshInstanceArray'] = -0x1,
this['instances']['pop']();
}
}
,
_0x4dc7f5['FRONTSIDE'] = _0x3321ce['a']['FRONTSIDE'],
_0x4dc7f5['BACKSIDE'] = _0x3321ce['a']['BACKSIDE'],
_0x4dc7f5['DOUBLESIDE'] = _0x3321ce['a']['DOUBLESIDE'],
_0x4dc7f5['DEFAULTSIDE'] = _0x3321ce['a']['DEFAULTSIDE'],
_0x4dc7f5['NO_CAP'] = 0x0,
_0x4dc7f5['CAP_START'] = 0x1,
_0x4dc7f5['CAP_END'] = 0x2,
_0x4dc7f5['CAP_ALL'] = 0x3,
_0x4dc7f5['_GroundMeshParser'] = function(_0x341f06, _0x52311a) {
throw _0x38b7f6['a']['WarnImport']('GroundMesh');
}
,
_0x4dc7f5;
}(_0x223115['a']);
}
, function(_0x17442c, _0x1d8ab1, _0x2a7302) {
'use strict';
_0x2a7302['d'](_0x1d8ab1, 'a', function() {
return _0x35d13f;
});
var _0x35d13f = function() {
function _0x29b10e() {}
return _0x29b10e['WithinEpsilon'] = function(_0x250cf8, _0x526b3a, _0x57ec62) {
void 0x0 === _0x57ec62 && (_0x57ec62 = 1.401298e-45);
var _0x4430b9 = _0x250cf8 - _0x526b3a;
return -_0x57ec62 <= _0x4430b9 && _0x4430b9 <= _0x57ec62;
}
,
_0x29b10e['ToHex'] = function(_0x591244) {
var _0xcf97e9 = _0x591244['toString'](0x10);
return _0x591244 <= 0xf ? ('0' + _0xcf97e9)['toUpperCase']() : _0xcf97e9['toUpperCase']();
}
,
_0x29b10e['Sign'] = function(_0xf89893) {
return 0x0 === (_0xf89893 = +_0xf89893) || isNaN(_0xf89893) ? _0xf89893 : _0xf89893 > 0x0 ? 0x1 : -0x1;
}
,
_0x29b10e['Clamp'] = function(_0x234df4, _0x497991, _0x480958) {
return void 0x0 === _0x497991 && (_0x497991 = 0x0),
void 0x0 === _0x480958 && (_0x480958 = 0x1),
Math['min'](_0x480958, Math['max'](_0x497991, _0x234df4));
}
,
_0x29b10e['Log2'] = function(_0x50e29d) {
return Math['log'](_0x50e29d) * Math['LOG2E'];
}
,
_0x29b10e['Repeat'] = function(_0x17060e, _0x243f1e) {
return _0x17060e - Math['floor'](_0x17060e / _0x243f1e) * _0x243f1e;
}
,
_0x29b10e['Normalize'] = function(_0x26457a, _0x1b757d, _0x14148d) {
return (_0x26457a - _0x1b757d) / (_0x14148d - _0x1b757d);
}
,
_0x29b10e['Denormalize'] = function(_0x167e2d, _0x34218e, _0x585f55) {
return _0x167e2d * (_0x585f55 - _0x34218e) + _0x34218e;
}
,
_0x29b10e['DeltaAngle'] = function(_0x79602c, _0x715287) {
var _0xcf5845 = _0x29b10e['Repeat'](_0x715287 - _0x79602c, 0x168);
return _0xcf5845 > 0xb4 && (_0xcf5845 -= 0x168),
_0xcf5845;
}
,
_0x29b10e['PingPong'] = function(_0x1a074d, _0xf1db7b) {
var _0x2376ba = _0x29b10e['Repeat'](_0x1a074d, 0x2 * _0xf1db7b);
return _0xf1db7b - Math['abs'](_0x2376ba - _0xf1db7b);
}
,
_0x29b10e['SmoothStep'] = function(_0x28adc0, _0x4f9432, _0x531c62) {
var _0x21f42a = _0x29b10e['Clamp'](_0x531c62);
return _0x4f9432 * (_0x21f42a = -0x2 * _0x21f42a * _0x21f42a * _0x21f42a + 0x3 * _0x21f42a * _0x21f42a) + _0x28adc0 * (0x1 - _0x21f42a);
}
,
_0x29b10e['MoveTowards'] = function(_0x5a8f91, _0x2c61de, _0x21ff43) {
return Math['abs'](_0x2c61de - _0x5a8f91) <= _0x21ff43 ? _0x2c61de : _0x5a8f91 + _0x29b10e['Sign'](_0x2c61de - _0x5a8f91) * _0x21ff43;
}
,
_0x29b10e['MoveTowardsAngle'] = function(_0x250241, _0x13ef0b, _0x268e7d) {
var _0x5b19df = _0x29b10e['DeltaAngle'](_0x250241, _0x13ef0b)
, _0x2cdc76 = 0x0;
return -_0x268e7d < _0x5b19df && _0x5b19df < _0x268e7d ? _0x2cdc76 = _0x13ef0b : (_0x13ef0b = _0x250241 + _0x5b19df,
_0x2cdc76 = _0x29b10e['MoveTowards'](_0x250241, _0x13ef0b, _0x268e7d)),
_0x2cdc76;
}
,
_0x29b10e['Lerp'] = function(_0x3c4a01, _0x8efb3d, _0x2f1049) {
return _0x3c4a01 + (_0x8efb3d - _0x3c4a01) * _0x2f1049;
}
,
_0x29b10e['LerpAngle'] = function(_0x5bcd28, _0x4025d6, _0x196318) {
var _0x357bbf = _0x29b10e['Repeat'](_0x4025d6 - _0x5bcd28, 0x168);
return _0x357bbf > 0xb4 && (_0x357bbf -= 0x168),
_0x5bcd28 + _0x357bbf * _0x29b10e['Clamp'](_0x196318);
}
,
_0x29b10e['InverseLerp'] = function(_0x299af8, _0x4a6677, _0x5563d0) {
return _0x299af8 != _0x4a6677 ? _0x29b10e['Clamp']((_0x5563d0 - _0x299af8) / (_0x4a6677 - _0x299af8)) : 0x0;
}
,
_0x29b10e['Hermite'] = function(_0x1b2882, _0x590941, _0x2f6c29, _0x5ac836, _0x400625) {
var _0x4a4795 = _0x400625 * _0x400625
, _0x47b459 = _0x400625 * _0x4a4795;
return _0x1b2882 * (0x2 * _0x47b459 - 0x3 * _0x4a4795 + 0x1) + _0x2f6c29 * (-0x2 * _0x47b459 + 0x3 * _0x4a4795) + _0x590941 * (_0x47b459 - 0x2 * _0x4a4795 + _0x400625) + _0x5ac836 * (_0x47b459 - _0x4a4795);
}
,
_0x29b10e['RandomRange'] = function(_0x3b592a, _0x409f8e) {
return _0x3b592a === _0x409f8e ? _0x3b592a : Math['random']() * (_0x409f8e - _0x3b592a) + _0x3b592a;
}
,
_0x29b10e['RangeToPercent'] = function(_0x1495c7, _0xb8e5db, _0x3118c3) {
return (_0x1495c7 - _0xb8e5db) / (_0x3118c3 - _0xb8e5db);
}
,
_0x29b10e['PercentToRange'] = function(_0x52d712, _0x438ae7, _0x312719) {
return (_0x312719 - _0x438ae7) * _0x52d712 + _0x438ae7;
}
,
_0x29b10e['NormalizeRadians'] = function(_0x1dc64c) {
return _0x1dc64c -= _0x29b10e['TwoPi'] * Math['floor']((_0x1dc64c + Math['PI']) / _0x29b10e['TwoPi']);
}
,
_0x29b10e['TwoPi'] = 0x2 * Math['PI'],
_0x29b10e;
}();
}
, function(_0x4481f3, _0x3f61e7, _0x2a4040) {
'use strict';
_0x2a4040['d'](_0x3f61e7, 'a', function() {
return _0x32a302;
});
var _0x39cf6f = _0x2a4040(0x0)
, _0x5e422a = _0x2a4040(0x4)
, _0x563921 = _0x2a4040(0x13)
, _0x32a302 = function() {
function _0x4021bf() {}
return _0x4021bf['prototype']['set'] = function(_0x80d2b4, _0x35ecd2) {
switch (_0x35ecd2) {
case _0x5e422a['b']['PositionKind']:
this['positions'] = _0x80d2b4;
break;
case _0x5e422a['b']['NormalKind']:
this['normals'] = _0x80d2b4;
break;
case _0x5e422a['b']['TangentKind']:
this['tangents'] = _0x80d2b4;
break;
case _0x5e422a['b']['UVKind']:
this['uvs'] = _0x80d2b4;
break;
case _0x5e422a['b']['UV2Kind']:
this['uvs2'] = _0x80d2b4;
break;
case _0x5e422a['b']['UV3Kind']:
this['uvs3'] = _0x80d2b4;
break;
case _0x5e422a['b']['UV4Kind']:
this['uvs4'] = _0x80d2b4;
break;
case _0x5e422a['b']['UV5Kind']:
this['uvs5'] = _0x80d2b4;
break;
case _0x5e422a['b']['UV6Kind']:
this['uvs6'] = _0x80d2b4;
break;
case _0x5e422a['b']['ColorKind']:
this['colors'] = _0x80d2b4;
break;
case _0x5e422a['b']['MatricesIndicesKind']:
this['matricesIndices'] = _0x80d2b4;
break;
case _0x5e422a['b']['MatricesWeightsKind']:
this['matricesWeights'] = _0x80d2b4;
break;
case _0x5e422a['b']['MatricesIndicesExtraKind']:
this['matricesIndicesExtra'] = _0x80d2b4;
break;
case _0x5e422a['b']['MatricesWeightsExtraKind']:
this['matricesWeightsExtra'] = _0x80d2b4;
}
}
,
_0x4021bf['prototype']['applyToMesh'] = function(_0x301d7c, _0x5aa767) {
return this['_applyTo'](_0x301d7c, _0x5aa767),
this;
}
,
_0x4021bf['prototype']['applyToGeometry'] = function(_0x211db9, _0x5c69f6) {
return this['_applyTo'](_0x211db9, _0x5c69f6),
this;
}
,
_0x4021bf['prototype']['updateMesh'] = function(_0x3e87bc) {
return this['_update'](_0x3e87bc),
this;
}
,
_0x4021bf['prototype']['updateGeometry'] = function(_0x31c33c) {
return this['_update'](_0x31c33c),
this;
}
,
_0x4021bf['prototype']['_applyTo'] = function(_0x299e53, _0x2ca40d) {
return void 0x0 === _0x2ca40d && (_0x2ca40d = !0x1),
this['positions'] && _0x299e53['setVerticesData'](_0x5e422a['b']['PositionKind'], this['positions'], _0x2ca40d),
this['normals'] && _0x299e53['setVerticesData'](_0x5e422a['b']['NormalKind'], this['normals'], _0x2ca40d),
this['tangents'] && _0x299e53['setVerticesData'](_0x5e422a['b']['TangentKind'], this['tangents'], _0x2ca40d),
this['uvs'] && _0x299e53['setVerticesData'](_0x5e422a['b']['UVKind'], this['uvs'], _0x2ca40d),
this['uvs2'] && _0x299e53['setVerticesData'](_0x5e422a['b']['UV2Kind'], this['uvs2'], _0x2ca40d),
this['uvs3'] && _0x299e53['setVerticesData'](_0x5e422a['b']['UV3Kind'], this['uvs3'], _0x2ca40d),
this['uvs4'] && _0x299e53['setVerticesData'](_0x5e422a['b']['UV4Kind'], this['uvs4'], _0x2ca40d),
this['uvs5'] && _0x299e53['setVerticesData'](_0x5e422a['b']['UV5Kind'], this['uvs5'], _0x2ca40d),
this['uvs6'] && _0x299e53['setVerticesData'](_0x5e422a['b']['UV6Kind'], this['uvs6'], _0x2ca40d),
this['colors'] && _0x299e53['setVerticesData'](_0x5e422a['b']['ColorKind'], this['colors'], _0x2ca40d),
this['matricesIndices'] && _0x299e53['setVerticesData'](_0x5e422a['b']['MatricesIndicesKind'], this['matricesIndices'], _0x2ca40d),
this['matricesWeights'] && _0x299e53['setVerticesData'](_0x5e422a['b']['MatricesWeightsKind'], this['matricesWeights'], _0x2ca40d),
this['matricesIndicesExtra'] && _0x299e53['setVerticesData'](_0x5e422a['b']['MatricesIndicesExtraKind'], this['matricesIndicesExtra'], _0x2ca40d),
this['matricesWeightsExtra'] && _0x299e53['setVerticesData'](_0x5e422a['b']['MatricesWeightsExtraKind'], this['matricesWeightsExtra'], _0x2ca40d),
this['indices'] ? _0x299e53['setIndices'](this['indices'], null, _0x2ca40d) : _0x299e53['setIndices']([], null),
this;
}
,
_0x4021bf['prototype']['_update'] = function(_0x13239e, _0xa351c5, _0x30939e) {
return this['positions'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['PositionKind'], this['positions'], _0xa351c5, _0x30939e),
this['normals'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['NormalKind'], this['normals'], _0xa351c5, _0x30939e),
this['tangents'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['TangentKind'], this['tangents'], _0xa351c5, _0x30939e),
this['uvs'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['UVKind'], this['uvs'], _0xa351c5, _0x30939e),
this['uvs2'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['UV2Kind'], this['uvs2'], _0xa351c5, _0x30939e),
this['uvs3'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['UV3Kind'], this['uvs3'], _0xa351c5, _0x30939e),
this['uvs4'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['UV4Kind'], this['uvs4'], _0xa351c5, _0x30939e),
this['uvs5'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['UV5Kind'], this['uvs5'], _0xa351c5, _0x30939e),
this['uvs6'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['UV6Kind'], this['uvs6'], _0xa351c5, _0x30939e),
this['colors'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['ColorKind'], this['colors'], _0xa351c5, _0x30939e),
this['matricesIndices'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['MatricesIndicesKind'], this['matricesIndices'], _0xa351c5, _0x30939e),
this['matricesWeights'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['MatricesWeightsKind'], this['matricesWeights'], _0xa351c5, _0x30939e),
this['matricesIndicesExtra'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['MatricesIndicesExtraKind'], this['matricesIndicesExtra'], _0xa351c5, _0x30939e),
this['matricesWeightsExtra'] && _0x13239e['updateVerticesData'](_0x5e422a['b']['MatricesWeightsExtraKind'], this['matricesWeightsExtra'], _0xa351c5, _0x30939e),
this['indices'] && _0x13239e['setIndices'](this['indices'], null),
this;
}
,
_0x4021bf['prototype']['transform'] = function(_0x2566ea) {
var _0x3db136, _0x27bfcc = _0x2566ea['m'][0x0] * _0x2566ea['m'][0x5] * _0x2566ea['m'][0xa] < 0x0, _0x43b2ab = _0x39cf6f['x']['Zero']();
if (this['positions']) {
var _0x125bc8 = _0x39cf6f['x']['Zero']();
for (_0x3db136 = 0x0; _0x3db136 < this['positions']['length']; _0x3db136 += 0x3)
_0x39cf6f['x']['FromArrayToRef'](this['positions'], _0x3db136, _0x125bc8),
_0x39cf6f['x']['TransformCoordinatesToRef'](_0x125bc8, _0x2566ea, _0x43b2ab),
this['positions'][_0x3db136] = _0x43b2ab['x'],
this['positions'][_0x3db136 + 0x1] = _0x43b2ab['y'],
this['positions'][_0x3db136 + 0x2] = _0x43b2ab['z'];
}
if (this['normals']) {
var _0x3d0ac3 = _0x39cf6f['x']['Zero']();
for (_0x3db136 = 0x0; _0x3db136 < this['normals']['length']; _0x3db136 += 0x3)
_0x39cf6f['x']['FromArrayToRef'](this['normals'], _0x3db136, _0x3d0ac3),
_0x39cf6f['x']['TransformNormalToRef'](_0x3d0ac3, _0x2566ea, _0x43b2ab),
this['normals'][_0x3db136] = _0x43b2ab['x'],
this['normals'][_0x3db136 + 0x1] = _0x43b2ab['y'],
this['normals'][_0x3db136 + 0x2] = _0x43b2ab['z'];
}
if (this['tangents']) {
var _0xe62595 = _0x39cf6f['y']['Zero']()
, _0x46e6b0 = _0x39cf6f['y']['Zero']();
for (_0x3db136 = 0x0; _0x3db136 < this['tangents']['length']; _0x3db136 += 0x4)
_0x39cf6f['y']['FromArrayToRef'](this['tangents'], _0x3db136, _0xe62595),
_0x39cf6f['y']['TransformNormalToRef'](_0xe62595, _0x2566ea, _0x46e6b0),
this['tangents'][_0x3db136] = _0x46e6b0['x'],
this['tangents'][_0x3db136 + 0x1] = _0x46e6b0['y'],
this['tangents'][_0x3db136 + 0x2] = _0x46e6b0['z'],
this['tangents'][_0x3db136 + 0x3] = _0x46e6b0['w'];
}
if (_0x27bfcc && this['indices'])
for (_0x3db136 = 0x0; _0x3db136 < this['indices']['length']; _0x3db136 += 0x3) {
var _0x173228 = this['indices'][_0x3db136 + 0x1];
this['indices'][_0x3db136 + 0x1] = this['indices'][_0x3db136 + 0x2],
this['indices'][_0x3db136 + 0x2] = _0x173228;
}
return this;
}
,
_0x4021bf['prototype']['merge'] = function(_0x41991b, _0x4b65c8) {
if (void 0x0 === _0x4b65c8 && (_0x4b65c8 = !0x1),
this['_validate'](),
_0x41991b['_validate'](),
!this['normals'] != !_0x41991b['normals'] || !this['tangents'] != !_0x41991b['tangents'] || !this['uvs'] != !_0x41991b['uvs'] || !this['uvs2'] != !_0x41991b['uvs2'] || !this['uvs3'] != !_0x41991b['uvs3'] || !this['uvs4'] != !_0x41991b['uvs4'] || !this['uvs5'] != !_0x41991b['uvs5'] || !this['uvs6'] != !_0x41991b['uvs6'] || !this['colors'] != !_0x41991b['colors'] || !this['matricesIndices'] != !_0x41991b['matricesIndices'] || !this['matricesWeights'] != !_0x41991b['matricesWeights'] || !this['matricesIndicesExtra'] != !_0x41991b['matricesIndicesExtra'] || !this['matricesWeightsExtra'] != !_0x41991b['matricesWeightsExtra'])
throw new Error('Cannot\x20merge\x20vertex\x20data\x20that\x20do\x20not\x20have\x20the\x20same\x20set\x20of\x20attributes');
if (_0x41991b['indices']) {
this['indices'] || (this['indices'] = []);
var _0x36cf7d = this['positions'] ? this['positions']['length'] / 0x3 : 0x0;
if (void 0x0 !== this['indices']['BYTES_PER_ELEMENT']) {
var _0x579bf9 = this['indices']['length'] + _0x41991b['indices']['length']
, _0x48fc0b = _0x4b65c8 || this['indices']instanceof Uint32Array ? new Uint32Array(_0x579bf9) : new Uint16Array(_0x579bf9);
_0x48fc0b['set'](this['indices']);
for (var _0x39fdfb = this['indices']['length'], _0x3f7f86 = 0x0; _0x3f7f86 < _0x41991b['indices']['length']; _0x3f7f86++)
_0x48fc0b[_0x39fdfb + _0x3f7f86] = _0x41991b['indices'][_0x3f7f86] + _0x36cf7d;
this['indices'] = _0x48fc0b;
} else
for (_0x3f7f86 = 0x0; _0x3f7f86 < _0x41991b['indices']['length']; _0x3f7f86++)
this['indices']['push'](_0x41991b['indices'][_0x3f7f86] + _0x36cf7d);
}
return this['positions'] = this['_mergeElement'](this['positions'], _0x41991b['positions']),
this['normals'] = this['_mergeElement'](this['normals'], _0x41991b['normals']),
this['tangents'] = this['_mergeElement'](this['tangents'], _0x41991b['tangents']),
this['uvs'] = this['_mergeElement'](this['uvs'], _0x41991b['uvs']),
this['uvs2'] = this['_mergeElement'](this['uvs2'], _0x41991b['uvs2']),
this['uvs3'] = this['_mergeElement'](this['uvs3'], _0x41991b['uvs3']),
this['uvs4'] = this['_mergeElement'](this['uvs4'], _0x41991b['uvs4']),
this['uvs5'] = this['_mergeElement'](this['uvs5'], _0x41991b['uvs5']),
this['uvs6'] = this['_mergeElement'](this['uvs6'], _0x41991b['uvs6']),
this['colors'] = this['_mergeElement'](this['colors'], _0x41991b['colors']),
this['matricesIndices'] = this['_mergeElement'](this['matricesIndices'], _0x41991b['matricesIndices']),
this['matricesWeights'] = this['_mergeElement'](this['matricesWeights'], _0x41991b['matricesWeights']),
this['matricesIndicesExtra'] = this['_mergeElement'](this['matricesIndicesExtra'], _0x41991b['matricesIndicesExtra']),
this['matricesWeightsExtra'] = this['_mergeElement'](this['matricesWeightsExtra'], _0x41991b['matricesWeightsExtra']),
this;
}
,
_0x4021bf['prototype']['_mergeElement'] = function(_0x1ebbbc, _0x598878) {
if (!_0x1ebbbc)
return _0x598878;
if (!_0x598878)
return _0x1ebbbc;
var _0x5d7361 = _0x598878['length'] + _0x1ebbbc['length']
, _0xa643c6 = _0x1ebbbc instanceof Float32Array
, _0x4a10a5 = _0x598878 instanceof Float32Array;
if (_0xa643c6) {
var _0x48f3f6 = new Float32Array(_0x5d7361);
return _0x48f3f6['set'](_0x1ebbbc),
_0x48f3f6['set'](_0x598878, _0x1ebbbc['length']),
_0x48f3f6;
}
if (_0x4a10a5) {
var _0x20fbe2 = _0x1ebbbc['slice'](0x0)
, _0xfe1e9e = 0x0;
for (_0x5d7361 = _0x598878['length']; _0xfe1e9e < _0x5d7361; _0xfe1e9e++)
_0x20fbe2['push'](_0x598878[_0xfe1e9e]);
return _0x20fbe2;
}
return _0x1ebbbc['concat'](_0x598878);
}
,
_0x4021bf['prototype']['_validate'] = function() {
if (!this['positions'])
throw new Error('Positions\x20are\x20required');
var _0x4cf593 = function(_0x5a424f, _0x28e914) {
var _0x3fd3e5 = _0x5e422a['b']['DeduceStride'](_0x5a424f);
if (_0x28e914['length'] % _0x3fd3e5 != 0x0)
throw new Error('The\x20' + _0x5a424f + 's\x20array\x20count\x20must\x20be\x20a\x20multiple\x20of\x20' + _0x3fd3e5);
return _0x28e914['length'] / _0x3fd3e5;
}
, _0x34193c = _0x4cf593(_0x5e422a['b']['PositionKind'], this['positions'])
, _0x24f21c = function(_0x35fe4c, _0x3bf5d0) {
var _0x1fa6ab = _0x4cf593(_0x35fe4c, _0x3bf5d0);
if (_0x1fa6ab !== _0x34193c)
throw new Error('The\x20' + _0x35fe4c + 's\x20element\x20count\x20(' + _0x1fa6ab + ')\x20does\x20not\x20match\x20the\x20positions\x20count\x20(' + _0x34193c + ')');
};
this['normals'] && _0x24f21c(_0x5e422a['b']['NormalKind'], this['normals']),
this['tangents'] && _0x24f21c(_0x5e422a['b']['TangentKind'], this['tangents']),
this['uvs'] && _0x24f21c(_0x5e422a['b']['UVKind'], this['uvs']),
this['uvs2'] && _0x24f21c(_0x5e422a['b']['UV2Kind'], this['uvs2']),
this['uvs3'] && _0x24f21c(_0x5e422a['b']['UV3Kind'], this['uvs3']),
this['uvs4'] && _0x24f21c(_0x5e422a['b']['UV4Kind'], this['uvs4']),
this['uvs5'] && _0x24f21c(_0x5e422a['b']['UV5Kind'], this['uvs5']),
this['uvs6'] && _0x24f21c(_0x5e422a['b']['UV6Kind'], this['uvs6']),
this['colors'] && _0x24f21c(_0x5e422a['b']['ColorKind'], this['colors']),
this['matricesIndices'] && _0x24f21c(_0x5e422a['b']['MatricesIndicesKind'], this['matricesIndices']),
this['matricesWeights'] && _0x24f21c(_0x5e422a['b']['MatricesWeightsKind'], this['matricesWeights']),
this['matricesIndicesExtra'] && _0x24f21c(_0x5e422a['b']['MatricesIndicesExtraKind'], this['matricesIndicesExtra']),
this['matricesWeightsExtra'] && _0x24f21c(_0x5e422a['b']['MatricesWeightsExtraKind'], this['matricesWeightsExtra']);
}
,
_0x4021bf['prototype']['serialize'] = function() {
var _0x567966 = this['serialize']();
return this['positions'] && (_0x567966['positions'] = this['positions']),
this['normals'] && (_0x567966['normals'] = this['normals']),
this['tangents'] && (_0x567966['tangents'] = this['tangents']),
this['uvs'] && (_0x567966['uvs'] = this['uvs']),
this['uvs2'] && (_0x567966['uvs2'] = this['uvs2']),
this['uvs3'] && (_0x567966['uvs3'] = this['uvs3']),
this['uvs4'] && (_0x567966['uvs4'] = this['uvs4']),
this['uvs5'] && (_0x567966['uvs5'] = this['uvs5']),
this['uvs6'] && (_0x567966['uvs6'] = this['uvs6']),
this['colors'] && (_0x567966['colors'] = this['colors']),
this['matricesIndices'] && (_0x567966['matricesIndices'] = this['matricesIndices'],
_0x567966['matricesIndices']['_isExpanded'] = !0x0),
this['matricesWeights'] && (_0x567966['matricesWeights'] = this['matricesWeights']),
this['matricesIndicesExtra'] && (_0x567966['matricesIndicesExtra'] = this['matricesIndicesExtra'],
_0x567966['matricesIndicesExtra']['_isExpanded'] = !0x0),
this['matricesWeightsExtra'] && (_0x567966['matricesWeightsExtra'] = this['matricesWeightsExtra']),
_0x567966['indices'] = this['indices'],
_0x567966;
}
,
_0x4021bf['ExtractFromMesh'] = function(_0x5566e6, _0xfd6305, _0x1aaebf) {
return _0x4021bf['_ExtractFrom'](_0x5566e6, _0xfd6305, _0x1aaebf);
}
,
_0x4021bf['ExtractFromGeometry'] = function(_0x126340, _0x17f216, _0x13da39) {
return _0x4021bf['_ExtractFrom'](_0x126340, _0x17f216, _0x13da39);
}
,
_0x4021bf['_ExtractFrom'] = function(_0x43e3be, _0x503b10, _0x56d6e8) {
var _0xe077d = new _0x4021bf();
return _0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['PositionKind']) && (_0xe077d['positions'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['PositionKind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['NormalKind']) && (_0xe077d['normals'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['NormalKind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['TangentKind']) && (_0xe077d['tangents'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['TangentKind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['UVKind']) && (_0xe077d['uvs'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['UVKind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['UV2Kind']) && (_0xe077d['uvs2'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['UV2Kind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['UV3Kind']) && (_0xe077d['uvs3'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['UV3Kind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['UV4Kind']) && (_0xe077d['uvs4'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['UV4Kind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['UV5Kind']) && (_0xe077d['uvs5'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['UV5Kind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['UV6Kind']) && (_0xe077d['uvs6'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['UV6Kind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['ColorKind']) && (_0xe077d['colors'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['ColorKind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['MatricesIndicesKind']) && (_0xe077d['matricesIndices'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['MatricesIndicesKind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['MatricesWeightsKind']) && (_0xe077d['matricesWeights'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['MatricesWeightsKind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['MatricesIndicesExtraKind']) && (_0xe077d['matricesIndicesExtra'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['MatricesIndicesExtraKind'], _0x503b10, _0x56d6e8)),
_0x43e3be['isVerticesDataPresent'](_0x5e422a['b']['MatricesWeightsExtraKind']) && (_0xe077d['matricesWeightsExtra'] = _0x43e3be['getVerticesData'](_0x5e422a['b']['MatricesWeightsExtraKind'], _0x503b10, _0x56d6e8)),
_0xe077d['indices'] = _0x43e3be['getIndices'](_0x503b10, _0x56d6e8),
_0xe077d;
}
,
_0x4021bf['CreateRibbon'] = function(_0x54db63) {
throw _0x563921['a']['WarnImport']('ribbonBuilder');
}
,
_0x4021bf['CreateBox'] = function(_0x1852ca) {
throw _0x563921['a']['WarnImport']('boxBuilder');
}
,
_0x4021bf['CreateSphere'] = function(_0x31cac3) {
throw _0x563921['a']['WarnImport']('sphereBuilder');
}
,
_0x4021bf['CreateCylinder'] = function(_0x3afe11) {
throw _0x563921['a']['WarnImport']('cylinderBuilder');
}
,
_0x4021bf['CreateTorus'] = function(_0x5d12b7) {
throw _0x563921['a']['WarnImport']('torusBuilder');
}
,
_0x4021bf['CreateLineSystem'] = function(_0x582efc) {
throw _0x563921['a']['WarnImport']('linesBuilder');
}
,
_0x4021bf['CreateDashedLines'] = function(_0x30c394) {
throw _0x563921['a']['WarnImport']('linesBuilder');
}
,
_0x4021bf['CreateGround'] = function(_0x2457ca) {
throw _0x563921['a']['WarnImport']('groundBuilder');
}
,
_0x4021bf['CreateTiledGround'] = function(_0x12cd5d) {
throw _0x563921['a']['WarnImport']('groundBuilder');
}
,
_0x4021bf['CreateGroundFromHeightMap'] = function(_0x26c347) {
throw _0x563921['a']['WarnImport']('groundBuilder');
}
,
_0x4021bf['CreatePlane'] = function(_0x5f13a5) {
throw _0x563921['a']['WarnImport']('planeBuilder');
}
,
_0x4021bf['CreateDisc'] = function(_0x175f02) {
throw _0x563921['a']['WarnImport']('discBuilder');
}
,
_0x4021bf['CreatePolygon'] = function(_0xea07ae, _0x45cba2, _0x73a742, _0x1af069, _0xe4ec72, _0x528688) {
throw _0x563921['a']['WarnImport']('polygonBuilder');
}
,
_0x4021bf['CreateIcoSphere'] = function(_0x36dbe2) {
throw _0x563921['a']['WarnImport']('icoSphereBuilder');
}
,
_0x4021bf['CreatePolyhedron'] = function(_0x18dfbf) {
throw _0x563921['a']['WarnImport']('polyhedronBuilder');
}
,
_0x4021bf['CreateTorusKnot'] = function(_0x4692ff) {
throw _0x563921['a']['WarnImport']('torusKnotBuilder');
}
,
_0x4021bf['ComputeNormals'] = function(_0x4d8a93, _0x32d561, _0x5848d7, _0x18f0f0) {
var _0x595a40 = 0x0
, _0x2ea197 = 0x0
, _0x44a844 = 0x0
, _0x2c8a39 = 0x0
, _0x21853a = 0x0
, _0x1f1a99 = 0x0
, _0x4ea858 = 0x0
, _0x1f733c = 0x0
, _0x1f1029 = 0x0
, _0x2ce111 = 0x0
, _0x4ef399 = 0x0
, _0x8ae1cf = 0x0
, _0x354e51 = 0x0
, _0x21077e = 0x0
, _0x5f2e4a = 0x0
, _0x4d77f5 = 0x0
, _0x34191b = 0x0
, _0x298641 = 0x0
, _0x1fae6d = 0x0
, _0x59acc2 = 0x0
, _0xebe995 = !0x1
, _0x3c1dc2 = !0x1
, _0x47c70c = !0x1
, _0x4af396 = !0x1
, _0x2e36f4 = 0x1
, _0x54217a = 0x0
, _0x4f78c1 = null;
if (_0x18f0f0 && (_0xebe995 = !!_0x18f0f0['facetNormals'],
_0x3c1dc2 = !!_0x18f0f0['facetPositions'],
_0x47c70c = !!_0x18f0f0['facetPartitioning'],
_0x2e36f4 = !0x0 === _0x18f0f0['useRightHandedSystem'] ? -0x1 : 0x1,
_0x54217a = _0x18f0f0['ratio'] || 0x0,
_0x4af396 = !!_0x18f0f0['depthSort'],
_0x4f78c1 = _0x18f0f0['distanceTo'],
_0x4af396)) {
void 0x0 === _0x4f78c1 && (_0x4f78c1 = _0x39cf6f['x']['Zero']());
var _0x345f8d = _0x18f0f0['depthSortedFacets'];
}
var _0x29ddd4 = 0x0
, _0x1a71ec = 0x0
, _0x219672 = 0x0
, _0x2ca1bb = 0x0;
if (_0x47c70c && _0x18f0f0 && _0x18f0f0['bbSize']) {
var _0x57f700 = 0x0
, _0x5c50bc = 0x0
, _0x5b4f67 = 0x0
, _0x2944dd = 0x0
, _0x3fcac6 = 0x0
, _0x5ccd51 = 0x0
, _0x430c10 = 0x0
, _0x47b7bc = 0x0
, _0x4ffde1 = 0x0
, _0x30f76a = 0x0
, _0x2d505c = 0x0
, _0x226ebb = 0x0
, _0x228093 = 0x0
, _0x21d840 = 0x0
, _0x2017bd = 0x0
, _0x3d2a93 = 0x0
, _0x58e487 = _0x18f0f0['bbSize']['x'] > _0x18f0f0['bbSize']['y'] ? _0x18f0f0['bbSize']['x'] : _0x18f0f0['bbSize']['y'];
_0x58e487 = _0x58e487 > _0x18f0f0['bbSize']['z'] ? _0x58e487 : _0x18f0f0['bbSize']['z'],
_0x29ddd4 = _0x18f0f0['subDiv']['X'] * _0x54217a / _0x18f0f0['bbSize']['x'],
_0x1a71ec = _0x18f0f0['subDiv']['Y'] * _0x54217a / _0x18f0f0['bbSize']['y'],
_0x219672 = _0x18f0f0['subDiv']['Z'] * _0x54217a / _0x18f0f0['bbSize']['z'],
_0x2ca1bb = _0x18f0f0['subDiv']['max'] * _0x18f0f0['subDiv']['max'],
_0x18f0f0['facetPartitioning']['length'] = 0x0;
}
for (_0x595a40 = 0x0; _0x595a40 < _0x4d8a93['length']; _0x595a40++)
_0x5848d7[_0x595a40] = 0x0;
var _0x535753 = _0x32d561['length'] / 0x3 | 0x0;
for (_0x595a40 = 0x0; _0x595a40 < _0x535753; _0x595a40++) {
if (_0x354e51 = (_0x8ae1cf = 0x3 * _0x32d561[0x3 * _0x595a40]) + 0x1,
_0x21077e = _0x8ae1cf + 0x2,
_0x4d77f5 = (_0x5f2e4a = 0x3 * _0x32d561[0x3 * _0x595a40 + 0x1]) + 0x1,
_0x34191b = _0x5f2e4a + 0x2,
_0x1fae6d = (_0x298641 = 0x3 * _0x32d561[0x3 * _0x595a40 + 0x2]) + 0x1,
_0x59acc2 = _0x298641 + 0x2,
_0x2ea197 = _0x4d8a93[_0x8ae1cf] - _0x4d8a93[_0x5f2e4a],
_0x44a844 = _0x4d8a93[_0x354e51] - _0x4d8a93[_0x4d77f5],
_0x2c8a39 = _0x4d8a93[_0x21077e] - _0x4d8a93[_0x34191b],
_0x21853a = _0x4d8a93[_0x298641] - _0x4d8a93[_0x5f2e4a],
_0x1f1a99 = _0x4d8a93[_0x1fae6d] - _0x4d8a93[_0x4d77f5],
_0x1f733c = _0x2e36f4 * (_0x44a844 * (_0x4ea858 = _0x4d8a93[_0x59acc2] - _0x4d8a93[_0x34191b]) - _0x2c8a39 * _0x1f1a99),
_0x1f1029 = _0x2e36f4 * (_0x2c8a39 * _0x21853a - _0x2ea197 * _0x4ea858),
_0x2ce111 = _0x2e36f4 * (_0x2ea197 * _0x1f1a99 - _0x44a844 * _0x21853a),
_0x1f733c /= _0x4ef399 = 0x0 === (_0x4ef399 = Math['sqrt'](_0x1f733c * _0x1f733c + _0x1f1029 * _0x1f1029 + _0x2ce111 * _0x2ce111)) ? 0x1 : _0x4ef399,
_0x1f1029 /= _0x4ef399,
_0x2ce111 /= _0x4ef399,
_0xebe995 && _0x18f0f0 && (_0x18f0f0['facetNormals'][_0x595a40]['x'] = _0x1f733c,
_0x18f0f0['facetNormals'][_0x595a40]['y'] = _0x1f1029,
_0x18f0f0['facetNormals'][_0x595a40]['z'] = _0x2ce111),
_0x3c1dc2 && _0x18f0f0 && (_0x18f0f0['facetPositions'][_0x595a40]['x'] = (_0x4d8a93[_0x8ae1cf] + _0x4d8a93[_0x5f2e4a] + _0x4d8a93[_0x298641]) / 0x3,
_0x18f0f0['facetPositions'][_0x595a40]['y'] = (_0x4d8a93[_0x354e51] + _0x4d8a93[_0x4d77f5] + _0x4d8a93[_0x1fae6d]) / 0x3,
_0x18f0f0['facetPositions'][_0x595a40]['z'] = (_0x4d8a93[_0x21077e] + _0x4d8a93[_0x34191b] + _0x4d8a93[_0x59acc2]) / 0x3),
_0x47c70c && _0x18f0f0 && (_0x57f700 = Math['floor']((_0x18f0f0['facetPositions'][_0x595a40]['x'] - _0x18f0f0['bInfo']['minimum']['x'] * _0x54217a) * _0x29ddd4),
_0x5c50bc = Math['floor']((_0x18f0f0['facetPositions'][_0x595a40]['y'] - _0x18f0f0['bInfo']['minimum']['y'] * _0x54217a) * _0x1a71ec),
_0x5b4f67 = Math['floor']((_0x18f0f0['facetPositions'][_0x595a40]['z'] - _0x18f0f0['bInfo']['minimum']['z'] * _0x54217a) * _0x219672),
_0x2944dd = Math['floor']((_0x4d8a93[_0x8ae1cf] - _0x18f0f0['bInfo']['minimum']['x'] * _0x54217a) * _0x29ddd4),
_0x3fcac6 = Math['floor']((_0x4d8a93[_0x354e51] - _0x18f0f0['bInfo']['minimum']['y'] * _0x54217a) * _0x1a71ec),
_0x5ccd51 = Math['floor']((_0x4d8a93[_0x21077e] - _0x18f0f0['bInfo']['minimum']['z'] * _0x54217a) * _0x219672),
_0x430c10 = Math['floor']((_0x4d8a93[_0x5f2e4a] - _0x18f0f0['bInfo']['minimum']['x'] * _0x54217a) * _0x29ddd4),
_0x47b7bc = Math['floor']((_0x4d8a93[_0x4d77f5] - _0x18f0f0['bInfo']['minimum']['y'] * _0x54217a) * _0x1a71ec),
_0x4ffde1 = Math['floor']((_0x4d8a93[_0x34191b] - _0x18f0f0['bInfo']['minimum']['z'] * _0x54217a) * _0x219672),
_0x30f76a = Math['floor']((_0x4d8a93[_0x298641] - _0x18f0f0['bInfo']['minimum']['x'] * _0x54217a) * _0x29ddd4),
_0x2d505c = Math['floor']((_0x4d8a93[_0x1fae6d] - _0x18f0f0['bInfo']['minimum']['y'] * _0x54217a) * _0x1a71ec),
_0x226ebb = Math['floor']((_0x4d8a93[_0x59acc2] - _0x18f0f0['bInfo']['minimum']['z'] * _0x54217a) * _0x219672),
_0x21d840 = _0x2944dd + _0x18f0f0['subDiv']['max'] * _0x3fcac6 + _0x2ca1bb * _0x5ccd51,
_0x2017bd = _0x430c10 + _0x18f0f0['subDiv']['max'] * _0x47b7bc + _0x2ca1bb * _0x4ffde1,
_0x3d2a93 = _0x30f76a + _0x18f0f0['subDiv']['max'] * _0x2d505c + _0x2ca1bb * _0x226ebb,
_0x228093 = _0x57f700 + _0x18f0f0['subDiv']['max'] * _0x5c50bc + _0x2ca1bb * _0x5b4f67,
_0x18f0f0['facetPartitioning'][_0x228093] = _0x18f0f0['facetPartitioning'][_0x228093] ? _0x18f0f0['facetPartitioning'][_0x228093] : new Array(),
_0x18f0f0['facetPartitioning'][_0x21d840] = _0x18f0f0['facetPartitioning'][_0x21d840] ? _0x18f0f0['facetPartitioning'][_0x21d840] : new Array(),
_0x18f0f0['facetPartitioning'][_0x2017bd] = _0x18f0f0['facetPartitioning'][_0x2017bd] ? _0x18f0f0['facetPartitioning'][_0x2017bd] : new Array(),
_0x18f0f0['facetPartitioning'][_0x3d2a93] = _0x18f0f0['facetPartitioning'][_0x3d2a93] ? _0x18f0f0['facetPartitioning'][_0x3d2a93] : new Array(),
_0x18f0f0['facetPartitioning'][_0x21d840]['push'](_0x595a40),
_0x2017bd != _0x21d840 && _0x18f0f0['facetPartitioning'][_0x2017bd]['push'](_0x595a40),
_0x3d2a93 != _0x2017bd && _0x3d2a93 != _0x21d840 && _0x18f0f0['facetPartitioning'][_0x3d2a93]['push'](_0x595a40),
_0x228093 != _0x21d840 && _0x228093 != _0x2017bd && _0x228093 != _0x3d2a93 && _0x18f0f0['facetPartitioning'][_0x228093]['push'](_0x595a40)),
_0x4af396 && _0x18f0f0 && _0x18f0f0['facetPositions']) {
var _0x227f65 = _0x345f8d[_0x595a40];
_0x227f65['ind'] = 0x3 * _0x595a40,
_0x227f65['sqDistance'] = _0x39cf6f['x']['DistanceSquared'](_0x18f0f0['facetPositions'][_0x595a40], _0x4f78c1);
}
_0x5848d7[_0x8ae1cf] += _0x1f733c,
_0x5848d7[_0x354e51] += _0x1f1029,
_0x5848d7[_0x21077e] += _0x2ce111,
_0x5848d7[_0x5f2e4a] += _0x1f733c,
_0x5848d7[_0x4d77f5] += _0x1f1029,
_0x5848d7[_0x34191b] += _0x2ce111,
_0x5848d7[_0x298641] += _0x1f733c,
_0x5848d7[_0x1fae6d] += _0x1f1029,
_0x5848d7[_0x59acc2] += _0x2ce111;
}
for (_0x595a40 = 0x0; _0x595a40 < _0x5848d7['length'] / 0x3; _0x595a40++)
_0x1f733c = _0x5848d7[0x3 * _0x595a40],
_0x1f1029 = _0x5848d7[0x3 * _0x595a40 + 0x1],
_0x2ce111 = _0x5848d7[0x3 * _0x595a40 + 0x2],
_0x1f733c /= _0x4ef399 = 0x0 === (_0x4ef399 = Math['sqrt'](_0x1f733c * _0x1f733c + _0x1f1029 * _0x1f1029 + _0x2ce111 * _0x2ce111)) ? 0x1 : _0x4ef399,
_0x1f1029 /= _0x4ef399,
_0x2ce111 /= _0x4ef399,
_0x5848d7[0x3 * _0x595a40] = _0x1f733c,
_0x5848d7[0x3 * _0x595a40 + 0x1] = _0x1f1029,
_0x5848d7[0x3 * _0x595a40 + 0x2] = _0x2ce111;
}
,
_0x4021bf['_ComputeSides'] = function(_0x1fee06, _0x39a402, _0x14639f, _0x512126, _0x4b25ff, _0x207723, _0x49dda4) {
var _0x137b18, _0x5117f1, _0x346d62 = _0x14639f['length'], _0x567dd3 = _0x512126['length'];
switch (_0x1fee06 = _0x1fee06 || _0x4021bf['DEFAULTSIDE']) {
case _0x4021bf['FRONTSIDE']:
break;
case _0x4021bf['BACKSIDE']:
var _0x3b831e;
for (_0x137b18 = 0x0; _0x137b18 < _0x346d62; _0x137b18 += 0x3)
_0x3b831e = _0x14639f[_0x137b18],
_0x14639f[_0x137b18] = _0x14639f[_0x137b18 + 0x2],
_0x14639f[_0x137b18 + 0x2] = _0x3b831e;
for (_0x5117f1 = 0x0; _0x5117f1 < _0x567dd3; _0x5117f1++)
_0x512126[_0x5117f1] = -_0x512126[_0x5117f1];
break;
case _0x4021bf['DOUBLESIDE']:
for (var _0x2ab956 = _0x39a402['length'], _0x18203f = _0x2ab956 / 0x3, _0x479442 = 0x0; _0x479442 < _0x2ab956; _0x479442++)
_0x39a402[_0x2ab956 + _0x479442] = _0x39a402[_0x479442];
for (_0x137b18 = 0x0; _0x137b18 < _0x346d62; _0x137b18 += 0x3)
_0x14639f[_0x137b18 + _0x346d62] = _0x14639f[_0x137b18 + 0x2] + _0x18203f,
_0x14639f[_0x137b18 + 0x1 + _0x346d62] = _0x14639f[_0x137b18 + 0x1] + _0x18203f,
_0x14639f[_0x137b18 + 0x2 + _0x346d62] = _0x14639f[_0x137b18] + _0x18203f;
for (_0x5117f1 = 0x0; _0x5117f1 < _0x567dd3; _0x5117f1++)
_0x512126[_0x567dd3 + _0x5117f1] = -_0x512126[_0x5117f1];
var _0xc0955e = _0x4b25ff['length']
, _0x523498 = 0x0;
for (_0x523498 = 0x0; _0x523498 < _0xc0955e; _0x523498++)
_0x4b25ff[_0x523498 + _0xc0955e] = _0x4b25ff[_0x523498];
for (_0x207723 = _0x207723 || new _0x39cf6f['y'](0x0,0x0,0x1,0x1),
_0x49dda4 = _0x49dda4 || new _0x39cf6f['y'](0x0,0x0,0x1,0x1),
_0x523498 = 0x0,
_0x137b18 = 0x0; _0x137b18 < _0xc0955e / 0x2; _0x137b18++)
_0x4b25ff[_0x523498] = _0x207723['x'] + (_0x207723['z'] - _0x207723['x']) * _0x4b25ff[_0x523498],
_0x4b25ff[_0x523498 + 0x1] = _0x207723['y'] + (_0x207723['w'] - _0x207723['y']) * _0x4b25ff[_0x523498 + 0x1],
_0x4b25ff[_0x523498 + _0xc0955e] = _0x49dda4['x'] + (_0x49dda4['z'] - _0x49dda4['x']) * _0x4b25ff[_0x523498 + _0xc0955e],
_0x4b25ff[_0x523498 + _0xc0955e + 0x1] = _0x49dda4['y'] + (_0x49dda4['w'] - _0x49dda4['y']) * _0x4b25ff[_0x523498 + _0xc0955e + 0x1],
_0x523498 += 0x2;
}
}
,
_0x4021bf['ImportVertexData'] = function(_0x3aeec5, _0x5d85ad) {
var _0x3ed28f = new _0x4021bf()
, _0xf89a5a = _0x3aeec5['positions'];
_0xf89a5a && _0x3ed28f['set'](_0xf89a5a, _0x5e422a['b']['PositionKind']);
var _0xcae9ed = _0x3aeec5['normals'];
_0xcae9ed && _0x3ed28f['set'](_0xcae9ed, _0x5e422a['b']['NormalKind']);
var _0x48ac7d = _0x3aeec5['tangents'];
_0x48ac7d && _0x3ed28f['set'](_0x48ac7d, _0x5e422a['b']['TangentKind']);
var _0x2a9e26 = _0x3aeec5['uvs'];
_0x2a9e26 && _0x3ed28f['set'](_0x2a9e26, _0x5e422a['b']['UVKind']);
var _0x4f889e = _0x3aeec5['uv2s'];
_0x4f889e && _0x3ed28f['set'](_0x4f889e, _0x5e422a['b']['UV2Kind']);
var _0x519f1e = _0x3aeec5['uv3s'];
_0x519f1e && _0x3ed28f['set'](_0x519f1e, _0x5e422a['b']['UV3Kind']);
var _0x5217ee = _0x3aeec5['uv4s'];
_0x5217ee && _0x3ed28f['set'](_0x5217ee, _0x5e422a['b']['UV4Kind']);
var _0x51ae3d = _0x3aeec5['uv5s'];
_0x51ae3d && _0x3ed28f['set'](_0x51ae3d, _0x5e422a['b']['UV5Kind']);
var _0x4c9700 = _0x3aeec5['uv6s'];
_0x4c9700 && _0x3ed28f['set'](_0x4c9700, _0x5e422a['b']['UV6Kind']);
var _0x2a2d73 = _0x3aeec5['colors'];
_0x2a2d73 && _0x3ed28f['set'](_0x39cf6f['f']['CheckColors4'](_0x2a2d73, _0xf89a5a['length'] / 0x3), _0x5e422a['b']['ColorKind']);
var _0x444b76 = _0x3aeec5['matricesIndices'];
_0x444b76 && _0x3ed28f['set'](_0x444b76, _0x5e422a['b']['MatricesIndicesKind']);
var _0x37bd72 = _0x3aeec5['matricesWeights'];
_0x37bd72 && _0x3ed28f['set'](_0x37bd72, _0x5e422a['b']['MatricesWeightsKind']);
var _0x5973a7 = _0x3aeec5['indices'];
_0x5973a7 && (_0x3ed28f['indices'] = _0x5973a7),
_0x5d85ad['setAllVerticesData'](_0x3ed28f, _0x3aeec5['updatable']);
}
,
_0x4021bf['FRONTSIDE'] = 0x0,
_0x4021bf['BACKSIDE'] = 0x1,
_0x4021bf['DOUBLESIDE'] = 0x2,
_0x4021bf['DEFAULTSIDE'] = 0x0,
_0x4021bf;
}();
}
, function(_0x4deefd, _0x4668b4, _0x40dbb2) {
'use strict';
_0x40dbb2['d'](_0x4668b4, 'a', function() {
return _0x17e639;
}),
_0x40dbb2['d'](_0x4668b4, 'b', function() {
return _0x51f691;
});
var _0x4d4f7b = _0x40dbb2(0x1)
, _0x17e639 = function() {
function _0x112942() {}
return _0x112942['NAME_EFFECTLAYER'] = 'EffectLayer',
_0x112942['NAME_LAYER'] = 'Layer',
_0x112942['NAME_LENSFLARESYSTEM'] = 'LensFlareSystem',
_0x112942['NAME_BOUNDINGBOXRENDERER'] = 'BoundingBoxRenderer',
_0x112942['NAME_PARTICLESYSTEM'] = 'ParticleSystem',
_0x112942['NAME_GAMEPAD'] = 'Gamepad',
_0x112942['NAME_SIMPLIFICATIONQUEUE'] = 'SimplificationQueue',
_0x112942['NAME_GEOMETRYBUFFERRENDERER'] = 'GeometryBufferRenderer',
_0x112942['NAME_DEPTHRENDERER'] = 'DepthRenderer',
_0x112942['NAME_POSTPROCESSRENDERPIPELINEMANAGER'] = 'PostProcessRenderPipelineManager',
_0x112942['NAME_SPRITE'] = 'Sprite',
_0x112942['NAME_OUTLINERENDERER'] = 'Outline',
_0x112942['NAME_PROCEDURALTEXTURE'] = 'ProceduralTexture',
_0x112942['NAME_SHADOWGENERATOR'] = 'ShadowGenerator',
_0x112942['NAME_OCTREE'] = 'Octree',
_0x112942['NAME_PHYSICSENGINE'] = 'PhysicsEngine',
_0x112942['NAME_AUDIO'] = 'Audio',
_0x112942['STEP_ISREADYFORMESH_EFFECTLAYER'] = 0x0,
_0x112942['STEP_BEFOREEVALUATEACTIVEMESH_BOUNDINGBOXRENDERER'] = 0x0,
_0x112942['STEP_EVALUATESUBMESH_BOUNDINGBOXRENDERER'] = 0x0,
_0x112942['STEP_ACTIVEMESH_BOUNDINGBOXRENDERER'] = 0x0,
_0x112942['STEP_CAMERADRAWRENDERTARGET_EFFECTLAYER'] = 0x1,
_0x112942['STEP_BEFORECAMERADRAW_EFFECTLAYER'] = 0x0,
_0x112942['STEP_BEFORECAMERADRAW_LAYER'] = 0x1,
_0x112942['STEP_BEFORERENDERTARGETDRAW_LAYER'] = 0x0,
_0x112942['STEP_BEFORERENDERINGMESH_OUTLINE'] = 0x0,
_0x112942['STEP_AFTERRENDERINGMESH_OUTLINE'] = 0x0,
_0x112942['STEP_AFTERRENDERINGGROUPDRAW_EFFECTLAYER_DRAW'] = 0x0,
_0x112942['STEP_AFTERRENDERINGGROUPDRAW_BOUNDINGBOXRENDERER'] = 0x1,
_0x112942['STEP_BEFORECAMERAUPDATE_SIMPLIFICATIONQUEUE'] = 0x0,
_0x112942['STEP_BEFORECAMERAUPDATE_GAMEPAD'] = 0x1,
_0x112942['STEP_BEFORECLEAR_PROCEDURALTEXTURE'] = 0x0,
_0x112942['STEP_AFTERRENDERTARGETDRAW_LAYER'] = 0x0,
_0x112942['STEP_AFTERCAMERADRAW_EFFECTLAYER'] = 0x0,
_0x112942['STEP_AFTERCAMERADRAW_LENSFLARESYSTEM'] = 0x1,
_0x112942['STEP_AFTERCAMERADRAW_EFFECTLAYER_DRAW'] = 0x2,
_0x112942['STEP_AFTERCAMERADRAW_LAYER'] = 0x3,
_0x112942['STEP_AFTERRENDER_AUDIO'] = 0x0,
_0x112942['STEP_GATHERRENDERTARGETS_SHADOWGENERATOR'] = 0x0,
_0x112942['STEP_GATHERRENDERTARGETS_GEOMETRYBUFFERRENDERER'] = 0x1,
_0x112942['STEP_GATHERRENDERTARGETS_DEPTHRENDERER'] = 0x2,
_0x112942['STEP_GATHERRENDERTARGETS_POSTPROCESSRENDERPIPELINEMANAGER'] = 0x3,
_0x112942['STEP_GATHERACTIVECAMERARENDERTARGETS_DEPTHRENDERER'] = 0x0,
_0x112942['STEP_POINTERMOVE_SPRITE'] = 0x0,
_0x112942['STEP_POINTERDOWN_SPRITE'] = 0x0,
_0x112942['STEP_POINTERUP_SPRITE'] = 0x0,
_0x112942;
}()
, _0x51f691 = function(_0x5d7dda) {
function _0x3ea5dc(_0x4286ba) {
return _0x5d7dda['apply'](this, _0x4286ba) || this;
}
return _0x4d4f7b['d'](_0x3ea5dc, _0x5d7dda),
_0x3ea5dc['Create'] = function() {
return Object['create'](_0x3ea5dc['prototype']);
}
,
_0x3ea5dc['prototype']['registerStep'] = function(_0x4b333f, _0x230dcc, _0x1962ca) {
var _0x30cd4b = 0x0;
for (Number['MAX_VALUE']; _0x30cd4b < this['length']; _0x30cd4b++) {
if (_0x4b333f < this[_0x30cd4b]['index'])
break;
}
this['splice'](_0x30cd4b, 0x0, {
'index': _0x4b333f,
'component': _0x230dcc,
'action': _0x1962ca['bind'](_0x230dcc)
});
}
,
_0x3ea5dc['prototype']['clear'] = function() {
this['length'] = 0x0;
}
,
_0x3ea5dc;
}(Array);
}
, function(_0x34bb99, _0x413ca5, _0x44c3bb) {
'use strict';
_0x44c3bb['d'](_0x413ca5, 'a', function() {
return _0x321091;
});
var _0x45da8d = _0x44c3bb(0x6)
, _0x5545aa = _0x44c3bb(0x10)
, _0x24ac2a = _0x44c3bb(0x0)
, _0x20b21e = _0x44c3bb(0x17)
, _0x43a3d4 = _0x44c3bb(0x4)
, _0x791be4 = _0x44c3bb(0x26)
, _0x321091 = function() {
function _0x3b68a9() {}
return _0x3b68a9['BindEyePosition'] = function(_0x2fd8e7, _0x59f0a0) {
if (_0x59f0a0['_forcedViewPosition'])
_0x2fd8e7['setVector3']('vEyePosition', _0x59f0a0['_forcedViewPosition']);
else {
var _0x4bf9b0 = _0x59f0a0['activeCamera']['globalPosition'];
_0x4bf9b0 || (_0x4bf9b0 = _0x59f0a0['activeCamera']['devicePosition']),
_0x2fd8e7['setVector3']('vEyePosition', _0x59f0a0['_mirroredCameraPosition'] ? _0x59f0a0['_mirroredCameraPosition'] : _0x4bf9b0);
}
}
,
_0x3b68a9['PrepareDefinesForMergedUV'] = function(_0x267e7c, _0x38399f, _0x43b73a) {
_0x38399f['_needUVs'] = !0x0,
_0x38399f[_0x43b73a] = !0x0,
_0x267e7c['getTextureMatrix']()['isIdentityAs3x2']() ? (_0x38399f[_0x43b73a + 'DIRECTUV'] = _0x267e7c['coordinatesIndex'] + 0x1,
0x0 === _0x267e7c['coordinatesIndex'] ? _0x38399f['MAINUV1'] = !0x0 : _0x38399f['MAINUV2'] = !0x0) : _0x38399f[_0x43b73a + 'DIRECTUV'] = 0x0;
}
,
_0x3b68a9['BindTextureMatrix'] = function(_0x5eda22, _0x27f850, _0x52587b) {
var _0x19a28b = _0x5eda22['getTextureMatrix']();
_0x19a28b['isIdentityAs3x2']() || _0x27f850['updateMatrix'](_0x52587b + 'Matrix', _0x19a28b);
}
,
_0x3b68a9['PrepareDefinesForMisc'] = function(_0x42a3b3, _0x58d90f, _0x2059fd, _0x1a2799, _0xa589a8, _0x2193ac, _0x59fa4c) {
_0x59fa4c['_areMiscDirty'] && (_0x59fa4c['LOGARITHMICDEPTH'] = _0x2059fd,
_0x59fa4c['POINTSIZE'] = _0x1a2799,
_0x59fa4c['FOG'] = _0x58d90f['fogEnabled'] && _0x42a3b3['applyFog'] && _0x58d90f['fogMode'] !== _0x5545aa['a']['FOGMODE_NONE'] && _0xa589a8,
_0x59fa4c['NONUNIFORMSCALING'] = _0x42a3b3['nonUniformScaling'],
_0x59fa4c['ALPHATEST'] = _0x2193ac);
}
,
_0x3b68a9['PrepareDefinesForFrameBoundValues'] = function(_0x21e80e, _0x1346ec, _0x52f971, _0x15b5de, _0x464de9) {
void 0x0 === _0x464de9 && (_0x464de9 = null);
var _0x2dbace, _0x32b621, _0x479462, _0x8e38d, _0x5b8f68 = !0x1;
_0x2dbace = null == _0x464de9 ? void 0x0 !== _0x21e80e['clipPlane'] && null !== _0x21e80e['clipPlane'] : _0x464de9,
_0x32b621 = null == _0x464de9 ? void 0x0 !== _0x21e80e['clipPlane2'] && null !== _0x21e80e['clipPlane2'] : _0x464de9,
_0x479462 = null == _0x464de9 ? void 0x0 !== _0x21e80e['clipPlane3'] && null !== _0x21e80e['clipPlane3'] : _0x464de9,
_0x8e38d = null == _0x464de9 ? void 0x0 !== _0x21e80e['clipPlane4'] && null !== _0x21e80e['clipPlane4'] : _0x464de9,
_0x52f971['CLIPPLANE'] !== _0x2dbace && (_0x52f971['CLIPPLANE'] = _0x2dbace,
_0x5b8f68 = !0x0),
_0x52f971['CLIPPLANE2'] !== _0x32b621 && (_0x52f971['CLIPPLANE2'] = _0x32b621,
_0x5b8f68 = !0x0),
_0x52f971['CLIPPLANE3'] !== _0x479462 && (_0x52f971['CLIPPLANE3'] = _0x479462,
_0x5b8f68 = !0x0),
_0x52f971['CLIPPLANE4'] !== _0x8e38d && (_0x52f971['CLIPPLANE4'] = _0x8e38d,
_0x5b8f68 = !0x0),
_0x52f971['DEPTHPREPASS'] !== !_0x1346ec['getColorWrite']() && (_0x52f971['DEPTHPREPASS'] = !_0x52f971['DEPTHPREPASS'],
_0x5b8f68 = !0x0),
_0x52f971['INSTANCES'] !== _0x15b5de && (_0x52f971['INSTANCES'] = _0x15b5de,
_0x5b8f68 = !0x0),
_0x5b8f68 && _0x52f971['markAsUnprocessed']();
}
,
_0x3b68a9['PrepareDefinesForAttributes'] = function(_0x3a4aae, _0x7fb7e6, _0x1db7a9, _0x7ad21f, _0x730a0a, _0x28fa40) {
if (void 0x0 === _0x730a0a && (_0x730a0a = !0x1),
void 0x0 === _0x28fa40 && (_0x28fa40 = !0x0),
!_0x7fb7e6['_areAttributesDirty'] && _0x7fb7e6['_needNormals'] === _0x7fb7e6['_normals'] && _0x7fb7e6['_needUVs'] === _0x7fb7e6['_uvs'])
return !0x1;
if (_0x7fb7e6['_normals'] = _0x7fb7e6['_needNormals'],
_0x7fb7e6['_uvs'] = _0x7fb7e6['_needUVs'],
_0x7fb7e6['NORMAL'] = _0x7fb7e6['_needNormals'] && _0x3a4aae['isVerticesDataPresent'](_0x43a3d4['b']['NormalKind']),
_0x7fb7e6['_needNormals'] && _0x3a4aae['isVerticesDataPresent'](_0x43a3d4['b']['TangentKind']) && (_0x7fb7e6['TANGENT'] = !0x0),
_0x7fb7e6['_needUVs'] ? (_0x7fb7e6['UV1'] = _0x3a4aae['isVerticesDataPresent'](_0x43a3d4['b']['UVKind']),
_0x7fb7e6['UV2'] = _0x3a4aae['isVerticesDataPresent'](_0x43a3d4['b']['UV2Kind'])) : (_0x7fb7e6['UV1'] = !0x1,
_0x7fb7e6['UV2'] = !0x1),
_0x1db7a9) {
var _0x461790 = _0x3a4aae['useVertexColors'] && _0x3a4aae['isVerticesDataPresent'](_0x43a3d4['b']['ColorKind']);
_0x7fb7e6['VERTEXCOLOR'] = _0x461790,
_0x7fb7e6['VERTEXALPHA'] = _0x3a4aae['hasVertexAlpha'] && _0x461790 && _0x28fa40;
}
if (_0x7ad21f)
if (_0x3a4aae['useBones'] && _0x3a4aae['computeBonesUsingShaders'] && _0x3a4aae['skeleton']) {
_0x7fb7e6['NUM_BONE_INFLUENCERS'] = _0x3a4aae['numBoneInfluencers'];
var _0x3d75d3 = void 0x0 !== _0x7fb7e6['BONETEXTURE'];
_0x3a4aae['skeleton']['isUsingTextureForMatrices'] && _0x3d75d3 ? _0x7fb7e6['BONETEXTURE'] = !0x0 : (_0x7fb7e6['BonesPerMesh'] = _0x3a4aae['skeleton']['bones']['length'] + 0x1,
_0x7fb7e6['BONETEXTURE'] = !_0x3d75d3 && void 0x0);
} else
_0x7fb7e6['NUM_BONE_INFLUENCERS'] = 0x0,
_0x7fb7e6['BonesPerMesh'] = 0x0;
if (_0x730a0a) {
var _0x58652a = _0x3a4aae['morphTargetManager'];
_0x58652a ? (_0x7fb7e6['MORPHTARGETS_TANGENT'] = _0x58652a['supportsTangents'] && _0x7fb7e6['TANGENT'],
_0x7fb7e6['MORPHTARGETS_NORMAL'] = _0x58652a['supportsNormals'] && _0x7fb7e6['NORMAL'],
_0x7fb7e6['MORPHTARGETS'] = _0x58652a['numInfluencers'] > 0x0,
_0x7fb7e6['NUM_MORPH_INFLUENCERS'] = _0x58652a['numInfluencers']) : (_0x7fb7e6['MORPHTARGETS_TANGENT'] = !0x1,
_0x7fb7e6['MORPHTARGETS_NORMAL'] = !0x1,
_0x7fb7e6['MORPHTARGETS'] = !0x1,
_0x7fb7e6['NUM_MORPH_INFLUENCERS'] = 0x0);
}
return !0x0;
}
,
_0x3b68a9['PrepareDefinesForMultiview'] = function(_0x18db83, _0x2463a1) {
if (_0x18db83['activeCamera']) {
var _0x28ceb8 = _0x2463a1['MULTIVIEW'];
_0x2463a1['MULTIVIEW'] = null !== _0x18db83['activeCamera']['outputRenderTarget'] && _0x18db83['activeCamera']['outputRenderTarget']['getViewCount']() > 0x1,
_0x2463a1['MULTIVIEW'] != _0x28ceb8 && _0x2463a1['markAsUnprocessed']();
}
}
,
_0x3b68a9['PrepareDefinesForLights'] = function(_0x260f5f, _0x3802f7, _0x167425, _0x16554f, _0x246135, _0x2ca294) {
if (void 0x0 === _0x246135 && (_0x246135 = 0x4),
void 0x0 === _0x2ca294 && (_0x2ca294 = !0x1),
!_0x167425['_areLightsDirty'])
return _0x167425['_needNormals'];
var _0x288f3e = 0x0
, _0x4a190a = !0x1
, _0x3134f1 = !0x1
, _0x20e2a2 = !0x1
, _0x4e9c25 = !0x1
, _0x57823b = !0x1;
if (_0x260f5f['lightsEnabled'] && !_0x2ca294)
for (var _0x58c9a0 = 0x0, _0x16c35e = _0x3802f7['lightSources']; _0x58c9a0 < _0x16c35e['length']; _0x58c9a0++) {
var _0x4ec906 = _0x16c35e[_0x58c9a0];
switch (_0x4a190a = !0x0,
void 0x0 === _0x167425['LIGHT' + _0x288f3e] && (_0x3134f1 = !0x0),
_0x167425['LIGHT' + _0x288f3e] = !0x0,
_0x167425['SPOTLIGHT' + _0x288f3e] = !0x1,
_0x167425['HEMILIGHT' + _0x288f3e] = !0x1,
_0x167425['POINTLIGHT' + _0x288f3e] = !0x1,
_0x167425['DIRLIGHT' + _0x288f3e] = !0x1,
_0x4ec906['prepareLightSpecificDefines'](_0x167425, _0x288f3e),
_0x167425['LIGHT_FALLOFF_PHYSICAL' + _0x288f3e] = !0x1,
_0x167425['LIGHT_FALLOFF_GLTF' + _0x288f3e] = !0x1,
_0x167425['LIGHT_FALLOFF_STANDARD' + _0x288f3e] = !0x1,
_0x4ec906['falloffType']) {
case _0x791be4['a']['FALLOFF_GLTF']:
_0x167425['LIGHT_FALLOFF_GLTF' + _0x288f3e] = !0x0;
break;
case _0x791be4['a']['FALLOFF_PHYSICAL']:
_0x167425['LIGHT_FALLOFF_PHYSICAL' + _0x288f3e] = !0x0;
break;
case _0x791be4['a']['FALLOFF_STANDARD']:
_0x167425['LIGHT_FALLOFF_STANDARD' + _0x288f3e] = !0x0;
}
if (_0x16554f && !_0x4ec906['specular']['equalsFloats'](0x0, 0x0, 0x0) && (_0x57823b = !0x0),
_0x167425['SHADOW' + _0x288f3e] = !0x1,
_0x167425['SHADOWPCF' + _0x288f3e] = !0x1,
_0x167425['SHADOWPCSS' + _0x288f3e] = !0x1,
_0x167425['SHADOWPOISSON' + _0x288f3e] = !0x1,
_0x167425['SHADOWESM' + _0x288f3e] = !0x1,
_0x167425['SHADOWCUBE' + _0x288f3e] = !0x1,
_0x167425['SHADOWLOWQUALITY' + _0x288f3e] = !0x1,
_0x167425['SHADOWMEDIUMQUALITY' + _0x288f3e] = !0x1,
_0x3802f7 && _0x3802f7['receiveShadows'] && _0x260f5f['shadowsEnabled'] && _0x4ec906['shadowEnabled']) {
var _0x961a36 = _0x4ec906['getShadowGenerator']();
if (_0x961a36) {
var _0x173a1c = _0x961a36['getShadowMap']();
_0x173a1c && _0x173a1c['renderList'] && _0x173a1c['renderList']['length'] > 0x0 && (_0x4e9c25 = !0x0,
_0x961a36['prepareDefines'](_0x167425, _0x288f3e));
}
}
if (_0x4ec906['lightmapMode'] != _0x791be4['a']['LIGHTMAP_DEFAULT'] ? (_0x20e2a2 = !0x0,
_0x167425['LIGHTMAPEXCLUDED' + _0x288f3e] = !0x0,
_0x167425['LIGHTMAPNOSPECULAR' + _0x288f3e] = _0x4ec906['lightmapMode'] == _0x791be4['a']['LIGHTMAP_SHADOWSONLY']) : (_0x167425['LIGHTMAPEXCLUDED' + _0x288f3e] = !0x1,
_0x167425['LIGHTMAPNOSPECULAR' + _0x288f3e] = !0x1),
++_0x288f3e === _0x246135)
break;
}
_0x167425['SPECULARTERM'] = _0x57823b,
_0x167425['SHADOWS'] = _0x4e9c25;
for (var _0x87343d = _0x288f3e; _0x87343d < _0x246135; _0x87343d++)
void 0x0 !== _0x167425['LIGHT' + _0x87343d] && (_0x167425['LIGHT' + _0x87343d] = !0x1,
_0x167425['HEMILIGHT' + _0x87343d] = !0x1,
_0x167425['POINTLIGHT' + _0x87343d] = !0x1,
_0x167425['DIRLIGHT' + _0x87343d] = !0x1,
_0x167425['SPOTLIGHT' + _0x87343d] = !0x1,
_0x167425['SHADOW' + _0x87343d] = !0x1,
_0x167425['SHADOWPCF' + _0x87343d] = !0x1,
_0x167425['SHADOWPCSS' + _0x87343d] = !0x1,
_0x167425['SHADOWPOISSON' + _0x87343d] = !0x1,
_0x167425['SHADOWESM' + _0x87343d] = !0x1,
_0x167425['SHADOWCUBE' + _0x87343d] = !0x1,
_0x167425['SHADOWLOWQUALITY' + _0x87343d] = !0x1,
_0x167425['SHADOWMEDIUMQUALITY' + _0x87343d] = !0x1);
var _0x476772 = _0x260f5f['getEngine']()['getCaps']();
return void 0x0 === _0x167425['SHADOWFLOAT'] && (_0x3134f1 = !0x0),
_0x167425['SHADOWFLOAT'] = _0x4e9c25 && (_0x476772['textureFloatRender'] && _0x476772['textureFloatLinearFiltering'] || _0x476772['textureHalfFloatRender'] && _0x476772['textureHalfFloatLinearFiltering']),
_0x167425['LIGHTMAPEXCLUDED'] = _0x20e2a2,
_0x3134f1 && _0x167425['rebuild'](),
_0x4a190a;
}
,
_0x3b68a9['PrepareUniformsAndSamplersList'] = function(_0x16fdc7, _0x2545d6, _0x56dd47, _0xb29a6d) {
var _0xf47c9e;
void 0x0 === _0xb29a6d && (_0xb29a6d = 0x4);
var _0x29accb = null;
if (_0x16fdc7['uniformsNames']) {
var _0x4b2917 = _0x16fdc7;
_0xf47c9e = _0x4b2917['uniformsNames'],
_0x29accb = _0x4b2917['uniformBuffersNames'],
_0x2545d6 = _0x4b2917['samplers'],
_0x56dd47 = _0x4b2917['defines'],
_0xb29a6d = _0x4b2917['maxSimultaneousLights'];
} else
_0xf47c9e = _0x16fdc7,
_0x2545d6 || (_0x2545d6 = []);
for (var _0x380ea6 = 0x0; _0x380ea6 < _0xb29a6d && _0x56dd47['LIGHT' + _0x380ea6]; _0x380ea6++)
_0xf47c9e['push']('vLightData' + _0x380ea6, 'vLightDiffuse' + _0x380ea6, 'vLightSpecular' + _0x380ea6, 'vLightDirection' + _0x380ea6, 'vLightFalloff' + _0x380ea6, 'vLightGround' + _0x380ea6, 'lightMatrix' + _0x380ea6, 'shadowsInfo' + _0x380ea6, 'depthValues' + _0x380ea6),
_0x29accb && _0x29accb['push']('Light' + _0x380ea6),
_0x2545d6['push']('shadowSampler' + _0x380ea6),
_0x2545d6['push']('depthSampler' + _0x380ea6),
_0x56dd47['PROJECTEDLIGHTTEXTURE' + _0x380ea6] && (_0x2545d6['push']('projectionLightSampler' + _0x380ea6),
_0xf47c9e['push']('textureProjectionMatrix' + _0x380ea6));
_0x56dd47['NUM_MORPH_INFLUENCERS'] && _0xf47c9e['push']('morphTargetInfluences');
}
,
_0x3b68a9['HandleFallbacksForShadows'] = function(_0x501bfe, _0x490290, _0x128c19, _0x48e215) {
void 0x0 === _0x128c19 && (_0x128c19 = 0x4),
void 0x0 === _0x48e215 && (_0x48e215 = 0x0);
for (var _0x594233 = 0x0, _0x2c8bfa = 0x0; _0x2c8bfa < _0x128c19 && _0x501bfe['LIGHT' + _0x2c8bfa]; _0x2c8bfa++)
_0x2c8bfa > 0x0 && (_0x594233 = _0x48e215 + _0x2c8bfa,
_0x490290['addFallback'](_0x594233, 'LIGHT' + _0x2c8bfa)),
_0x501bfe['SHADOWS'] || (_0x501bfe['SHADOW' + _0x2c8bfa] && _0x490290['addFallback'](_0x48e215, 'SHADOW' + _0x2c8bfa),
_0x501bfe['SHADOWPCF' + _0x2c8bfa] && _0x490290['addFallback'](_0x48e215, 'SHADOWPCF' + _0x2c8bfa),
_0x501bfe['SHADOWPCSS' + _0x2c8bfa] && _0x490290['addFallback'](_0x48e215, 'SHADOWPCSS' + _0x2c8bfa),
_0x501bfe['SHADOWPOISSON' + _0x2c8bfa] && _0x490290['addFallback'](_0x48e215, 'SHADOWPOISSON' + _0x2c8bfa),
_0x501bfe['SHADOWESM' + _0x2c8bfa] && _0x490290['addFallback'](_0x48e215, 'SHADOWESM' + _0x2c8bfa));
return _0x594233++;
}
,
_0x3b68a9['PrepareAttributesForMorphTargets'] = function(_0x12f4bd, _0x3dc709, _0x3a6f7b) {
var _0x3ec59e = _0x3a6f7b['NUM_MORPH_INFLUENCERS'];
if (_0x3ec59e > 0x0 && _0x20b21e['a']['LastCreatedEngine'])
for (var _0x3b5824 = _0x20b21e['a']['LastCreatedEngine']['getCaps']()['maxVertexAttribs'], _0x3e2be2 = _0x3dc709['morphTargetManager'], _0xb5b32 = _0x3e2be2 && _0x3e2be2['supportsNormals'] && _0x3a6f7b['NORMAL'], _0x5b638d = _0x3e2be2 && _0x3e2be2['supportsTangents'] && _0x3a6f7b['TANGENT'], _0x208903 = 0x0; _0x208903 < _0x3ec59e; _0x208903++)
_0x12f4bd['push'](_0x43a3d4['b']['PositionKind'] + _0x208903),
_0xb5b32 && _0x12f4bd['push'](_0x43a3d4['b']['NormalKind'] + _0x208903),
_0x5b638d && _0x12f4bd['push'](_0x43a3d4['b']['TangentKind'] + _0x208903),
_0x12f4bd['length'] > _0x3b5824 && _0x45da8d['a']['Error']('Cannot\x20add\x20more\x20vertex\x20attributes\x20for\x20mesh\x20' + _0x3dc709['name']);
}
,
_0x3b68a9['PrepareAttributesForBones'] = function(_0x3927c9, _0x5b8577, _0x371a12, _0x11b998) {
_0x371a12['NUM_BONE_INFLUENCERS'] > 0x0 && (_0x11b998['addCPUSkinningFallback'](0x0, _0x5b8577),
_0x3927c9['push'](_0x43a3d4['b']['MatricesIndicesKind']),
_0x3927c9['push'](_0x43a3d4['b']['MatricesWeightsKind']),
_0x371a12['NUM_BONE_INFLUENCERS'] > 0x4 && (_0x3927c9['push'](_0x43a3d4['b']['MatricesIndicesExtraKind']),
_0x3927c9['push'](_0x43a3d4['b']['MatricesWeightsExtraKind'])));
}
,
_0x3b68a9['PrepareAttributesForInstances'] = function(_0x1bb5f8, _0x582d01) {
_0x582d01['INSTANCES'] && (_0x1bb5f8['push']('world0'),
_0x1bb5f8['push']('world1'),
_0x1bb5f8['push']('world2'),
_0x1bb5f8['push']('world3'));
}
,
_0x3b68a9['BindLightShadow'] = function(_0x1c45fe, _0x22ce70, _0x3eab14, _0x1ef9dd) {
if (_0x1c45fe['shadowEnabled'] && _0x22ce70['receiveShadows']) {
var _0x7292f1 = _0x1c45fe['getShadowGenerator']();
_0x7292f1 && _0x7292f1['bindShadowLight'](_0x3eab14, _0x1ef9dd);
}
}
,
_0x3b68a9['BindLightProperties'] = function(_0x656f46, _0x27ee5a, _0x156b4c) {
_0x656f46['transferToEffect'](_0x27ee5a, _0x156b4c + '');
}
,
_0x3b68a9['BindLights'] = function(_0x321aed, _0x103f76, _0x4c051a, _0xfeaae6, _0x590ba2, _0x3151f1) {
void 0x0 === _0x590ba2 && (_0x590ba2 = 0x4),
void 0x0 === _0x3151f1 && (_0x3151f1 = !0x1);
for (var _0x591b9b = Math['min'](_0x103f76['lightSources']['length'], _0x590ba2), _0x450175 = 0x0; _0x450175 < _0x591b9b; _0x450175++) {
var _0x25f646 = _0x103f76['lightSources'][_0x450175]
, _0x30d5e7 = _0x450175['toString']()
, _0x550860 = _0x25f646['getScaledIntensity']();
_0x25f646['_uniformBuffer']['bindToEffect'](_0x4c051a, 'Light' + _0x450175),
_0x3b68a9['BindLightProperties'](_0x25f646, _0x4c051a, _0x450175),
_0x25f646['diffuse']['scaleToRef'](_0x550860, _0x24ac2a['t']['Color3'][0x0]),
_0x25f646['_uniformBuffer']['updateColor4']('vLightDiffuse', _0x24ac2a['t']['Color3'][0x0], _0x3151f1 ? _0x25f646['radius'] : _0x25f646['range'], _0x30d5e7),
_0xfeaae6['SPECULARTERM'] && (_0x25f646['specular']['scaleToRef'](_0x550860, _0x24ac2a['t']['Color3'][0x1]),
_0x25f646['_uniformBuffer']['updateColor3']('vLightSpecular', _0x24ac2a['t']['Color3'][0x1], _0x30d5e7)),
_0x321aed['shadowsEnabled'] && this['BindLightShadow'](_0x25f646, _0x103f76, _0x30d5e7, _0x4c051a),
_0x25f646['_uniformBuffer']['update']();
}
}
,
_0x3b68a9['BindFogParameters'] = function(_0x465d1e, _0x3e9972, _0x419d47, _0x4e983e) {
void 0x0 === _0x4e983e && (_0x4e983e = !0x1),
_0x465d1e['fogEnabled'] && _0x3e9972['applyFog'] && _0x465d1e['fogMode'] !== _0x5545aa['a']['FOGMODE_NONE'] && (_0x419d47['setFloat4']('vFogInfos', _0x465d1e['fogMode'], _0x465d1e['fogStart'], _0x465d1e['fogEnd'], _0x465d1e['fogDensity']),
_0x4e983e ? (_0x465d1e['fogColor']['toLinearSpaceToRef'](this['_tempFogColor']),
_0x419d47['setColor3']('vFogColor', this['_tempFogColor'])) : _0x419d47['setColor3']('vFogColor', _0x465d1e['fogColor']));
}
,
_0x3b68a9['BindBonesParameters'] = function(_0x2ab38a, _0x4bb25b) {
if (_0x4bb25b && _0x2ab38a && (_0x2ab38a['computeBonesUsingShaders'] && _0x4bb25b['_bonesComputationForcedToCPU'] && (_0x2ab38a['computeBonesUsingShaders'] = !0x1),
_0x2ab38a['useBones'] && _0x2ab38a['computeBonesUsingShaders'] && _0x2ab38a['skeleton'])) {
var _0x578a4e = _0x2ab38a['skeleton'];
if (_0x578a4e['isUsingTextureForMatrices'] && _0x4bb25b['getUniformIndex']('boneTextureWidth') > -0x1) {
var _0x5ec79b = _0x578a4e['getTransformMatrixTexture']();
_0x4bb25b['setTexture']('boneSampler', _0x5ec79b),
_0x4bb25b['setFloat']('boneTextureWidth', 0x4 * (_0x578a4e['bones']['length'] + 0x1));
} else {
var _0x4a702b = _0x578a4e['getTransformMatrices'](_0x2ab38a);
_0x4a702b && _0x4bb25b['setMatrices']('mBones', _0x4a702b);
}
}
}
,
_0x3b68a9['BindMorphTargetParameters'] = function(_0x355e7e, _0x109ea0) {
var _0x518c8a = _0x355e7e['morphTargetManager'];
_0x355e7e && _0x518c8a && _0x109ea0['setFloatArray']('morphTargetInfluences', _0x518c8a['influences']);
}
,
_0x3b68a9['BindLogDepth'] = function(_0x599b74, _0xbb0c, _0x46e364) {
_0x599b74['LOGARITHMICDEPTH'] && _0xbb0c['setFloat']('logarithmicDepthConstant', 0x2 / (Math['log'](_0x46e364['activeCamera']['maxZ'] + 0x1) / Math['LN2']));
}
,
_0x3b68a9['BindClipPlane'] = function(_0x3ea5dd, _0x382b4f) {
if (_0x382b4f['clipPlane']) {
var _0x11c3a3 = _0x382b4f['clipPlane'];
_0x3ea5dd['setFloat4']('vClipPlane', _0x11c3a3['normal']['x'], _0x11c3a3['normal']['y'], _0x11c3a3['normal']['z'], _0x11c3a3['d']);
}
if (_0x382b4f['clipPlane2']) {
_0x11c3a3 = _0x382b4f['clipPlane2'];
_0x3ea5dd['setFloat4']('vClipPlane2', _0x11c3a3['normal']['x'], _0x11c3a3['normal']['y'], _0x11c3a3['normal']['z'], _0x11c3a3['d']);
}
if (_0x382b4f['clipPlane3']) {
_0x11c3a3 = _0x382b4f['clipPlane3'];
_0x3ea5dd['setFloat4']('vClipPlane3', _0x11c3a3['normal']['x'], _0x11c3a3['normal']['y'], _0x11c3a3['normal']['z'], _0x11c3a3['d']);
}
if (_0x382b4f['clipPlane4']) {
_0x11c3a3 = _0x382b4f['clipPlane4'];
_0x3ea5dd['setFloat4']('vClipPlane4', _0x11c3a3['normal']['x'], _0x11c3a3['normal']['y'], _0x11c3a3['normal']['z'], _0x11c3a3['d']);
}
}
,
_0x3b68a9['_tempFogColor'] = _0x24ac2a['e']['Black'](),
_0x3b68a9;
}();
}
, function(_0x1740b4, _0x5456c0, _0x2fb05f) {
'use strict';
var _0x1760d6 = _0x2fb05f(0x1)
, _0x24e4b1 = _0x2fb05f(0x9)
, _0x4581c2 = _0x2fb05f(0x2f)
, _0x3e0758 = _0x2fb05f(0x8)
, _0x534a58 = _0x2fb05f(0x1c)
, _0x528b6e = _0x2fb05f(0x3d)
, _0x17764a = _0x2fb05f(0x1d)
, _0x4b6821 = _0x2fb05f(0x0)
, _0x3c6764 = _0x2fb05f(0x2a)
, _0xe57370 = _0x2fb05f(0x18)
, _0x5dfe75 = _0x2fb05f(0x15)
, _0x3f7016 = _0x2fb05f(0x1e)
, _0x30fcde = _0x2fb05f(0x1f)
, _0x3b8c1c = _0x2fb05f(0x3f)
, _0x3b7dc7 = _0x2fb05f(0x26)
, _0x3f9890 = _0x2fb05f(0x32)
, _0xa60415 = _0x2fb05f(0x24)
, _0x32dcb0 = _0x2fb05f(0x53)
, _0x5e197e = _0x2fb05f(0x5b)
, _0xc9b536 = _0x2fb05f(0xe)
, _0x22ca5d = _0x2fb05f(0x3)
, _0x52f86b = _0x2fb05f(0x23)
, _0x2bda6b = _0x2fb05f(0x6)
, _0xce6890 = _0x2fb05f(0x17)
, _0x28a876 = _0x2fb05f(0x13)
, _0x1731fb = _0x2fb05f(0x11)
, _0x2205bb = _0x2fb05f(0x4f)
, _0x48eeea = _0x2fb05f(0x33)
, _0x2cedff = function() {
function _0x5ba601() {
this['_singleClick'] = !0x1,
this['_doubleClick'] = !0x1,
this['_hasSwiped'] = !0x1,
this['_ignore'] = !0x1;
}
return Object['defineProperty'](_0x5ba601['prototype'], 'singleClick', {
'get': function() {
return this['_singleClick'];
},
'set': function(_0x23a9a4) {
this['_singleClick'] = _0x23a9a4;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5ba601['prototype'], 'doubleClick', {
'get': function() {
return this['_doubleClick'];
},
'set': function(_0x533ab9) {
this['_doubleClick'] = _0x533ab9;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5ba601['prototype'], 'hasSwiped', {
'get': function() {
return this['_hasSwiped'];
},
'set': function(_0x252760) {
this['_hasSwiped'] = _0x252760;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5ba601['prototype'], 'ignore', {
'get': function() {
return this['_ignore'];
},
'set': function(_0x50895d) {
this['_ignore'] = _0x50895d;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5ba601;
}()
, _0x2c78b5 = function() {
function _0x336ea1(_0x2c4898) {
this['_wheelEventName'] = '',
this['_meshPickProceed'] = !0x1,
this['_currentPickResult'] = null,
this['_previousPickResult'] = null,
this['_totalPointersPressed'] = 0x0,
this['_doubleClickOccured'] = !0x1,
this['_pointerX'] = 0x0,
this['_pointerY'] = 0x0,
this['_startingPointerPosition'] = new _0x4b6821['w'](0x0,0x0),
this['_previousStartingPointerPosition'] = new _0x4b6821['w'](0x0,0x0),
this['_startingPointerTime'] = 0x0,
this['_previousStartingPointerTime'] = 0x0,
this['_pointerCaptures'] = {},
this['_scene'] = _0x2c4898;
}
return Object['defineProperty'](_0x336ea1['prototype'], 'meshUnderPointer', {
'get': function() {
return this['_pointerOverMesh'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x336ea1['prototype'], 'unTranslatedPointer', {
'get': function() {
return new _0x4b6821['w'](this['_unTranslatedPointerX'],this['_unTranslatedPointerY']);
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x336ea1['prototype'], 'pointerX', {
'get': function() {
return this['_pointerX'];
},
'set': function(_0x2bd3d4) {
this['_pointerX'] = _0x2bd3d4;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x336ea1['prototype'], 'pointerY', {
'get': function() {
return this['_pointerY'];
},
'set': function(_0x38b26a) {
this['_pointerY'] = _0x38b26a;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x336ea1['prototype']['_updatePointerPosition'] = function(_0x355df4) {
var _0x2897ac = this['_scene']['getEngine']()['getRenderingCanvasClientRect']();
_0x2897ac && (this['_pointerX'] = _0x355df4['clientX'] - _0x2897ac['left'],
this['_pointerY'] = _0x355df4['clientY'] - _0x2897ac['top'],
this['_unTranslatedPointerX'] = this['_pointerX'],
this['_unTranslatedPointerY'] = this['_pointerY']);
}
,
_0x336ea1['prototype']['_processPointerMove'] = function(_0x564d55, _0x48d7fd) {
var _0x45cfee = this['_scene']
, _0xe4e62f = _0x45cfee['getEngine']()['getRenderingCanvas']();
if (_0xe4e62f) {
_0xe4e62f['tabIndex'] = 0x1,
_0xe4e62f['style']['cursor'] = _0x45cfee['defaultCursor'];
var _0x236dc9 = !!(_0x564d55 && _0x564d55['hit'] && _0x564d55['pickedMesh']);
_0x236dc9 ? (_0x45cfee['setPointerOverMesh'](_0x564d55['pickedMesh']),
this['_pointerOverMesh'] && this['_pointerOverMesh']['actionManager'] && this['_pointerOverMesh']['actionManager']['hasPointerTriggers'] && (this['_pointerOverMesh']['actionManager']['hoverCursor'] ? _0xe4e62f['style']['cursor'] = this['_pointerOverMesh']['actionManager']['hoverCursor'] : _0xe4e62f['style']['cursor'] = _0x45cfee['hoverCursor'])) : _0x45cfee['setPointerOverMesh'](null);
for (var _0x1b4b74 = 0x0, _0x3c3c48 = _0x45cfee['_pointerMoveStage']; _0x1b4b74 < _0x3c3c48['length']; _0x1b4b74++) {
_0x564d55 = _0x3c3c48[_0x1b4b74]['action'](this['_unTranslatedPointerX'], this['_unTranslatedPointerY'], _0x564d55, _0x236dc9, _0xe4e62f);
}
if (_0x564d55) {
var _0x53e23d = _0x48d7fd['type'] === this['_wheelEventName'] ? _0x1731fb['a']['POINTERWHEEL'] : _0x1731fb['a']['POINTERMOVE'];
if (_0x45cfee['onPointerMove'] && _0x45cfee['onPointerMove'](_0x48d7fd, _0x564d55, _0x53e23d),
_0x45cfee['onPointerObservable']['hasObservers']()) {
var _0x3ea6f1 = new _0x1731fb['b'](_0x53e23d,_0x48d7fd,_0x564d55);
this['_setRayOnPointerInfo'](_0x3ea6f1),
_0x45cfee['onPointerObservable']['notifyObservers'](_0x3ea6f1, _0x53e23d);
}
}
}
}
,
_0x336ea1['prototype']['_setRayOnPointerInfo'] = function(_0x496a83) {
var _0x42b333 = this['_scene'];
_0x496a83['pickInfo'] && !_0x496a83['pickInfo']['_pickingUnavailable'] && (_0x496a83['pickInfo']['ray'] || (_0x496a83['pickInfo']['ray'] = _0x42b333['createPickingRay'](_0x496a83['event']['offsetX'], _0x496a83['event']['offsetY'], _0x4b6821['j']['Identity'](), _0x42b333['activeCamera'])));
}
,
_0x336ea1['prototype']['_checkPrePointerObservable'] = function(_0xa71d47, _0x205582, _0x583ba2) {
var _0x3ab7b8 = this['_scene']
, _0x5a7f52 = new _0x1731fb['d'](_0x583ba2,_0x205582,this['_unTranslatedPointerX'],this['_unTranslatedPointerY']);
return _0xa71d47 && (_0x5a7f52['ray'] = _0xa71d47['ray']),
_0x3ab7b8['onPrePointerObservable']['notifyObservers'](_0x5a7f52, _0x583ba2),
!!_0x5a7f52['skipOnPointerObservable'];
}
,
_0x336ea1['prototype']['simulatePointerMove'] = function(_0x182fe2, _0x4d6b80) {
var _0x385ba3 = new PointerEvent('pointermove',_0x4d6b80);
this['_checkPrePointerObservable'](_0x182fe2, _0x385ba3, _0x1731fb['a']['POINTERMOVE']) || this['_processPointerMove'](_0x182fe2, _0x385ba3);
}
,
_0x336ea1['prototype']['simulatePointerDown'] = function(_0x159383, _0x48c459) {
var _0x51fa56 = new PointerEvent('pointerdown',_0x48c459);
this['_checkPrePointerObservable'](_0x159383, _0x51fa56, _0x1731fb['a']['POINTERDOWN']) || this['_processPointerDown'](_0x159383, _0x51fa56);
}
,
_0x336ea1['prototype']['_processPointerDown'] = function(_0x57171e, _0x4ddcc5) {
var _0x14bb00 = this
, _0x37b80d = this['_scene'];
if (_0x57171e && _0x57171e['hit'] && _0x57171e['pickedMesh']) {
this['_pickedDownMesh'] = _0x57171e['pickedMesh'];
var _0x1210e6 = _0x57171e['pickedMesh']['actionManager'];
if (_0x1210e6) {
if (_0x1210e6['hasPickTriggers'])
switch (_0x1210e6['processTrigger'](_0x22ca5d['a']['ACTION_OnPickDownTrigger'], _0xa60415['a']['CreateNew'](_0x57171e['pickedMesh'], _0x4ddcc5)),
_0x4ddcc5['button']) {
case 0x0:
_0x1210e6['processTrigger'](_0x22ca5d['a']['ACTION_OnLeftPickTrigger'], _0xa60415['a']['CreateNew'](_0x57171e['pickedMesh'], _0x4ddcc5));
break;
case 0x1:
_0x1210e6['processTrigger'](_0x22ca5d['a']['ACTION_OnCenterPickTrigger'], _0xa60415['a']['CreateNew'](_0x57171e['pickedMesh'], _0x4ddcc5));
break;
case 0x2:
_0x1210e6['processTrigger'](_0x22ca5d['a']['ACTION_OnRightPickTrigger'], _0xa60415['a']['CreateNew'](_0x57171e['pickedMesh'], _0x4ddcc5));
}
_0x1210e6['hasSpecificTrigger'](_0x22ca5d['a']['ACTION_OnLongPressTrigger']) && window['setTimeout'](function() {
var _0x4684d9 = _0x37b80d['pick'](_0x14bb00['_unTranslatedPointerX'], _0x14bb00['_unTranslatedPointerY'], function(_0x623d32) {
return _0x623d32['isPickable'] && _0x623d32['isVisible'] && _0x623d32['isReady']() && _0x623d32['actionManager'] && _0x623d32['actionManager']['hasSpecificTrigger'](_0x22ca5d['a']['ACTION_OnLongPressTrigger']) && _0x623d32 == _0x14bb00['_pickedDownMesh'];
}, !0x1, _0x37b80d['cameraToUseForPointers']);
_0x4684d9 && _0x4684d9['hit'] && _0x4684d9['pickedMesh'] && _0x1210e6 && 0x0 !== _0x14bb00['_totalPointersPressed'] && Date['now']() - _0x14bb00['_startingPointerTime'] > _0x336ea1['LongPressDelay'] && !_0x14bb00['_isPointerSwiping']() && (_0x14bb00['_startingPointerTime'] = 0x0,
_0x1210e6['processTrigger'](_0x22ca5d['a']['ACTION_OnLongPressTrigger'], _0xa60415['a']['CreateNew'](_0x4684d9['pickedMesh'], _0x4ddcc5)));
}, _0x336ea1['LongPressDelay']);
}
} else
for (var _0x560810 = 0x0, _0x16c5dc = _0x37b80d['_pointerDownStage']; _0x560810 < _0x16c5dc['length']; _0x560810++) {
_0x57171e = _0x16c5dc[_0x560810]['action'](this['_unTranslatedPointerX'], this['_unTranslatedPointerY'], _0x57171e, _0x4ddcc5);
}
if (_0x57171e) {
var _0x5f4f04 = _0x1731fb['a']['POINTERDOWN'];
if (_0x37b80d['onPointerDown'] && _0x37b80d['onPointerDown'](_0x4ddcc5, _0x57171e, _0x5f4f04),
_0x37b80d['onPointerObservable']['hasObservers']()) {
var _0x159963 = new _0x1731fb['b'](_0x5f4f04,_0x4ddcc5,_0x57171e);
this['_setRayOnPointerInfo'](_0x159963),
_0x37b80d['onPointerObservable']['notifyObservers'](_0x159963, _0x5f4f04);
}
}
}
,
_0x336ea1['prototype']['_isPointerSwiping'] = function() {
return Math['abs'](this['_startingPointerPosition']['x'] - this['_pointerX']) > _0x336ea1['DragMovementThreshold'] || Math['abs'](this['_startingPointerPosition']['y'] - this['_pointerY']) > _0x336ea1['DragMovementThreshold'];
}
,
_0x336ea1['prototype']['simulatePointerUp'] = function(_0x5bc33b, _0x559766, _0x3f26db) {
var _0x4efcaf = new PointerEvent('pointerup',_0x559766)
, _0x4230c3 = new _0x2cedff();
_0x3f26db ? _0x4230c3['doubleClick'] = !0x0 : _0x4230c3['singleClick'] = !0x0,
this['_checkPrePointerObservable'](_0x5bc33b, _0x4efcaf, _0x1731fb['a']['POINTERUP']) || this['_processPointerUp'](_0x5bc33b, _0x4efcaf, _0x4230c3);
}
,
_0x336ea1['prototype']['_processPointerUp'] = function(_0x50de52, _0x225180, _0x3abf71) {
var _0x3fa075 = this['_scene'];
if (_0x50de52 && _0x50de52 && _0x50de52['pickedMesh']) {
if (this['_pickedUpMesh'] = _0x50de52['pickedMesh'],
this['_pickedDownMesh'] === this['_pickedUpMesh'] && (_0x3fa075['onPointerPick'] && _0x3fa075['onPointerPick'](_0x225180, _0x50de52),
_0x3abf71['singleClick'] && !_0x3abf71['ignore'] && _0x3fa075['onPointerObservable']['hasObservers']())) {
var _0x5eead4 = _0x1731fb['a']['POINTERPICK']
, _0x79f41f = new _0x1731fb['b'](_0x5eead4,_0x225180,_0x50de52);
this['_setRayOnPointerInfo'](_0x79f41f),
_0x3fa075['onPointerObservable']['notifyObservers'](_0x79f41f, _0x5eead4);
}
var _0x523b36 = _0x50de52['pickedMesh']['_getActionManagerForTrigger']();
if (_0x523b36 && !_0x3abf71['ignore']) {
_0x523b36['processTrigger'](_0x22ca5d['a']['ACTION_OnPickUpTrigger'], _0xa60415['a']['CreateNew'](_0x50de52['pickedMesh'], _0x225180)),
!_0x3abf71['hasSwiped'] && _0x3abf71['singleClick'] && _0x523b36['processTrigger'](_0x22ca5d['a']['ACTION_OnPickTrigger'], _0xa60415['a']['CreateNew'](_0x50de52['pickedMesh'], _0x225180));
var _0x4a10ed = _0x50de52['pickedMesh']['_getActionManagerForTrigger'](_0x22ca5d['a']['ACTION_OnDoublePickTrigger']);
_0x3abf71['doubleClick'] && _0x4a10ed && _0x4a10ed['processTrigger'](_0x22ca5d['a']['ACTION_OnDoublePickTrigger'], _0xa60415['a']['CreateNew'](_0x50de52['pickedMesh'], _0x225180));
}
} else if (!_0x3abf71['ignore'])
for (var _0x1f7bd4 = 0x0, _0x192753 = _0x3fa075['_pointerUpStage']; _0x1f7bd4 < _0x192753['length']; _0x1f7bd4++) {
_0x50de52 = _0x192753[_0x1f7bd4]['action'](this['_unTranslatedPointerX'], this['_unTranslatedPointerY'], _0x50de52, _0x225180);
}
if (this['_pickedDownMesh'] && this['_pickedDownMesh'] !== this['_pickedUpMesh']) {
var _0x3e0bf9 = this['_pickedDownMesh']['_getActionManagerForTrigger'](_0x22ca5d['a']['ACTION_OnPickOutTrigger']);
_0x3e0bf9 && _0x3e0bf9['processTrigger'](_0x22ca5d['a']['ACTION_OnPickOutTrigger'], _0xa60415['a']['CreateNew'](this['_pickedDownMesh'], _0x225180));
}
var _0x37a28b = 0x0;
if (_0x3fa075['onPointerObservable']['hasObservers']()) {
if (!_0x3abf71['ignore'] && !_0x3abf71['hasSwiped'] && (_0x3abf71['singleClick'] && _0x3fa075['onPointerObservable']['hasSpecificMask'](_0x1731fb['a']['POINTERTAP']) ? _0x37a28b = _0x1731fb['a']['POINTERTAP'] : _0x3abf71['doubleClick'] && _0x3fa075['onPointerObservable']['hasSpecificMask'](_0x1731fb['a']['POINTERDOUBLETAP']) && (_0x37a28b = _0x1731fb['a']['POINTERDOUBLETAP']),
_0x37a28b)) {
_0x79f41f = new _0x1731fb['b'](_0x37a28b,_0x225180,_0x50de52);
this['_setRayOnPointerInfo'](_0x79f41f),
_0x3fa075['onPointerObservable']['notifyObservers'](_0x79f41f, _0x37a28b);
}
if (!_0x3abf71['ignore']) {
_0x37a28b = _0x1731fb['a']['POINTERUP'];
_0x79f41f = new _0x1731fb['b'](_0x37a28b,_0x225180,_0x50de52);
this['_setRayOnPointerInfo'](_0x79f41f),
_0x3fa075['onPointerObservable']['notifyObservers'](_0x79f41f, _0x37a28b);
}
}
_0x3fa075['onPointerUp'] && !_0x3abf71['ignore'] && _0x3fa075['onPointerUp'](_0x225180, _0x50de52, _0x37a28b);
}
,
_0x336ea1['prototype']['isPointerCaptured'] = function(_0x29c289) {
return void 0x0 === _0x29c289 && (_0x29c289 = 0x0),
this['_pointerCaptures'][_0x29c289];
}
,
_0x336ea1['prototype']['attachControl'] = function(_0x34fb9b, _0x57e470, _0x1896f7) {
var _0x28a008 = this;
void 0x0 === _0x34fb9b && (_0x34fb9b = !0x0),
void 0x0 === _0x57e470 && (_0x57e470 = !0x0),
void 0x0 === _0x1896f7 && (_0x1896f7 = !0x0);
var _0x2f057a = this['_scene']
, _0x1e1b27 = _0x2f057a['getEngine']()['getRenderingCanvas']();
if (_0x1e1b27) {
var _0x696351 = _0x2f057a['getEngine']();
this['_initActionManager'] = function(_0x25c787, _0x4289a2) {
if (!_0x28a008['_meshPickProceed']) {
var _0x112556 = _0x2f057a['pick'](_0x28a008['_unTranslatedPointerX'], _0x28a008['_unTranslatedPointerY'], _0x2f057a['pointerDownPredicate'], !0x1, _0x2f057a['cameraToUseForPointers']);
_0x28a008['_currentPickResult'] = _0x112556,
_0x112556 && (_0x25c787 = _0x112556['hit'] && _0x112556['pickedMesh'] ? _0x112556['pickedMesh']['_getActionManagerForTrigger']() : null),
_0x28a008['_meshPickProceed'] = !0x0;
}
return _0x25c787;
}
,
this['_delayedSimpleClick'] = function(_0x3ef6e1, _0x1dea92, _0x3e0b39) {
(Date['now']() - _0x28a008['_previousStartingPointerTime'] > _0x336ea1['DoubleClickDelay'] && !_0x28a008['_doubleClickOccured'] || _0x3ef6e1 !== _0x28a008['_previousButtonPressed']) && (_0x28a008['_doubleClickOccured'] = !0x1,
_0x1dea92['singleClick'] = !0x0,
_0x1dea92['ignore'] = !0x1,
_0x3e0b39(_0x1dea92, _0x28a008['_currentPickResult']));
}
,
this['_initClickEvent'] = function(_0x11a467, _0x1d64cc, _0x40d123, _0x8cad85) {
var _0x45be69 = new _0x2cedff();
_0x28a008['_currentPickResult'] = null;
var _0x70263 = null
, _0x161b34 = _0x11a467['hasSpecificMask'](_0x1731fb['a']['POINTERPICK']) || _0x1d64cc['hasSpecificMask'](_0x1731fb['a']['POINTERPICK']) || _0x11a467['hasSpecificMask'](_0x1731fb['a']['POINTERTAP']) || _0x1d64cc['hasSpecificMask'](_0x1731fb['a']['POINTERTAP']) || _0x11a467['hasSpecificMask'](_0x1731fb['a']['POINTERDOUBLETAP']) || _0x1d64cc['hasSpecificMask'](_0x1731fb['a']['POINTERDOUBLETAP']);
!_0x161b34 && _0x2205bb['a'] && (_0x70263 = _0x28a008['_initActionManager'](_0x70263, _0x45be69)) && (_0x161b34 = _0x70263['hasPickTriggers']);
var _0x40f36a = !0x1;
if (_0x161b34) {
var _0x38f43e = _0x40d123['button'];
if (_0x45be69['hasSwiped'] = _0x28a008['_isPointerSwiping'](),
!_0x45be69['hasSwiped']) {
var _0x11755a = !_0x336ea1['ExclusiveDoubleClickMode'];
_0x11755a || (_0x11755a = !_0x11a467['hasSpecificMask'](_0x1731fb['a']['POINTERDOUBLETAP']) && !_0x1d64cc['hasSpecificMask'](_0x1731fb['a']['POINTERDOUBLETAP'])) && !_0x2205bb['a']['HasSpecificTrigger'](_0x22ca5d['a']['ACTION_OnDoublePickTrigger']) && (_0x70263 = _0x28a008['_initActionManager'](_0x70263, _0x45be69)) && (_0x11755a = !_0x70263['hasSpecificTrigger'](_0x22ca5d['a']['ACTION_OnDoublePickTrigger'])),
_0x11755a ? (Date['now']() - _0x28a008['_previousStartingPointerTime'] > _0x336ea1['DoubleClickDelay'] || _0x38f43e !== _0x28a008['_previousButtonPressed']) && (_0x45be69['singleClick'] = !0x0,
_0x8cad85(_0x45be69, _0x28a008['_currentPickResult']),
_0x40f36a = !0x0) : (_0x28a008['_previousDelayedSimpleClickTimeout'] = _0x28a008['_delayedSimpleClickTimeout'],
_0x28a008['_delayedSimpleClickTimeout'] = window['setTimeout'](_0x28a008['_delayedSimpleClick']['bind'](_0x28a008, _0x38f43e, _0x45be69, _0x8cad85), _0x336ea1['DoubleClickDelay']));
var _0x2b704d = _0x11a467['hasSpecificMask'](_0x1731fb['a']['POINTERDOUBLETAP']) || _0x1d64cc['hasSpecificMask'](_0x1731fb['a']['POINTERDOUBLETAP']);
!_0x2b704d && _0x2205bb['a']['HasSpecificTrigger'](_0x22ca5d['a']['ACTION_OnDoublePickTrigger']) && (_0x70263 = _0x28a008['_initActionManager'](_0x70263, _0x45be69)) && (_0x2b704d = _0x70263['hasSpecificTrigger'](_0x22ca5d['a']['ACTION_OnDoublePickTrigger'])),
_0x2b704d && (_0x38f43e === _0x28a008['_previousButtonPressed'] && Date['now']() - _0x28a008['_previousStartingPointerTime'] < _0x336ea1['DoubleClickDelay'] && !_0x28a008['_doubleClickOccured'] ? (_0x45be69['hasSwiped'] || _0x28a008['_isPointerSwiping']() ? (_0x28a008['_doubleClickOccured'] = !0x1,
_0x28a008['_previousStartingPointerTime'] = _0x28a008['_startingPointerTime'],
_0x28a008['_previousStartingPointerPosition']['x'] = _0x28a008['_startingPointerPosition']['x'],
_0x28a008['_previousStartingPointerPosition']['y'] = _0x28a008['_startingPointerPosition']['y'],
_0x28a008['_previousButtonPressed'] = _0x38f43e,
_0x336ea1['ExclusiveDoubleClickMode'] ? (_0x28a008['_previousDelayedSimpleClickTimeout'] && clearTimeout(_0x28a008['_previousDelayedSimpleClickTimeout']),
_0x28a008['_previousDelayedSimpleClickTimeout'] = _0x28a008['_delayedSimpleClickTimeout'],
_0x8cad85(_0x45be69, _0x28a008['_previousPickResult'])) : _0x8cad85(_0x45be69, _0x28a008['_currentPickResult'])) : (_0x28a008['_previousStartingPointerTime'] = 0x0,
_0x28a008['_doubleClickOccured'] = !0x0,
_0x45be69['doubleClick'] = !0x0,
_0x45be69['ignore'] = !0x1,
_0x336ea1['ExclusiveDoubleClickMode'] && _0x28a008['_previousDelayedSimpleClickTimeout'] && clearTimeout(_0x28a008['_previousDelayedSimpleClickTimeout']),
_0x28a008['_previousDelayedSimpleClickTimeout'] = _0x28a008['_delayedSimpleClickTimeout'],
_0x8cad85(_0x45be69, _0x28a008['_currentPickResult'])),
_0x40f36a = !0x0) : (_0x28a008['_doubleClickOccured'] = !0x1,
_0x28a008['_previousStartingPointerTime'] = _0x28a008['_startingPointerTime'],
_0x28a008['_previousStartingPointerPosition']['x'] = _0x28a008['_startingPointerPosition']['x'],
_0x28a008['_previousStartingPointerPosition']['y'] = _0x28a008['_startingPointerPosition']['y'],
_0x28a008['_previousButtonPressed'] = _0x38f43e));
}
}
_0x40f36a || _0x8cad85(_0x45be69, _0x28a008['_currentPickResult']);
}
,
this['_onPointerMove'] = function(_0x48e428) {
if (_0x28a008['_updatePointerPosition'](_0x48e428),
!_0x28a008['_checkPrePointerObservable'](null, _0x48e428, _0x48e428['type'] === _0x28a008['_wheelEventName'] ? _0x1731fb['a']['POINTERWHEEL'] : _0x1731fb['a']['POINTERMOVE']) && (_0x2f057a['cameraToUseForPointers'] || _0x2f057a['activeCamera'])) {
_0x2f057a['pointerMovePredicate'] || (_0x2f057a['pointerMovePredicate'] = function(_0x2e30b6) {
return _0x2e30b6['isPickable'] && _0x2e30b6['isVisible'] && _0x2e30b6['isReady']() && _0x2e30b6['isEnabled']() && (_0x2e30b6['enablePointerMoveEvents'] || _0x2f057a['constantlyUpdateMeshUnderPointer'] || null !== _0x2e30b6['actionManager'] && void 0x0 !== _0x2e30b6['actionManager']) && (!_0x2f057a['cameraToUseForPointers'] || 0x0 != (_0x2f057a['cameraToUseForPointers']['layerMask'] & _0x2e30b6['layerMask']));
}
);
var _0x2fd272 = _0x2f057a['pick'](_0x28a008['_unTranslatedPointerX'], _0x28a008['_unTranslatedPointerY'], _0x2f057a['pointerMovePredicate'], !0x1, _0x2f057a['cameraToUseForPointers']);
_0x28a008['_processPointerMove'](_0x2fd272, _0x48e428);
}
}
,
this['_onPointerDown'] = function(_0x43649e) {
if (_0x28a008['_totalPointersPressed']++,
_0x28a008['_pickedDownMesh'] = null,
_0x28a008['_meshPickProceed'] = !0x1,
_0x28a008['_updatePointerPosition'](_0x43649e),
_0x2f057a['preventDefaultOnPointerDown'] && _0x1e1b27 && (_0x43649e['preventDefault'](),
_0x1e1b27['focus']()),
_0x28a008['_startingPointerPosition']['x'] = _0x28a008['_pointerX'],
_0x28a008['_startingPointerPosition']['y'] = _0x28a008['_pointerY'],
_0x28a008['_startingPointerTime'] = Date['now'](),
!_0x28a008['_checkPrePointerObservable'](null, _0x43649e, _0x1731fb['a']['POINTERDOWN']) && (_0x2f057a['cameraToUseForPointers'] || _0x2f057a['activeCamera'])) {
_0x28a008['_pointerCaptures'][_0x43649e['pointerId']] = !0x0,
_0x2f057a['pointerDownPredicate'] || (_0x2f057a['pointerDownPredicate'] = function(_0x157a7b) {
return _0x157a7b['isPickable'] && _0x157a7b['isVisible'] && _0x157a7b['isReady']() && _0x157a7b['isEnabled']() && (!_0x2f057a['cameraToUseForPointers'] || 0x0 != (_0x2f057a['cameraToUseForPointers']['layerMask'] & _0x157a7b['layerMask']));
}
),
_0x28a008['_pickedDownMesh'] = null;
var _0x40edac = _0x2f057a['pick'](_0x28a008['_unTranslatedPointerX'], _0x28a008['_unTranslatedPointerY'], _0x2f057a['pointerDownPredicate'], !0x1, _0x2f057a['cameraToUseForPointers']);
_0x28a008['_processPointerDown'](_0x40edac, _0x43649e);
}
}
,
this['_onPointerUp'] = function(_0x335460) {
0x0 !== _0x28a008['_totalPointersPressed'] && (_0x28a008['_totalPointersPressed']--,
_0x28a008['_pickedUpMesh'] = null,
_0x28a008['_meshPickProceed'] = !0x1,
_0x28a008['_updatePointerPosition'](_0x335460),
_0x2f057a['preventDefaultOnPointerUp'] && _0x1e1b27 && (_0x335460['preventDefault'](),
_0x1e1b27['focus']()),
_0x28a008['_initClickEvent'](_0x2f057a['onPrePointerObservable'], _0x2f057a['onPointerObservable'], _0x335460, function(_0x55bd78, _0x1398c8) {
if (_0x2f057a['onPrePointerObservable']['hasObservers']() && !_0x55bd78['ignore']) {
if (!_0x55bd78['hasSwiped']) {
if (_0x55bd78['singleClick'] && _0x2f057a['onPrePointerObservable']['hasSpecificMask'](_0x1731fb['a']['POINTERTAP']) && _0x28a008['_checkPrePointerObservable'](null, _0x335460, _0x1731fb['a']['POINTERTAP']))
return;
if (_0x55bd78['doubleClick'] && _0x2f057a['onPrePointerObservable']['hasSpecificMask'](_0x1731fb['a']['POINTERDOUBLETAP']) && _0x28a008['_checkPrePointerObservable'](null, _0x335460, _0x1731fb['a']['POINTERDOUBLETAP']))
return;
}
if (_0x28a008['_checkPrePointerObservable'](null, _0x335460, _0x1731fb['a']['POINTERUP']))
return;
}
_0x28a008['_pointerCaptures'][_0x335460['pointerId']] && (_0x28a008['_pointerCaptures'][_0x335460['pointerId']] = !0x1,
(_0x2f057a['cameraToUseForPointers'] || _0x2f057a['activeCamera']) && (_0x2f057a['pointerUpPredicate'] || (_0x2f057a['pointerUpPredicate'] = function(_0x2a3323) {
return _0x2a3323['isPickable'] && _0x2a3323['isVisible'] && _0x2a3323['isReady']() && _0x2a3323['isEnabled']() && (!_0x2f057a['cameraToUseForPointers'] || 0x0 != (_0x2f057a['cameraToUseForPointers']['layerMask'] & _0x2a3323['layerMask']));
}
),
!_0x28a008['_meshPickProceed'] && (_0x2205bb['a'] && _0x2205bb['a']['HasTriggers'] || _0x2f057a['onPointerObservable']['hasObservers']()) && _0x28a008['_initActionManager'](null, _0x55bd78),
_0x1398c8 || (_0x1398c8 = _0x28a008['_currentPickResult']),
_0x28a008['_processPointerUp'](_0x1398c8, _0x335460, _0x55bd78),
_0x28a008['_previousPickResult'] = _0x28a008['_currentPickResult']));
}));
}
,
this['_onKeyDown'] = function(_0x7e65ff) {
var _0x48d2a9 = _0x48eeea['a']['KEYDOWN'];
if (_0x2f057a['onPreKeyboardObservable']['hasObservers']()) {
var _0x59320c = new _0x48eeea['c'](_0x48d2a9,_0x7e65ff);
if (_0x2f057a['onPreKeyboardObservable']['notifyObservers'](_0x59320c, _0x48d2a9),
_0x59320c['skipOnPointerObservable'])
return;
}
if (_0x2f057a['onKeyboardObservable']['hasObservers']()) {
_0x59320c = new _0x48eeea['b'](_0x48d2a9,_0x7e65ff);
_0x2f057a['onKeyboardObservable']['notifyObservers'](_0x59320c, _0x48d2a9);
}
_0x2f057a['actionManager'] && _0x2f057a['actionManager']['processTrigger'](_0x22ca5d['a']['ACTION_OnKeyDownTrigger'], _0xa60415['a']['CreateNewFromScene'](_0x2f057a, _0x7e65ff));
}
,
this['_onKeyUp'] = function(_0x2bc747) {
var _0x2b6601 = _0x48eeea['a']['KEYUP'];
if (_0x2f057a['onPreKeyboardObservable']['hasObservers']()) {
var _0x594f4c = new _0x48eeea['c'](_0x2b6601,_0x2bc747);
if (_0x2f057a['onPreKeyboardObservable']['notifyObservers'](_0x594f4c, _0x2b6601),
_0x594f4c['skipOnPointerObservable'])
return;
}
if (_0x2f057a['onKeyboardObservable']['hasObservers']()) {
_0x594f4c = new _0x48eeea['b'](_0x2b6601,_0x2bc747);
_0x2f057a['onKeyboardObservable']['notifyObservers'](_0x594f4c, _0x2b6601);
}
_0x2f057a['actionManager'] && _0x2f057a['actionManager']['processTrigger'](_0x22ca5d['a']['ACTION_OnKeyUpTrigger'], _0xa60415['a']['CreateNewFromScene'](_0x2f057a, _0x2bc747));
}
,
this['_onCanvasFocusObserver'] = _0x696351['onCanvasFocusObservable']['add'](function() {
_0x1e1b27 && (_0x1e1b27['addEventListener']('keydown', _0x28a008['_onKeyDown'], !0x1),
_0x1e1b27['addEventListener']('keyup', _0x28a008['_onKeyUp'], !0x1));
}),
this['_onCanvasBlurObserver'] = _0x696351['onCanvasBlurObservable']['add'](function() {
_0x1e1b27 && (_0x1e1b27['removeEventListener']('keydown', _0x28a008['_onKeyDown']),
_0x1e1b27['removeEventListener']('keyup', _0x28a008['_onKeyUp']));
});
var _0x4fab6b = _0x24e4b1['h']['GetPointerPrefix']();
_0x1896f7 && (_0x1e1b27['addEventListener'](_0x4fab6b + 'move', this['_onPointerMove'], !0x1),
this['_wheelEventName'] = 'onwheel'in document['createElement']('div') ? 'wheel' : void 0x0 !== document['onmousewheel'] ? 'mousewheel' : 'DOMMouseScroll',
_0x1e1b27['addEventListener'](this['_wheelEventName'], this['_onPointerMove'], !0x1)),
_0x57e470 && _0x1e1b27['addEventListener'](_0x4fab6b + 'down', this['_onPointerDown'], !0x1),
_0x34fb9b && window['addEventListener'](_0x4fab6b + 'up', this['_onPointerUp'], !0x1);
}
}
,
_0x336ea1['prototype']['detachControl'] = function() {
var _0x537231 = _0x24e4b1['h']['GetPointerPrefix']()
, _0x53456c = this['_scene']['getEngine']()['getRenderingCanvas']()
, _0x30e82c = this['_scene']['getEngine']();
_0x53456c && (_0x53456c['removeEventListener'](_0x537231 + 'move', this['_onPointerMove']),
_0x53456c['removeEventListener'](_0x537231 + 'down', this['_onPointerDown']),
window['removeEventListener'](_0x537231 + 'up', this['_onPointerUp']),
this['_onCanvasBlurObserver'] && _0x30e82c['onCanvasBlurObservable']['remove'](this['_onCanvasBlurObserver']),
this['_onCanvasFocusObserver'] && _0x30e82c['onCanvasFocusObservable']['remove'](this['_onCanvasFocusObserver']),
_0x53456c['removeEventListener']('keydown', this['_onKeyDown']),
_0x53456c['removeEventListener']('keyup', this['_onKeyUp']),
_0x53456c['style']['cursor'] = this['_scene']['defaultCursor']);
}
,
_0x336ea1['prototype']['setPointerOverMesh'] = function(_0x235061) {
var _0x5ea87d;
this['_pointerOverMesh'] !== _0x235061 && (this['_pointerOverMesh'] && (_0x5ea87d = this['_pointerOverMesh']['_getActionManagerForTrigger'](_0x22ca5d['a']['ACTION_OnPointerOutTrigger'])) && _0x5ea87d['processTrigger'](_0x22ca5d['a']['ACTION_OnPointerOutTrigger'], _0xa60415['a']['CreateNew'](this['_pointerOverMesh'])),
this['_pointerOverMesh'] = _0x235061,
this['_pointerOverMesh'] && (_0x5ea87d = this['_pointerOverMesh']['_getActionManagerForTrigger'](_0x22ca5d['a']['ACTION_OnPointerOverTrigger'])) && _0x5ea87d['processTrigger'](_0x22ca5d['a']['ACTION_OnPointerOverTrigger'], _0xa60415['a']['CreateNew'](this['_pointerOverMesh'])));
}
,
_0x336ea1['prototype']['getPointerOverMesh'] = function() {
return this['_pointerOverMesh'];
}
,
_0x336ea1['DragMovementThreshold'] = 0xa,
_0x336ea1['LongPressDelay'] = 0x1f4,
_0x336ea1['DoubleClickDelay'] = 0x12c,
_0x336ea1['ExclusiveDoubleClickMode'] = !0x1,
_0x336ea1;
}();
_0x2fb05f['d'](_0x5456c0, 'a', function() {
return _0xc674be;
});
var _0xc674be = function(_0x2e6ae8) {
function _0x5b6241(_0x215ebd, _0x267dca) {
var _0x549857 = _0x2e6ae8['call'](this) || this;
return _0x549857['_inputManager'] = new _0x2c78b5(_0x549857),
_0x549857['cameraToUseForPointers'] = null,
_0x549857['_isScene'] = !0x0,
_0x549857['autoClear'] = !0x0,
_0x549857['autoClearDepthAndStencil'] = !0x0,
_0x549857['clearColor'] = new _0x4b6821['f'](0.2,0.2,0.3,0x1),
_0x549857['ambientColor'] = new _0x4b6821['e'](0x0,0x0,0x0),
_0x549857['_forceWireframe'] = !0x1,
_0x549857['_forcePointsCloud'] = !0x1,
_0x549857['animationsEnabled'] = !0x0,
_0x549857['_animationPropertiesOverride'] = null,
_0x549857['useConstantAnimationDeltaTime'] = !0x1,
_0x549857['constantlyUpdateMeshUnderPointer'] = !0x1,
_0x549857['hoverCursor'] = 'pointer',
_0x549857['defaultCursor'] = '',
_0x549857['preventDefaultOnPointerDown'] = !0x0,
_0x549857['preventDefaultOnPointerUp'] = !0x0,
_0x549857['metadata'] = null,
_0x549857['reservedDataStore'] = null,
_0x549857['disableOfflineSupportExceptionRules'] = new Array(),
_0x549857['onDisposeObservable'] = new _0x3e0758['c'](),
_0x549857['_onDisposeObserver'] = null,
_0x549857['onBeforeRenderObservable'] = new _0x3e0758['c'](),
_0x549857['_onBeforeRenderObserver'] = null,
_0x549857['onAfterRenderObservable'] = new _0x3e0758['c'](),
_0x549857['_onAfterRenderObserver'] = null,
_0x549857['onBeforeAnimationsObservable'] = new _0x3e0758['c'](),
_0x549857['onAfterAnimationsObservable'] = new _0x3e0758['c'](),
_0x549857['onBeforeDrawPhaseObservable'] = new _0x3e0758['c'](),
_0x549857['onAfterDrawPhaseObservable'] = new _0x3e0758['c'](),
_0x549857['onReadyObservable'] = new _0x3e0758['c'](),
_0x549857['onBeforeCameraRenderObservable'] = new _0x3e0758['c'](),
_0x549857['_onBeforeCameraRenderObserver'] = null,
_0x549857['onAfterCameraRenderObservable'] = new _0x3e0758['c'](),
_0x549857['_onAfterCameraRenderObserver'] = null,
_0x549857['onBeforeActiveMeshesEvaluationObservable'] = new _0x3e0758['c'](),
_0x549857['onAfterActiveMeshesEvaluationObservable'] = new _0x3e0758['c'](),
_0x549857['onBeforeParticlesRenderingObservable'] = new _0x3e0758['c'](),
_0x549857['onAfterParticlesRenderingObservable'] = new _0x3e0758['c'](),
_0x549857['onDataLoadedObservable'] = new _0x3e0758['c'](),
_0x549857['onNewCameraAddedObservable'] = new _0x3e0758['c'](),
_0x549857['onCameraRemovedObservable'] = new _0x3e0758['c'](),
_0x549857['onNewLightAddedObservable'] = new _0x3e0758['c'](),
_0x549857['onLightRemovedObservable'] = new _0x3e0758['c'](),
_0x549857['onNewGeometryAddedObservable'] = new _0x3e0758['c'](),
_0x549857['onGeometryRemovedObservable'] = new _0x3e0758['c'](),
_0x549857['onNewTransformNodeAddedObservable'] = new _0x3e0758['c'](),
_0x549857['onTransformNodeRemovedObservable'] = new _0x3e0758['c'](),
_0x549857['onNewMeshAddedObservable'] = new _0x3e0758['c'](),
_0x549857['onMeshRemovedObservable'] = new _0x3e0758['c'](),
_0x549857['onNewSkeletonAddedObservable'] = new _0x3e0758['c'](),
_0x549857['onSkeletonRemovedObservable'] = new _0x3e0758['c'](),
_0x549857['onNewMaterialAddedObservable'] = new _0x3e0758['c'](),
_0x549857['onMaterialRemovedObservable'] = new _0x3e0758['c'](),
_0x549857['onNewTextureAddedObservable'] = new _0x3e0758['c'](),
_0x549857['onTextureRemovedObservable'] = new _0x3e0758['c'](),
_0x549857['onBeforeRenderTargetsRenderObservable'] = new _0x3e0758['c'](),
_0x549857['onAfterRenderTargetsRenderObservable'] = new _0x3e0758['c'](),
_0x549857['onBeforeStepObservable'] = new _0x3e0758['c'](),
_0x549857['onAfterStepObservable'] = new _0x3e0758['c'](),
_0x549857['onActiveCameraChanged'] = new _0x3e0758['c'](),
_0x549857['onBeforeRenderingGroupObservable'] = new _0x3e0758['c'](),
_0x549857['onAfterRenderingGroupObservable'] = new _0x3e0758['c'](),
_0x549857['onMeshImportedObservable'] = new _0x3e0758['c'](),
_0x549857['_registeredForLateAnimationBindings'] = new _0x534a58['b'](0x100),
_0x549857['onPrePointerObservable'] = new _0x3e0758['c'](),
_0x549857['onPointerObservable'] = new _0x3e0758['c'](),
_0x549857['onPreKeyboardObservable'] = new _0x3e0758['c'](),
_0x549857['onKeyboardObservable'] = new _0x3e0758['c'](),
_0x549857['_useRightHandedSystem'] = !0x1,
_0x549857['_timeAccumulator'] = 0x0,
_0x549857['_currentStepId'] = 0x0,
_0x549857['_currentInternalStep'] = 0x0,
_0x549857['_fogEnabled'] = !0x0,
_0x549857['_fogMode'] = _0x5b6241['FOGMODE_NONE'],
_0x549857['fogColor'] = new _0x4b6821['e'](0.2,0.2,0.3),
_0x549857['fogDensity'] = 0.1,
_0x549857['fogStart'] = 0x0,
_0x549857['fogEnd'] = 0x3e8,
_0x549857['_shadowsEnabled'] = !0x0,
_0x549857['_lightsEnabled'] = !0x0,
_0x549857['activeCameras'] = new Array(),
_0x549857['_texturesEnabled'] = !0x0,
_0x549857['particlesEnabled'] = !0x0,
_0x549857['spritesEnabled'] = !0x0,
_0x549857['_skeletonsEnabled'] = !0x0,
_0x549857['lensFlaresEnabled'] = !0x0,
_0x549857['collisionsEnabled'] = !0x0,
_0x549857['gravity'] = new _0x4b6821['x'](0x0,-9.807,0x0),
_0x549857['postProcessesEnabled'] = !0x0,
_0x549857['postProcesses'] = new Array(),
_0x549857['renderTargetsEnabled'] = !0x0,
_0x549857['dumpNextRenderTargets'] = !0x1,
_0x549857['customRenderTargets'] = new Array(),
_0x549857['importedMeshesFiles'] = new Array(),
_0x549857['probesEnabled'] = !0x0,
_0x549857['_meshesForIntersections'] = new _0x534a58['b'](0x100),
_0x549857['proceduralTexturesEnabled'] = !0x0,
_0x549857['_totalVertices'] = new _0x24e4b1['f'](),
_0x549857['_activeIndices'] = new _0x24e4b1['f'](),
_0x549857['_activeParticles'] = new _0x24e4b1['f'](),
_0x549857['_activeBones'] = new _0x24e4b1['f'](),
_0x549857['_animationTime'] = 0x0,
_0x549857['animationTimeScale'] = 0x1,
_0x549857['_renderId'] = 0x0,
_0x549857['_frameId'] = 0x0,
_0x549857['_executeWhenReadyTimeoutId'] = -0x1,
_0x549857['_intermediateRendering'] = !0x1,
_0x549857['_viewUpdateFlag'] = -0x1,
_0x549857['_projectionUpdateFlag'] = -0x1,
_0x549857['_toBeDisposed'] = new Array(0x100),
_0x549857['_activeRequests'] = new Array(),
_0x549857['_pendingData'] = new Array(),
_0x549857['_isDisposed'] = !0x1,
_0x549857['dispatchAllSubMeshesOfActiveMeshes'] = !0x1,
_0x549857['_activeMeshes'] = new _0x534a58['a'](0x100),
_0x549857['_processedMaterials'] = new _0x534a58['a'](0x100),
_0x549857['_renderTargets'] = new _0x534a58['b'](0x100),
_0x549857['_activeParticleSystems'] = new _0x534a58['a'](0x100),
_0x549857['_activeSkeletons'] = new _0x534a58['b'](0x20),
_0x549857['_softwareSkinnedMeshes'] = new _0x534a58['b'](0x20),
_0x549857['_activeAnimatables'] = new Array(),
_0x549857['_transformMatrix'] = _0x4b6821['j']['Zero'](),
_0x549857['requireLightSorting'] = !0x1,
_0x549857['_components'] = [],
_0x549857['_serializableComponents'] = [],
_0x549857['_transientComponents'] = [],
_0x549857['_beforeCameraUpdateStage'] = _0xc9b536['b']['Create'](),
_0x549857['_beforeClearStage'] = _0xc9b536['b']['Create'](),
_0x549857['_gatherRenderTargetsStage'] = _0xc9b536['b']['Create'](),
_0x549857['_gatherActiveCameraRenderTargetsStage'] = _0xc9b536['b']['Create'](),
_0x549857['_isReadyForMeshStage'] = _0xc9b536['b']['Create'](),
_0x549857['_beforeEvaluateActiveMeshStage'] = _0xc9b536['b']['Create'](),
_0x549857['_evaluateSubMeshStage'] = _0xc9b536['b']['Create'](),
_0x549857['_activeMeshStage'] = _0xc9b536['b']['Create'](),
_0x549857['_cameraDrawRenderTargetStage'] = _0xc9b536['b']['Create'](),
_0x549857['_beforeCameraDrawStage'] = _0xc9b536['b']['Create'](),
_0x549857['_beforeRenderTargetDrawStage'] = _0xc9b536['b']['Create'](),
_0x549857['_beforeRenderingGroupDrawStage'] = _0xc9b536['b']['Create'](),
_0x549857['_beforeRenderingMeshStage'] = _0xc9b536['b']['Create'](),
_0x549857['_afterRenderingMeshStage'] = _0xc9b536['b']['Create'](),
_0x549857['_afterRenderingGroupDrawStage'] = _0xc9b536['b']['Create'](),
_0x549857['_afterCameraDrawStage'] = _0xc9b536['b']['Create'](),
_0x549857['_afterRenderTargetDrawStage'] = _0xc9b536['b']['Create'](),
_0x549857['_afterRenderStage'] = _0xc9b536['b']['Create'](),
_0x549857['_pointerMoveStage'] = _0xc9b536['b']['Create'](),
_0x549857['_pointerDownStage'] = _0xc9b536['b']['Create'](),
_0x549857['_pointerUpStage'] = _0xc9b536['b']['Create'](),
_0x549857['geometriesByUniqueId'] = null,
_0x549857['_defaultMeshCandidates'] = {
'data': [],
'length': 0x0
},
_0x549857['_defaultSubMeshCandidates'] = {
'data': [],
'length': 0x0
},
_0x549857['_preventFreeActiveMeshesAndRenderingGroups'] = !0x1,
_0x549857['_activeMeshesFrozen'] = !0x1,
_0x549857['_allowPostProcessClearColor'] = !0x0,
_0x549857['getDeterministicFrameTime'] = function() {
return 0x3e8 / 0x3c;
}
,
_0x549857['_blockMaterialDirtyMechanism'] = !0x1,
_0x549857['_engine'] = _0x215ebd || _0xce6890['a']['LastCreatedEngine'],
_0x267dca && _0x267dca['virtual'] || (_0xce6890['a']['_LastCreatedScene'] = _0x549857,
_0x549857['_engine']['scenes']['push'](_0x549857)),
_0x549857['_uid'] = null,
_0x549857['_renderingManager'] = new _0x5e197e['b'](_0x549857),
_0x32dcb0['a'] && (_0x549857['postProcessManager'] = new _0x32dcb0['a'](_0x549857)),
_0x52f86b['a']['IsWindowObjectExist']() && _0x549857['attachControl'](),
_0x549857['_createUbo'](),
_0x30fcde['a'] && (_0x549857['_imageProcessingConfiguration'] = new _0x30fcde['a']()),
_0x549857['setDefaultCandidateProviders'](),
_0x267dca && !0x0 === _0x267dca['useGeometryUniqueIdsMap'] && (_0x549857['geometriesByUniqueId'] = {}),
_0x549857['useMaterialMeshMap'] = _0x267dca && _0x267dca['useGeometryUniqueIdsMap'] || !0x1,
_0x549857['useClonedMeshhMap'] = _0x267dca && _0x267dca['useClonedMeshhMap'] || !0x1,
_0x267dca && _0x267dca['virtual'] || _0x549857['_engine']['onNewSceneAddedObservable']['notifyObservers'](_0x549857),
_0x549857;
}
return _0x1760d6['d'](_0x5b6241, _0x2e6ae8),
_0x5b6241['DefaultMaterialFactory'] = function(_0x19c7b4) {
throw _0x28a876['a']['WarnImport']('StandardMaterial');
}
,
_0x5b6241['CollisionCoordinatorFactory'] = function() {
throw _0x28a876['a']['WarnImport']('DefaultCollisionCoordinator');
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'environmentTexture', {
'get': function() {
return this['_environmentTexture'];
},
'set': function(_0x206429) {
this['_environmentTexture'] !== _0x206429 && (this['_environmentTexture'] = _0x206429,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'imageProcessingConfiguration', {
'get': function() {
return this['_imageProcessingConfiguration'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'forceWireframe', {
'get': function() {
return this['_forceWireframe'];
},
'set': function(_0x3a7ee9) {
this['_forceWireframe'] !== _0x3a7ee9 && (this['_forceWireframe'] = _0x3a7ee9,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_MiscDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'forcePointsCloud', {
'get': function() {
return this['_forcePointsCloud'];
},
'set': function(_0x5d1c6c) {
this['_forcePointsCloud'] !== _0x5d1c6c && (this['_forcePointsCloud'] = _0x5d1c6c,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_MiscDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'animationPropertiesOverride', {
'get': function() {
return this['_animationPropertiesOverride'];
},
'set': function(_0x17fca8) {
this['_animationPropertiesOverride'] = _0x17fca8;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'onDispose', {
'set': function(_0x2625fb) {
this['_onDisposeObserver'] && this['onDisposeObservable']['remove'](this['_onDisposeObserver']),
this['_onDisposeObserver'] = this['onDisposeObservable']['add'](_0x2625fb);
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'beforeRender', {
'set': function(_0x11cc81) {
this['_onBeforeRenderObserver'] && this['onBeforeRenderObservable']['remove'](this['_onBeforeRenderObserver']),
_0x11cc81 && (this['_onBeforeRenderObserver'] = this['onBeforeRenderObservable']['add'](_0x11cc81));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'afterRender', {
'set': function(_0x439ca1) {
this['_onAfterRenderObserver'] && this['onAfterRenderObservable']['remove'](this['_onAfterRenderObserver']),
_0x439ca1 && (this['_onAfterRenderObserver'] = this['onAfterRenderObservable']['add'](_0x439ca1));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'beforeCameraRender', {
'set': function(_0x5e6440) {
this['_onBeforeCameraRenderObserver'] && this['onBeforeCameraRenderObservable']['remove'](this['_onBeforeCameraRenderObserver']),
this['_onBeforeCameraRenderObserver'] = this['onBeforeCameraRenderObservable']['add'](_0x5e6440);
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'afterCameraRender', {
'set': function(_0x346883) {
this['_onAfterCameraRenderObserver'] && this['onAfterCameraRenderObservable']['remove'](this['_onAfterCameraRenderObserver']),
this['_onAfterCameraRenderObserver'] = this['onAfterCameraRenderObservable']['add'](_0x346883);
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'unTranslatedPointer', {
'get': function() {
return this['_inputManager']['unTranslatedPointer'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241, 'DragMovementThreshold', {
'get': function() {
return _0x2c78b5['DragMovementThreshold'];
},
'set': function(_0x3ef58a) {
_0x2c78b5['DragMovementThreshold'] = _0x3ef58a;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241, 'LongPressDelay', {
'get': function() {
return _0x2c78b5['LongPressDelay'];
},
'set': function(_0x3ca87d) {
_0x2c78b5['LongPressDelay'] = _0x3ca87d;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241, 'DoubleClickDelay', {
'get': function() {
return _0x2c78b5['DoubleClickDelay'];
},
'set': function(_0x271519) {
_0x2c78b5['DoubleClickDelay'] = _0x271519;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241, 'ExclusiveDoubleClickMode', {
'get': function() {
return _0x2c78b5['ExclusiveDoubleClickMode'];
},
'set': function(_0x414686) {
_0x2c78b5['ExclusiveDoubleClickMode'] = _0x414686;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'useRightHandedSystem', {
'get': function() {
return this['_useRightHandedSystem'];
},
'set': function(_0x46e725) {
this['_useRightHandedSystem'] !== _0x46e725 && (this['_useRightHandedSystem'] = _0x46e725,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_MiscDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['setStepId'] = function(_0x585966) {
this['_currentStepId'] = _0x585966;
}
,
_0x5b6241['prototype']['getStepId'] = function() {
return this['_currentStepId'];
}
,
_0x5b6241['prototype']['getInternalStep'] = function() {
return this['_currentInternalStep'];
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'fogEnabled', {
'get': function() {
return this['_fogEnabled'];
},
'set': function(_0x23f837) {
this['_fogEnabled'] !== _0x23f837 && (this['_fogEnabled'] = _0x23f837,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_MiscDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'fogMode', {
'get': function() {
return this['_fogMode'];
},
'set': function(_0x3f71fb) {
this['_fogMode'] !== _0x3f71fb && (this['_fogMode'] = _0x3f71fb,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_MiscDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'shadowsEnabled', {
'get': function() {
return this['_shadowsEnabled'];
},
'set': function(_0x5aabf2) {
this['_shadowsEnabled'] !== _0x5aabf2 && (this['_shadowsEnabled'] = _0x5aabf2,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_LightDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'lightsEnabled', {
'get': function() {
return this['_lightsEnabled'];
},
'set': function(_0x17e37a) {
this['_lightsEnabled'] !== _0x17e37a && (this['_lightsEnabled'] = _0x17e37a,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_LightDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'activeCamera', {
'get': function() {
return this['_activeCamera'];
},
'set': function(_0x10bd26) {
_0x10bd26 !== this['_activeCamera'] && (this['_activeCamera'] = _0x10bd26,
this['onActiveCameraChanged']['notifyObservers'](this));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'defaultMaterial', {
'get': function() {
return this['_defaultMaterial'] || (this['_defaultMaterial'] = _0x5b6241['DefaultMaterialFactory'](this)),
this['_defaultMaterial'];
},
'set': function(_0x3fe396) {
this['_defaultMaterial'] = _0x3fe396;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'texturesEnabled', {
'get': function() {
return this['_texturesEnabled'];
},
'set': function(_0x5e5ad9) {
this['_texturesEnabled'] !== _0x5e5ad9 && (this['_texturesEnabled'] = _0x5e5ad9,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'skeletonsEnabled', {
'get': function() {
return this['_skeletonsEnabled'];
},
'set': function(_0x20b780) {
this['_skeletonsEnabled'] !== _0x20b780 && (this['_skeletonsEnabled'] = _0x20b780,
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_AttributesDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'collisionCoordinator', {
'get': function() {
return this['_collisionCoordinator'] || (this['_collisionCoordinator'] = _0x5b6241['CollisionCoordinatorFactory'](),
this['_collisionCoordinator']['init'](this)),
this['_collisionCoordinator'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'frustumPlanes', {
'get': function() {
return this['_frustumPlanes'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['_registerTransientComponents'] = function() {
if (this['_transientComponents']['length'] > 0x0) {
for (var _0x2a3342 = 0x0, _0x1d4521 = this['_transientComponents']; _0x2a3342 < _0x1d4521['length']; _0x2a3342++) {
_0x1d4521[_0x2a3342]['register']();
}
this['_transientComponents'] = [];
}
}
,
_0x5b6241['prototype']['_addComponent'] = function(_0x323ff4) {
this['_components']['push'](_0x323ff4),
this['_transientComponents']['push'](_0x323ff4);
var _0x29ec2d = _0x323ff4;
_0x29ec2d['addFromContainer'] && this['_serializableComponents']['push'](_0x29ec2d);
}
,
_0x5b6241['prototype']['_getComponent'] = function(_0x4b70c2) {
for (var _0x2738b3 = 0x0, _0x195f35 = this['_components']; _0x2738b3 < _0x195f35['length']; _0x2738b3++) {
var _0x40b486 = _0x195f35[_0x2738b3];
if (_0x40b486['name'] === _0x4b70c2)
return _0x40b486;
}
return null;
}
,
_0x5b6241['prototype']['getClassName'] = function() {
return 'Scene';
}
,
_0x5b6241['prototype']['_getDefaultMeshCandidates'] = function() {
return this['_defaultMeshCandidates']['data'] = this['meshes'],
this['_defaultMeshCandidates']['length'] = this['meshes']['length'],
this['_defaultMeshCandidates'];
}
,
_0x5b6241['prototype']['_getDefaultSubMeshCandidates'] = function(_0x15b22b) {
return this['_defaultSubMeshCandidates']['data'] = _0x15b22b['subMeshes'],
this['_defaultSubMeshCandidates']['length'] = _0x15b22b['subMeshes']['length'],
this['_defaultSubMeshCandidates'];
}
,
_0x5b6241['prototype']['setDefaultCandidateProviders'] = function() {
this['getActiveMeshCandidates'] = this['_getDefaultMeshCandidates']['bind'](this),
this['getActiveSubMeshCandidates'] = this['_getDefaultSubMeshCandidates']['bind'](this),
this['getIntersectingSubMeshCandidates'] = this['_getDefaultSubMeshCandidates']['bind'](this),
this['getCollidingSubMeshCandidates'] = this['_getDefaultSubMeshCandidates']['bind'](this);
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'meshUnderPointer', {
'get': function() {
return this['_inputManager']['meshUnderPointer'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'pointerX', {
'get': function() {
return this['_inputManager']['pointerX'];
},
'set': function(_0x58d3cf) {
this['_inputManager']['pointerX'] = _0x58d3cf;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5b6241['prototype'], 'pointerY', {
'get': function() {
return this['_inputManager']['pointerY'];
},
'set': function(_0x274232) {
this['_inputManager']['pointerY'] = _0x274232;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['getCachedMaterial'] = function() {
return this['_cachedMaterial'];
}
,
_0x5b6241['prototype']['getCachedEffect'] = function() {
return this['_cachedEffect'];
}
,
_0x5b6241['prototype']['getCachedVisibility'] = function() {
return this['_cachedVisibility'];
}
,
_0x5b6241['prototype']['isCachedMaterialInvalid'] = function(_0x17ace1, _0x2ed3f6, _0x429af0) {
return void 0x0 === _0x429af0 && (_0x429af0 = 0x1),
this['_cachedEffect'] !== _0x2ed3f6 || this['_cachedMaterial'] !== _0x17ace1 || this['_cachedVisibility'] !== _0x429af0;
}
,
_0x5b6241['prototype']['getEngine'] = function() {
return this['_engine'];
}
,
_0x5b6241['prototype']['getTotalVertices'] = function() {
return this['_totalVertices']['current'];
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'totalVerticesPerfCounter', {
'get': function() {
return this['_totalVertices'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['getActiveIndices'] = function() {
return this['_activeIndices']['current'];
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'totalActiveIndicesPerfCounter', {
'get': function() {
return this['_activeIndices'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['getActiveParticles'] = function() {
return this['_activeParticles']['current'];
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'activeParticlesPerfCounter', {
'get': function() {
return this['_activeParticles'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['getActiveBones'] = function() {
return this['_activeBones']['current'];
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'activeBonesPerfCounter', {
'get': function() {
return this['_activeBones'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['getActiveMeshes'] = function() {
return this['_activeMeshes'];
}
,
_0x5b6241['prototype']['getAnimationRatio'] = function() {
return void 0x0 !== this['_animationRatio'] ? this['_animationRatio'] : 0x1;
}
,
_0x5b6241['prototype']['getRenderId'] = function() {
return this['_renderId'];
}
,
_0x5b6241['prototype']['getFrameId'] = function() {
return this['_frameId'];
}
,
_0x5b6241['prototype']['incrementRenderId'] = function() {
this['_renderId']++;
}
,
_0x5b6241['prototype']['_createUbo'] = function() {
this['_sceneUbo'] = new _0x3b8c1c['a'](this['_engine'],void 0x0,!0x0),
this['_sceneUbo']['addUniform']('viewProjection', 0x10),
this['_sceneUbo']['addUniform']('view', 0x10);
}
,
_0x5b6241['prototype']['simulatePointerMove'] = function(_0x1fc456, _0x2dcbe0) {
return this['_inputManager']['simulatePointerMove'](_0x1fc456, _0x2dcbe0),
this;
}
,
_0x5b6241['prototype']['simulatePointerDown'] = function(_0x516a5f, _0x2f8392) {
return this['_inputManager']['simulatePointerDown'](_0x516a5f, _0x2f8392),
this;
}
,
_0x5b6241['prototype']['simulatePointerUp'] = function(_0x5e3cf7, _0x49f25d, _0x37598d) {
return this['_inputManager']['simulatePointerUp'](_0x5e3cf7, _0x49f25d, _0x37598d),
this;
}
,
_0x5b6241['prototype']['isPointerCaptured'] = function(_0x24b41d) {
return void 0x0 === _0x24b41d && (_0x24b41d = 0x0),
this['_inputManager']['isPointerCaptured'](_0x24b41d);
}
,
_0x5b6241['prototype']['attachControl'] = function(_0x22ca69, _0x43e44e, _0x34e87f) {
void 0x0 === _0x22ca69 && (_0x22ca69 = !0x0),
void 0x0 === _0x43e44e && (_0x43e44e = !0x0),
void 0x0 === _0x34e87f && (_0x34e87f = !0x0),
this['_inputManager']['attachControl'](_0x22ca69, _0x43e44e, _0x34e87f);
}
,
_0x5b6241['prototype']['detachControl'] = function() {
this['_inputManager']['detachControl']();
}
,
_0x5b6241['prototype']['isReady'] = function() {
if (this['_isDisposed'])
return !0x1;
var _0x293c4e, _0x52a214 = this['getEngine']();
if (!_0x52a214['areAllEffectsReady']())
return !0x1;
if (this['_pendingData']['length'] > 0x0)
return !0x1;
for (_0x293c4e = 0x0; _0x293c4e < this['meshes']['length']; _0x293c4e++) {
var _0x2426be = this['meshes'][_0x293c4e];
if (_0x2426be['isEnabled']() && (_0x2426be['subMeshes'] && 0x0 !== _0x2426be['subMeshes']['length'])) {
if (!_0x2426be['isReady'](!0x0))
return !0x1;
for (var _0x56688d = 'InstancedMesh' === _0x2426be['getClassName']() || 'InstancedLinesMesh' === _0x2426be['getClassName']() || _0x52a214['getCaps']()['instancedArrays'] && _0x2426be['instances']['length'] > 0x0, _0x415bae = 0x0, _0xa25288 = this['_isReadyForMeshStage']; _0x415bae < _0xa25288['length']; _0x415bae++) {
if (!_0xa25288[_0x415bae]['action'](_0x2426be, _0x56688d))
return !0x1;
}
}
}
for (_0x293c4e = 0x0; _0x293c4e < this['geometries']['length']; _0x293c4e++) {
if (this['geometries'][_0x293c4e]['delayLoadState'] === _0x22ca5d['a']['DELAYLOADSTATE_LOADING'])
return !0x1;
}
if (this['activeCameras'] && this['activeCameras']['length'] > 0x0)
for (var _0x2cadfc = 0x0, _0x3ae968 = this['activeCameras']; _0x2cadfc < _0x3ae968['length']; _0x2cadfc++) {
if (!_0x3ae968[_0x2cadfc]['isReady'](!0x0))
return !0x1;
}
else if (this['activeCamera'] && !this['activeCamera']['isReady'](!0x0))
return !0x1;
for (var _0x57b631 = 0x0, _0x1da199 = this['particleSystems']; _0x57b631 < _0x1da199['length']; _0x57b631++) {
if (!_0x1da199[_0x57b631]['isReady']())
return !0x1;
}
return !0x0;
}
,
_0x5b6241['prototype']['resetCachedMaterial'] = function() {
this['_cachedMaterial'] = null,
this['_cachedEffect'] = null,
this['_cachedVisibility'] = null;
}
,
_0x5b6241['prototype']['registerBeforeRender'] = function(_0x450396) {
this['onBeforeRenderObservable']['add'](_0x450396);
}
,
_0x5b6241['prototype']['unregisterBeforeRender'] = function(_0x4dbb9d) {
this['onBeforeRenderObservable']['removeCallback'](_0x4dbb9d);
}
,
_0x5b6241['prototype']['registerAfterRender'] = function(_0x59e6e4) {
this['onAfterRenderObservable']['add'](_0x59e6e4);
}
,
_0x5b6241['prototype']['unregisterAfterRender'] = function(_0x508746) {
this['onAfterRenderObservable']['removeCallback'](_0x508746);
}
,
_0x5b6241['prototype']['_executeOnceBeforeRender'] = function(_0x4856ec) {
var _0x3a81ae = this
, _0x5d2102 = function() {
_0x4856ec(),
setTimeout(function() {
_0x3a81ae['unregisterBeforeRender'](_0x5d2102);
});
};
this['registerBeforeRender'](_0x5d2102);
}
,
_0x5b6241['prototype']['executeOnceBeforeRender'] = function(_0x5c8526, _0x2e929e) {
var _0x3c65aa = this;
void 0x0 !== _0x2e929e ? setTimeout(function() {
_0x3c65aa['_executeOnceBeforeRender'](_0x5c8526);
}, _0x2e929e) : this['_executeOnceBeforeRender'](_0x5c8526);
}
,
_0x5b6241['prototype']['_addPendingData'] = function(_0x3ed0d9) {
this['_pendingData']['push'](_0x3ed0d9);
}
,
_0x5b6241['prototype']['_removePendingData'] = function(_0x4f3cc1) {
var _0x55bd6f = this['isLoading']
, _0x4e53a4 = this['_pendingData']['indexOf'](_0x4f3cc1);
-0x1 !== _0x4e53a4 && this['_pendingData']['splice'](_0x4e53a4, 0x1),
_0x55bd6f && !this['isLoading'] && this['onDataLoadedObservable']['notifyObservers'](this);
}
,
_0x5b6241['prototype']['getWaitingItemsCount'] = function() {
return this['_pendingData']['length'];
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'isLoading', {
'get': function() {
return this['_pendingData']['length'] > 0x0;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['executeWhenReady'] = function(_0x5c1139) {
var _0x635b2e = this;
this['onReadyObservable']['add'](_0x5c1139),
-0x1 === this['_executeWhenReadyTimeoutId'] && (this['_executeWhenReadyTimeoutId'] = setTimeout(function() {
_0x635b2e['_checkIsReady']();
}, 0x96));
}
,
_0x5b6241['prototype']['whenReadyAsync'] = function() {
var _0x101420 = this;
return new Promise(function(_0x4a1e03) {
_0x101420['executeWhenReady'](function() {
_0x4a1e03();
});
}
);
}
,
_0x5b6241['prototype']['_checkIsReady'] = function() {
var _0x2d4d75 = this;
if (this['_registerTransientComponents'](),
this['isReady']())
return this['onReadyObservable']['notifyObservers'](this),
this['onReadyObservable']['clear'](),
void (this['_executeWhenReadyTimeoutId'] = -0x1);
this['_executeWhenReadyTimeoutId'] = setTimeout(function() {
_0x2d4d75['_checkIsReady']();
}, 0x96);
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'animatables', {
'get': function() {
return this['_activeAnimatables'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['resetLastAnimationTimeFrame'] = function() {
this['_animationTimeLast'] = _0x4581c2['a']['Now'];
}
,
_0x5b6241['prototype']['getViewMatrix'] = function() {
return this['_viewMatrix'];
}
,
_0x5b6241['prototype']['getProjectionMatrix'] = function() {
return this['_projectionMatrix'];
}
,
_0x5b6241['prototype']['getTransformMatrix'] = function() {
return this['_transformMatrix'];
}
,
_0x5b6241['prototype']['setTransformMatrix'] = function(_0x1ca7a9, _0x4458fe, _0x25d64c, _0x389f9b) {
this['_viewUpdateFlag'] === _0x1ca7a9['updateFlag'] && this['_projectionUpdateFlag'] === _0x4458fe['updateFlag'] || (this['_viewUpdateFlag'] = _0x1ca7a9['updateFlag'],
this['_projectionUpdateFlag'] = _0x4458fe['updateFlag'],
this['_viewMatrix'] = _0x1ca7a9,
this['_projectionMatrix'] = _0x4458fe,
this['_viewMatrix']['multiplyToRef'](this['_projectionMatrix'], this['_transformMatrix']),
this['_frustumPlanes'] ? _0x4b6821['i']['GetPlanesToRef'](this['_transformMatrix'], this['_frustumPlanes']) : this['_frustumPlanes'] = _0x4b6821['i']['GetPlanes'](this['_transformMatrix']),
this['_multiviewSceneUbo'] && this['_multiviewSceneUbo']['useUbo'] ? this['_updateMultiviewUbo'](_0x25d64c, _0x389f9b) : this['_sceneUbo']['useUbo'] && (this['_sceneUbo']['updateMatrix']('viewProjection', this['_transformMatrix']),
this['_sceneUbo']['updateMatrix']('view', this['_viewMatrix']),
this['_sceneUbo']['update']()));
}
,
_0x5b6241['prototype']['getSceneUniformBuffer'] = function() {
return this['_multiviewSceneUbo'] ? this['_multiviewSceneUbo'] : this['_sceneUbo'];
}
,
_0x5b6241['prototype']['getUniqueId'] = function() {
var _0x516cd2 = _0x5b6241['_uniqueIdCounter'];
return _0x5b6241['_uniqueIdCounter']++,
_0x516cd2;
}
,
_0x5b6241['prototype']['addMesh'] = function(_0x55d275, _0x47a944) {
var _0xfd8e4c = this;
void 0x0 === _0x47a944 && (_0x47a944 = !0x1),
this['meshes']['push'](_0x55d275),
_0x55d275['_resyncLightSources'](),
this['onNewMeshAddedObservable']['notifyObservers'](_0x55d275),
_0x47a944 && _0x55d275['getChildMeshes']()['forEach'](function(_0x44c8a1) {
_0xfd8e4c['addMesh'](_0x44c8a1);
});
}
,
_0x5b6241['prototype']['removeMesh'] = function(_0x23778b, _0xcc5079) {
var _0x968336 = this;
void 0x0 === _0xcc5079 && (_0xcc5079 = !0x1);
var _0x13cb82 = this['meshes']['indexOf'](_0x23778b);
return -0x1 !== _0x13cb82 && (this['meshes'][_0x13cb82] = this['meshes'][this['meshes']['length'] - 0x1],
this['meshes']['pop']()),
this['onMeshRemovedObservable']['notifyObservers'](_0x23778b),
_0xcc5079 && _0x23778b['getChildMeshes']()['forEach'](function(_0x3ef285) {
_0x968336['removeMesh'](_0x3ef285);
}),
_0x13cb82;
}
,
_0x5b6241['prototype']['addTransformNode'] = function(_0x206bb8) {
_0x206bb8['_indexInSceneTransformNodesArray'] = this['transformNodes']['length'],
this['transformNodes']['push'](_0x206bb8),
this['onNewTransformNodeAddedObservable']['notifyObservers'](_0x206bb8);
}
,
_0x5b6241['prototype']['removeTransformNode'] = function(_0x45997e) {
var _0x22345d = _0x45997e['_indexInSceneTransformNodesArray'];
if (-0x1 !== _0x22345d) {
if (_0x22345d !== this['transformNodes']['length'] - 0x1) {
var _0x5b35ac = this['transformNodes'][this['transformNodes']['length'] - 0x1];
this['transformNodes'][_0x22345d] = _0x5b35ac,
_0x5b35ac['_indexInSceneTransformNodesArray'] = _0x22345d;
}
_0x45997e['_indexInSceneTransformNodesArray'] = -0x1,
this['transformNodes']['pop']();
}
return this['onTransformNodeRemovedObservable']['notifyObservers'](_0x45997e),
_0x22345d;
}
,
_0x5b6241['prototype']['removeSkeleton'] = function(_0x5149ff) {
var _0x3bce53 = this['skeletons']['indexOf'](_0x5149ff);
return -0x1 !== _0x3bce53 && (this['skeletons']['splice'](_0x3bce53, 0x1),
this['onSkeletonRemovedObservable']['notifyObservers'](_0x5149ff)),
_0x3bce53;
}
,
_0x5b6241['prototype']['removeMorphTargetManager'] = function(_0x33fd4b) {
var _0x12135b = this['morphTargetManagers']['indexOf'](_0x33fd4b);
return -0x1 !== _0x12135b && this['morphTargetManagers']['splice'](_0x12135b, 0x1),
_0x12135b;
}
,
_0x5b6241['prototype']['removeLight'] = function(_0x5d2d07) {
var _0x4803c2 = this['lights']['indexOf'](_0x5d2d07);
if (-0x1 !== _0x4803c2) {
for (var _0x2a635b = 0x0, _0x2dd097 = this['meshes']; _0x2a635b < _0x2dd097['length']; _0x2a635b++) {
_0x2dd097[_0x2a635b]['_removeLightSource'](_0x5d2d07);
}
this['lights']['splice'](_0x4803c2, 0x1),
this['sortLightsByPriority']();
}
return this['onLightRemovedObservable']['notifyObservers'](_0x5d2d07),
_0x4803c2;
}
,
_0x5b6241['prototype']['removeCamera'] = function(_0x30e862) {
var _0x57a17e = this['cameras']['indexOf'](_0x30e862);
-0x1 !== _0x57a17e && this['cameras']['splice'](_0x57a17e, 0x1);
var _0x2ecba = this['activeCameras']['indexOf'](_0x30e862);
return -0x1 !== _0x2ecba && this['activeCameras']['splice'](_0x2ecba, 0x1),
this['activeCamera'] === _0x30e862 && (this['cameras']['length'] > 0x0 ? this['activeCamera'] = this['cameras'][0x0] : this['activeCamera'] = null),
this['onCameraRemovedObservable']['notifyObservers'](_0x30e862),
_0x57a17e;
}
,
_0x5b6241['prototype']['removeParticleSystem'] = function(_0x498422) {
var _0x54a3b3 = this['particleSystems']['indexOf'](_0x498422);
return -0x1 !== _0x54a3b3 && this['particleSystems']['splice'](_0x54a3b3, 0x1),
_0x54a3b3;
}
,
_0x5b6241['prototype']['removeAnimation'] = function(_0x11faee) {
var _0x19da98 = this['animations']['indexOf'](_0x11faee);
return -0x1 !== _0x19da98 && this['animations']['splice'](_0x19da98, 0x1),
_0x19da98;
}
,
_0x5b6241['prototype']['stopAnimation'] = function(_0x36a3f4, _0xfca8f3, _0x166af1) {}
,
_0x5b6241['prototype']['removeAnimationGroup'] = function(_0x3329c6) {
var _0xbfd6e0 = this['animationGroups']['indexOf'](_0x3329c6);
return -0x1 !== _0xbfd6e0 && this['animationGroups']['splice'](_0xbfd6e0, 0x1),
_0xbfd6e0;
}
,
_0x5b6241['prototype']['removeMultiMaterial'] = function(_0x51a19e) {
var _0x4d9317 = this['multiMaterials']['indexOf'](_0x51a19e);
return -0x1 !== _0x4d9317 && this['multiMaterials']['splice'](_0x4d9317, 0x1),
_0x4d9317;
}
,
_0x5b6241['prototype']['removeMaterial'] = function(_0x4d4085) {
var _0x153a62 = _0x4d4085['_indexInSceneMaterialArray'];
if (-0x1 !== _0x153a62 && _0x153a62 < this['materials']['length']) {
if (_0x153a62 !== this['materials']['length'] - 0x1) {
var _0x355114 = this['materials'][this['materials']['length'] - 0x1];
this['materials'][_0x153a62] = _0x355114,
_0x355114['_indexInSceneMaterialArray'] = _0x153a62;
}
_0x4d4085['_indexInSceneMaterialArray'] = -0x1,
this['materials']['pop']();
}
return this['onMaterialRemovedObservable']['notifyObservers'](_0x4d4085),
_0x153a62;
}
,
_0x5b6241['prototype']['removeActionManager'] = function(_0x46a3f4) {
var _0x58d694 = this['actionManagers']['indexOf'](_0x46a3f4);
return -0x1 !== _0x58d694 && this['actionManagers']['splice'](_0x58d694, 0x1),
_0x58d694;
}
,
_0x5b6241['prototype']['removeTexture'] = function(_0x284dd4) {
var _0x21234a = this['textures']['indexOf'](_0x284dd4);
return -0x1 !== _0x21234a && this['textures']['splice'](_0x21234a, 0x1),
this['onTextureRemovedObservable']['notifyObservers'](_0x284dd4),
_0x21234a;
}
,
_0x5b6241['prototype']['addLight'] = function(_0x594943) {
this['lights']['push'](_0x594943),
this['sortLightsByPriority']();
for (var _0xc06587 = 0x0, _0x45a2cf = this['meshes']; _0xc06587 < _0x45a2cf['length']; _0xc06587++) {
var _0x503297 = _0x45a2cf[_0xc06587];
-0x1 === _0x503297['lightSources']['indexOf'](_0x594943) && (_0x503297['lightSources']['push'](_0x594943),
_0x503297['_resyncLightSources']());
}
this['onNewLightAddedObservable']['notifyObservers'](_0x594943);
}
,
_0x5b6241['prototype']['sortLightsByPriority'] = function() {
this['requireLightSorting'] && this['lights']['sort'](_0x3b7dc7['a']['CompareLightsPriority']);
}
,
_0x5b6241['prototype']['addCamera'] = function(_0x2a8746) {
this['cameras']['push'](_0x2a8746),
this['onNewCameraAddedObservable']['notifyObservers'](_0x2a8746);
}
,
_0x5b6241['prototype']['addSkeleton'] = function(_0x14e62d) {
this['skeletons']['push'](_0x14e62d),
this['onNewSkeletonAddedObservable']['notifyObservers'](_0x14e62d);
}
,
_0x5b6241['prototype']['addParticleSystem'] = function(_0x4f87b2) {
this['particleSystems']['push'](_0x4f87b2);
}
,
_0x5b6241['prototype']['addAnimation'] = function(_0xfd3858) {
this['animations']['push'](_0xfd3858);
}
,
_0x5b6241['prototype']['addAnimationGroup'] = function(_0x14aff9) {
this['animationGroups']['push'](_0x14aff9);
}
,
_0x5b6241['prototype']['addMultiMaterial'] = function(_0x3679be) {
this['multiMaterials']['push'](_0x3679be);
}
,
_0x5b6241['prototype']['addMaterial'] = function(_0x551702) {
_0x551702['_indexInSceneMaterialArray'] = this['materials']['length'],
this['materials']['push'](_0x551702),
this['onNewMaterialAddedObservable']['notifyObservers'](_0x551702);
}
,
_0x5b6241['prototype']['addMorphTargetManager'] = function(_0x572160) {
this['morphTargetManagers']['push'](_0x572160);
}
,
_0x5b6241['prototype']['addGeometry'] = function(_0x40785d) {
this['geometriesByUniqueId'] && (this['geometriesByUniqueId'][_0x40785d['uniqueId']] = this['geometries']['length']),
this['geometries']['push'](_0x40785d);
}
,
_0x5b6241['prototype']['addActionManager'] = function(_0x5e29e8) {
this['actionManagers']['push'](_0x5e29e8);
}
,
_0x5b6241['prototype']['addTexture'] = function(_0x54aea4) {
this['textures']['push'](_0x54aea4),
this['onNewTextureAddedObservable']['notifyObservers'](_0x54aea4);
}
,
_0x5b6241['prototype']['switchActiveCamera'] = function(_0x1fc2c9, _0x32dfb9) {
void 0x0 === _0x32dfb9 && (_0x32dfb9 = !0x0);
var _0x3bcda5 = this['_engine']['getRenderingCanvas']();
_0x3bcda5 && (this['activeCamera'] && this['activeCamera']['detachControl'](_0x3bcda5),
this['activeCamera'] = _0x1fc2c9,
_0x32dfb9 && _0x1fc2c9['attachControl'](_0x3bcda5));
}
,
_0x5b6241['prototype']['setActiveCameraByID'] = function(_0x2aa446) {
var _0x14cc6b = this['getCameraByID'](_0x2aa446);
return _0x14cc6b ? (this['activeCamera'] = _0x14cc6b,
_0x14cc6b) : null;
}
,
_0x5b6241['prototype']['setActiveCameraByName'] = function(_0x19d26b) {
var _0x38a97b = this['getCameraByName'](_0x19d26b);
return _0x38a97b ? (this['activeCamera'] = _0x38a97b,
_0x38a97b) : null;
}
,
_0x5b6241['prototype']['getAnimationGroupByName'] = function(_0xc05300) {
for (var _0x2633c2 = 0x0; _0x2633c2 < this['animationGroups']['length']; _0x2633c2++)
if (this['animationGroups'][_0x2633c2]['name'] === _0xc05300)
return this['animationGroups'][_0x2633c2];
return null;
}
,
_0x5b6241['prototype']['getMaterialByUniqueID'] = function(_0x36c99d) {
for (var _0x277fdc = 0x0; _0x277fdc < this['materials']['length']; _0x277fdc++)
if (this['materials'][_0x277fdc]['uniqueId'] === _0x36c99d)
return this['materials'][_0x277fdc];
return null;
}
,
_0x5b6241['prototype']['getMaterialByID'] = function(_0xb9110d) {
for (var _0x502e4a = 0x0; _0x502e4a < this['materials']['length']; _0x502e4a++)
if (this['materials'][_0x502e4a]['id'] === _0xb9110d)
return this['materials'][_0x502e4a];
return null;
}
,
_0x5b6241['prototype']['getMaterialByName'] = function(_0x103267) {
for (var _0x2bf994 = 0x0; _0x2bf994 < this['materials']['length']; _0x2bf994++)
if (this['materials'][_0x2bf994]['name'] === _0x103267)
return this['materials'][_0x2bf994];
return null;
}
,
_0x5b6241['prototype']['getCameraByID'] = function(_0xa95535) {
for (var _0x458d86 = 0x0; _0x458d86 < this['cameras']['length']; _0x458d86++)
if (this['cameras'][_0x458d86]['id'] === _0xa95535)
return this['cameras'][_0x458d86];
return null;
}
,
_0x5b6241['prototype']['getCameraByUniqueID'] = function(_0x271424) {
for (var _0xf7b11c = 0x0; _0xf7b11c < this['cameras']['length']; _0xf7b11c++)
if (this['cameras'][_0xf7b11c]['uniqueId'] === _0x271424)
return this['cameras'][_0xf7b11c];
return null;
}
,
_0x5b6241['prototype']['getCameraByName'] = function(_0x1276e3) {
for (var _0x458988 = 0x0; _0x458988 < this['cameras']['length']; _0x458988++)
if (this['cameras'][_0x458988]['name'] === _0x1276e3)
return this['cameras'][_0x458988];
return null;
}
,
_0x5b6241['prototype']['getBoneByID'] = function(_0x53e09b) {
for (var _0x570bd7 = 0x0; _0x570bd7 < this['skeletons']['length']; _0x570bd7++)
for (var _0x15bebf = this['skeletons'][_0x570bd7], _0x5620b7 = 0x0; _0x5620b7 < _0x15bebf['bones']['length']; _0x5620b7++)
if (_0x15bebf['bones'][_0x5620b7]['id'] === _0x53e09b)
return _0x15bebf['bones'][_0x5620b7];
return null;
}
,
_0x5b6241['prototype']['getBoneByName'] = function(_0x4aee6d) {
for (var _0x3b237d = 0x0; _0x3b237d < this['skeletons']['length']; _0x3b237d++)
for (var _0x49084e = this['skeletons'][_0x3b237d], _0x1217cb = 0x0; _0x1217cb < _0x49084e['bones']['length']; _0x1217cb++)
if (_0x49084e['bones'][_0x1217cb]['name'] === _0x4aee6d)
return _0x49084e['bones'][_0x1217cb];
return null;
}
,
_0x5b6241['prototype']['getLightByName'] = function(_0x12d9b8) {
for (var _0xa2280f = 0x0; _0xa2280f < this['lights']['length']; _0xa2280f++)
if (this['lights'][_0xa2280f]['name'] === _0x12d9b8)
return this['lights'][_0xa2280f];
return null;
}
,
_0x5b6241['prototype']['getLightByID'] = function(_0x1e4e52) {
for (var _0x1ac6f1 = 0x0; _0x1ac6f1 < this['lights']['length']; _0x1ac6f1++)
if (this['lights'][_0x1ac6f1]['id'] === _0x1e4e52)
return this['lights'][_0x1ac6f1];
return null;
}
,
_0x5b6241['prototype']['getLightByUniqueID'] = function(_0x440f9d) {
for (var _0x3811cf = 0x0; _0x3811cf < this['lights']['length']; _0x3811cf++)
if (this['lights'][_0x3811cf]['uniqueId'] === _0x440f9d)
return this['lights'][_0x3811cf];
return null;
}
,
_0x5b6241['prototype']['getParticleSystemByID'] = function(_0x24a5d6) {
for (var _0x2104cb = 0x0; _0x2104cb < this['particleSystems']['length']; _0x2104cb++)
if (this['particleSystems'][_0x2104cb]['id'] === _0x24a5d6)
return this['particleSystems'][_0x2104cb];
return null;
}
,
_0x5b6241['prototype']['getGeometryByID'] = function(_0x109faa) {
for (var _0x5d1253 = 0x0; _0x5d1253 < this['geometries']['length']; _0x5d1253++)
if (this['geometries'][_0x5d1253]['id'] === _0x109faa)
return this['geometries'][_0x5d1253];
return null;
}
,
_0x5b6241['prototype']['_getGeometryByUniqueID'] = function(_0x40e46d) {
if (this['geometriesByUniqueId']) {
var _0x37d2ff = this['geometriesByUniqueId'][_0x40e46d];
if (void 0x0 !== _0x37d2ff)
return this['geometries'][_0x37d2ff];
} else
for (var _0x2144a1 = 0x0; _0x2144a1 < this['geometries']['length']; _0x2144a1++)
if (this['geometries'][_0x2144a1]['uniqueId'] === _0x40e46d)
return this['geometries'][_0x2144a1];
return null;
}
,
_0x5b6241['prototype']['pushGeometry'] = function(_0x50be45, _0x23d0ae) {
return !(!_0x23d0ae && this['_getGeometryByUniqueID'](_0x50be45['uniqueId'])) && (this['addGeometry'](_0x50be45),
this['onNewGeometryAddedObservable']['notifyObservers'](_0x50be45),
!0x0);
}
,
_0x5b6241['prototype']['removeGeometry'] = function(_0x51947d) {
var _0x55dafb;
if (this['geometriesByUniqueId']) {
if (void 0x0 === (_0x55dafb = this['geometriesByUniqueId'][_0x51947d['uniqueId']]))
return !0x1;
} else if ((_0x55dafb = this['geometries']['indexOf'](_0x51947d)) < 0x0)
return !0x1;
if (_0x55dafb !== this['geometries']['length'] - 0x1) {
var _0x5e6a6e = this['geometries'][this['geometries']['length'] - 0x1];
this['geometries'][_0x55dafb] = _0x5e6a6e,
this['geometriesByUniqueId'] && (this['geometriesByUniqueId'][_0x5e6a6e['uniqueId']] = _0x55dafb,
this['geometriesByUniqueId'][_0x51947d['uniqueId']] = void 0x0);
}
return this['geometries']['pop'](),
this['onGeometryRemovedObservable']['notifyObservers'](_0x51947d),
!0x0;
}
,
_0x5b6241['prototype']['getGeometries'] = function() {
return this['geometries'];
}
,
_0x5b6241['prototype']['getMeshByID'] = function(_0x561f2e) {
for (var _0x468660 = 0x0; _0x468660 < this['meshes']['length']; _0x468660++)
if (this['meshes'][_0x468660]['id'] === _0x561f2e)
return this['meshes'][_0x468660];
return null;
}
,
_0x5b6241['prototype']['getMeshesByID'] = function(_0x2bf026) {
return this['meshes']['filter'](function(_0x1d307c) {
return _0x1d307c['id'] === _0x2bf026;
});
}
,
_0x5b6241['prototype']['getTransformNodeByID'] = function(_0x14793a) {
for (var _0x505ca3 = 0x0; _0x505ca3 < this['transformNodes']['length']; _0x505ca3++)
if (this['transformNodes'][_0x505ca3]['id'] === _0x14793a)
return this['transformNodes'][_0x505ca3];
return null;
}
,
_0x5b6241['prototype']['getTransformNodeByUniqueID'] = function(_0x2f9f0a) {
for (var _0x4d7645 = 0x0; _0x4d7645 < this['transformNodes']['length']; _0x4d7645++)
if (this['transformNodes'][_0x4d7645]['uniqueId'] === _0x2f9f0a)
return this['transformNodes'][_0x4d7645];
return null;
}
,
_0x5b6241['prototype']['getTransformNodesByID'] = function(_0x239c1b) {
return this['transformNodes']['filter'](function(_0x48a14e) {
return _0x48a14e['id'] === _0x239c1b;
});
}
,
_0x5b6241['prototype']['getMeshByUniqueID'] = function(_0x5e7df5) {
for (var _0x288a19 = 0x0; _0x288a19 < this['meshes']['length']; _0x288a19++)
if (this['meshes'][_0x288a19]['uniqueId'] === _0x5e7df5)
return this['meshes'][_0x288a19];
return null;
}
,
_0x5b6241['prototype']['getLastMeshByID'] = function(_0x16ba6b) {
for (var _0x2a3121 = this['meshes']['length'] - 0x1; _0x2a3121 >= 0x0; _0x2a3121--)
if (this['meshes'][_0x2a3121]['id'] === _0x16ba6b)
return this['meshes'][_0x2a3121];
return null;
}
,
_0x5b6241['prototype']['getLastEntryByID'] = function(_0x466815) {
var _0x95c019;
for (_0x95c019 = this['meshes']['length'] - 0x1; _0x95c019 >= 0x0; _0x95c019--)
if (this['meshes'][_0x95c019]['id'] === _0x466815)
return this['meshes'][_0x95c019];
for (_0x95c019 = this['transformNodes']['length'] - 0x1; _0x95c019 >= 0x0; _0x95c019--)
if (this['transformNodes'][_0x95c019]['id'] === _0x466815)
return this['transformNodes'][_0x95c019];
for (_0x95c019 = this['cameras']['length'] - 0x1; _0x95c019 >= 0x0; _0x95c019--)
if (this['cameras'][_0x95c019]['id'] === _0x466815)
return this['cameras'][_0x95c019];
for (_0x95c019 = this['lights']['length'] - 0x1; _0x95c019 >= 0x0; _0x95c019--)
if (this['lights'][_0x95c019]['id'] === _0x466815)
return this['lights'][_0x95c019];
return null;
}
,
_0x5b6241['prototype']['getNodeByID'] = function(_0x20a1a1) {
var _0xc412a6 = this['getMeshByID'](_0x20a1a1);
if (_0xc412a6)
return _0xc412a6;
var _0x571c9b = this['getTransformNodeByID'](_0x20a1a1);
if (_0x571c9b)
return _0x571c9b;
var _0x27f9ed = this['getLightByID'](_0x20a1a1);
if (_0x27f9ed)
return _0x27f9ed;
var _0x79ecb8 = this['getCameraByID'](_0x20a1a1);
if (_0x79ecb8)
return _0x79ecb8;
var _0x36b0d5 = this['getBoneByID'](_0x20a1a1);
return _0x36b0d5 || null;
}
,
_0x5b6241['prototype']['getNodeByName'] = function(_0x13bafe) {
var _0x16a4c9 = this['getMeshByName'](_0x13bafe);
if (_0x16a4c9)
return _0x16a4c9;
var _0x279bbc = this['getTransformNodeByName'](_0x13bafe);
if (_0x279bbc)
return _0x279bbc;
var _0x94bf19 = this['getLightByName'](_0x13bafe);
if (_0x94bf19)
return _0x94bf19;
var _0x1fd3b8 = this['getCameraByName'](_0x13bafe);
if (_0x1fd3b8)
return _0x1fd3b8;
var _0x108c41 = this['getBoneByName'](_0x13bafe);
return _0x108c41 || null;
}
,
_0x5b6241['prototype']['getMeshByName'] = function(_0x4307e9) {
for (var _0x228d93 = 0x0; _0x228d93 < this['meshes']['length']; _0x228d93++)
if (this['meshes'][_0x228d93]['name'] === _0x4307e9)
return this['meshes'][_0x228d93];
return null;
}
,
_0x5b6241['prototype']['getTransformNodeByName'] = function(_0x5ce4d6) {
for (var _0xa0d049 = 0x0; _0xa0d049 < this['transformNodes']['length']; _0xa0d049++)
if (this['transformNodes'][_0xa0d049]['name'] === _0x5ce4d6)
return this['transformNodes'][_0xa0d049];
return null;
}
,
_0x5b6241['prototype']['getLastSkeletonByID'] = function(_0x2d3b99) {
for (var _0x49486e = this['skeletons']['length'] - 0x1; _0x49486e >= 0x0; _0x49486e--)
if (this['skeletons'][_0x49486e]['id'] === _0x2d3b99)
return this['skeletons'][_0x49486e];
return null;
}
,
_0x5b6241['prototype']['getSkeletonByUniqueId'] = function(_0x3ad46d) {
for (var _0x575aad = 0x0; _0x575aad < this['skeletons']['length']; _0x575aad++)
if (this['skeletons'][_0x575aad]['uniqueId'] === _0x3ad46d)
return this['skeletons'][_0x575aad];
return null;
}
,
_0x5b6241['prototype']['getSkeletonById'] = function(_0x552861) {
for (var _0x290d8b = 0x0; _0x290d8b < this['skeletons']['length']; _0x290d8b++)
if (this['skeletons'][_0x290d8b]['id'] === _0x552861)
return this['skeletons'][_0x290d8b];
return null;
}
,
_0x5b6241['prototype']['getSkeletonByName'] = function(_0x15c4bc) {
for (var _0xe95b = 0x0; _0xe95b < this['skeletons']['length']; _0xe95b++)
if (this['skeletons'][_0xe95b]['name'] === _0x15c4bc)
return this['skeletons'][_0xe95b];
return null;
}
,
_0x5b6241['prototype']['getMorphTargetManagerById'] = function(_0x1e116d) {
for (var _0x19883a = 0x0; _0x19883a < this['morphTargetManagers']['length']; _0x19883a++)
if (this['morphTargetManagers'][_0x19883a]['uniqueId'] === _0x1e116d)
return this['morphTargetManagers'][_0x19883a];
return null;
}
,
_0x5b6241['prototype']['getMorphTargetById'] = function(_0x6dbbce) {
for (var _0x2145f3 = 0x0; _0x2145f3 < this['morphTargetManagers']['length']; ++_0x2145f3)
for (var _0x186326 = this['morphTargetManagers'][_0x2145f3], _0x16e3ae = 0x0; _0x16e3ae < _0x186326['numTargets']; ++_0x16e3ae) {
var _0x1cec19 = _0x186326['getTarget'](_0x16e3ae);
if (_0x1cec19['id'] === _0x6dbbce)
return _0x1cec19;
}
return null;
}
,
_0x5b6241['prototype']['isActiveMesh'] = function(_0x3e9e55) {
return -0x1 !== this['_activeMeshes']['indexOf'](_0x3e9e55);
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'uid', {
'get': function() {
return this['_uid'] || (this['_uid'] = _0x24e4b1['h']['RandomId']()),
this['_uid'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['addExternalData'] = function(_0x3649c7, _0x2dea71) {
return this['_externalData'] || (this['_externalData'] = new _0x528b6e['a']()),
this['_externalData']['add'](_0x3649c7, _0x2dea71);
}
,
_0x5b6241['prototype']['getExternalData'] = function(_0x4ea2e5) {
return this['_externalData'] ? this['_externalData']['get'](_0x4ea2e5) : null;
}
,
_0x5b6241['prototype']['getOrAddExternalDataWithFactory'] = function(_0x3cbb31, _0x2b0da7) {
return this['_externalData'] || (this['_externalData'] = new _0x528b6e['a']()),
this['_externalData']['getOrAddWithFactory'](_0x3cbb31, _0x2b0da7);
}
,
_0x5b6241['prototype']['removeExternalData'] = function(_0xd36852) {
return this['_externalData']['remove'](_0xd36852);
}
,
_0x5b6241['prototype']['_evaluateSubMesh'] = function(_0x3a4b70, _0x565973, _0xa09c42) {
if (_0xa09c42['isAnInstance'] || this['dispatchAllSubMeshesOfActiveMeshes'] || _0x565973['alwaysSelectAsActiveMesh'] || 0x1 === _0x565973['subMeshes']['length'] || _0x3a4b70['isInFrustum'](this['_frustumPlanes'])) {
for (var _0x5e4798 = 0x0, _0x5f4e30 = this['_evaluateSubMeshStage']; _0x5e4798 < _0x5f4e30['length']; _0x5e4798++) {
_0x5f4e30[_0x5e4798]['action'](_0x565973, _0x3a4b70);
}
var _0x5dd0a4 = _0x3a4b70['getMaterial']();
null != _0x5dd0a4 && (_0x5dd0a4['hasRenderTargetTextures'] && null != _0x5dd0a4['getRenderTargetTextures'] && -0x1 === this['_processedMaterials']['indexOf'](_0x5dd0a4) && (this['_processedMaterials']['push'](_0x5dd0a4),
this['_renderTargets']['concatWithNoDuplicate'](_0x5dd0a4['getRenderTargetTextures']())),
this['_activeIndices']['addCount'](_0x3a4b70['indexCount'], !0x1),
this['_renderingManager']['dispatch'](_0x3a4b70, _0x565973, _0x5dd0a4));
}
}
,
_0x5b6241['prototype']['freeProcessedMaterials'] = function() {
this['_processedMaterials']['dispose']();
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'blockfreeActiveMeshesAndRenderingGroups', {
'get': function() {
return this['_preventFreeActiveMeshesAndRenderingGroups'];
},
'set': function(_0x4d688b) {
this['_preventFreeActiveMeshesAndRenderingGroups'] !== _0x4d688b && (_0x4d688b && (this['freeActiveMeshes'](),
this['freeRenderingGroups']()),
this['_preventFreeActiveMeshesAndRenderingGroups'] = _0x4d688b);
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['freeActiveMeshes'] = function() {
if (!this['blockfreeActiveMeshesAndRenderingGroups'] && (this['_activeMeshes']['dispose'](),
this['activeCamera'] && this['activeCamera']['_activeMeshes'] && this['activeCamera']['_activeMeshes']['dispose'](),
this['activeCameras']))
for (var _0x209b2e = 0x0; _0x209b2e < this['activeCameras']['length']; _0x209b2e++) {
var _0x4d0984 = this['activeCameras'][_0x209b2e];
_0x4d0984 && _0x4d0984['_activeMeshes'] && _0x4d0984['_activeMeshes']['dispose']();
}
}
,
_0x5b6241['prototype']['freeRenderingGroups'] = function() {
if (!this['blockfreeActiveMeshesAndRenderingGroups'] && (this['_renderingManager'] && this['_renderingManager']['freeRenderingGroups'](),
this['textures']))
for (var _0x332f05 = 0x0; _0x332f05 < this['textures']['length']; _0x332f05++) {
var _0xb2c681 = this['textures'][_0x332f05];
_0xb2c681 && _0xb2c681['renderList'] && _0xb2c681['freeRenderingGroups']();
}
}
,
_0x5b6241['prototype']['_isInIntermediateRendering'] = function() {
return this['_intermediateRendering'];
}
,
_0x5b6241['prototype']['freezeActiveMeshes'] = function() {
if (!this['activeCamera'])
return this;
this['_frustumPlanes'] || this['setTransformMatrix'](this['activeCamera']['getViewMatrix'](), this['activeCamera']['getProjectionMatrix']()),
this['_evaluateActiveMeshes'](),
this['_activeMeshesFrozen'] = !0x0;
for (var _0x3c2dcc = 0x0; _0x3c2dcc < this['_activeMeshes']['length']; _0x3c2dcc++)
this['_activeMeshes']['data'][_0x3c2dcc]['_freeze']();
return this;
}
,
_0x5b6241['prototype']['unfreezeActiveMeshes'] = function() {
for (var _0x58f4e0 = 0x0; _0x58f4e0 < this['_activeMeshes']['length']; _0x58f4e0++)
this['_activeMeshes']['data'][_0x58f4e0]['_unFreeze']();
return this['_activeMeshesFrozen'] = !0x1,
this;
}
,
_0x5b6241['prototype']['_evaluateActiveMeshes'] = function() {
if (this['_activeMeshesFrozen'] && this['_activeMeshes']['length'])
for (var _0xb5bd10 = this['_activeMeshes']['length'], _0x19f103 = 0x0; _0x19f103 < _0xb5bd10; _0x19f103++) {
(_0x4a36ae = this['_activeMeshes']['data'][_0x19f103])['computeWorldMatrix']();
}
else if (this['activeCamera']) {
this['onBeforeActiveMeshesEvaluationObservable']['notifyObservers'](this),
this['activeCamera']['_activeMeshes']['reset'](),
this['_activeMeshes']['reset'](),
this['_renderingManager']['reset'](),
this['_processedMaterials']['reset'](),
this['_activeParticleSystems']['reset'](),
this['_activeSkeletons']['reset'](),
this['_softwareSkinnedMeshes']['reset']();
for (var _0xcf63d6 = 0x0, _0x3e12a0 = this['_beforeEvaluateActiveMeshStage']; _0xcf63d6 < _0x3e12a0['length']; _0xcf63d6++) {
_0x3e12a0[_0xcf63d6]['action']();
}
var _0x599942 = this['getActiveMeshCandidates']()
, _0x481d92 = _0x599942['length'];
for (_0x19f103 = 0x0; _0x19f103 < _0x481d92; _0x19f103++) {
var _0x4a36ae;
if (!(_0x4a36ae = _0x599942['data'][_0x19f103])['isBlocked'] && (this['_totalVertices']['addCount'](_0x4a36ae['getTotalVertices'](), !0x1),
_0x4a36ae['isReady']() && _0x4a36ae['isEnabled']() && 0x0 !== _0x4a36ae['scaling']['lengthSquared']())) {
_0x4a36ae['computeWorldMatrix'](),
_0x4a36ae['actionManager'] && _0x4a36ae['actionManager']['hasSpecificTriggers2'](_0x22ca5d['a']['ACTION_OnIntersectionEnterTrigger'], _0x22ca5d['a']['ACTION_OnIntersectionExitTrigger']) && this['_meshesForIntersections']['pushNoDuplicate'](_0x4a36ae);
var _0x5ed010 = this['customLODSelector'] ? this['customLODSelector'](_0x4a36ae, this['activeCamera']) : _0x4a36ae['getLOD'](this['activeCamera']);
null != _0x5ed010 && (_0x5ed010 !== _0x4a36ae && _0x5ed010['billboardMode'] !== _0x3c6764['a']['BILLBOARDMODE_NONE'] && _0x5ed010['computeWorldMatrix'](),
_0x4a36ae['_preActivate'](),
_0x4a36ae['isVisible'] && _0x4a36ae['visibility'] > 0x0 && 0x0 != (_0x4a36ae['layerMask'] & this['activeCamera']['layerMask']) && (_0x4a36ae['alwaysSelectAsActiveMesh'] || _0x4a36ae['isInFrustum'](this['_frustumPlanes'])) && (this['_activeMeshes']['push'](_0x4a36ae),
this['activeCamera']['_activeMeshes']['push'](_0x4a36ae),
_0x5ed010 !== _0x4a36ae && _0x5ed010['_activate'](this['_renderId'], !0x1),
_0x4a36ae['_activate'](this['_renderId'], !0x1) && (_0x4a36ae['isAnInstance'] || (_0x5ed010['_internalAbstractMeshDataInfo']['_onlyForInstances'] = !0x1),
_0x5ed010['_internalAbstractMeshDataInfo']['_isActive'] = !0x0,
this['_activeMesh'](_0x4a36ae, _0x5ed010)),
_0x4a36ae['_postActivate']()));
}
}
if (this['onAfterActiveMeshesEvaluationObservable']['notifyObservers'](this),
this['particlesEnabled']) {
this['onBeforeParticlesRenderingObservable']['notifyObservers'](this);
for (var _0x493c74 = 0x0; _0x493c74 < this['particleSystems']['length']; _0x493c74++) {
var _0x358c12 = this['particleSystems'][_0x493c74];
if (_0x358c12['isStarted']() && _0x358c12['emitter']) {
var _0x535c1f = _0x358c12['emitter'];
_0x535c1f['position'] && !_0x535c1f['isEnabled']() || (this['_activeParticleSystems']['push'](_0x358c12),
_0x358c12['animate'](),
this['_renderingManager']['dispatchParticles'](_0x358c12));
}
}
this['onAfterParticlesRenderingObservable']['notifyObservers'](this);
}
}
}
,
_0x5b6241['prototype']['_activeMesh'] = function(_0x33f5c6, _0x3b83ff) {
this['_skeletonsEnabled'] && null !== _0x3b83ff['skeleton'] && void 0x0 !== _0x3b83ff['skeleton'] && (this['_activeSkeletons']['pushNoDuplicate'](_0x3b83ff['skeleton']) && _0x3b83ff['skeleton']['prepare'](),
_0x3b83ff['computeBonesUsingShaders'] || this['_softwareSkinnedMeshes']['pushNoDuplicate'](_0x3b83ff));
for (var _0x31f1cf = 0x0, _0x559dcb = this['_activeMeshStage']; _0x31f1cf < _0x559dcb['length']; _0x31f1cf++) {
_0x559dcb[_0x31f1cf]['action'](_0x33f5c6, _0x3b83ff);
}
if (null != _0x3b83ff && void 0x0 !== _0x3b83ff['subMeshes'] && null !== _0x3b83ff['subMeshes'] && _0x3b83ff['subMeshes']['length'] > 0x0)
for (var _0x946313 = this['getActiveSubMeshCandidates'](_0x3b83ff), _0x4b5064 = _0x946313['length'], _0xf89337 = 0x0; _0xf89337 < _0x4b5064; _0xf89337++) {
var _0x480f0e = _0x946313['data'][_0xf89337];
this['_evaluateSubMesh'](_0x480f0e, _0x3b83ff, _0x33f5c6);
}
}
,
_0x5b6241['prototype']['updateTransformMatrix'] = function(_0x3adee7) {
this['activeCamera'] && this['setTransformMatrix'](this['activeCamera']['getViewMatrix'](), this['activeCamera']['getProjectionMatrix'](_0x3adee7));
}
,
_0x5b6241['prototype']['_bindFrameBuffer'] = function() {
if (this['activeCamera'] && this['activeCamera']['_multiviewTexture'])
this['activeCamera']['_multiviewTexture']['_bindFrameBuffer']();
else if (this['activeCamera'] && this['activeCamera']['outputRenderTarget']) {
if (this['getEngine']()['getCaps']()['multiview'] && this['activeCamera']['outputRenderTarget'] && this['activeCamera']['outputRenderTarget']['getViewCount']() > 0x1)
this['activeCamera']['outputRenderTarget']['_bindFrameBuffer']();
else {
var _0x2693d9 = this['activeCamera']['outputRenderTarget']['getInternalTexture']();
_0x2693d9 ? this['getEngine']()['bindFramebuffer'](_0x2693d9) : _0x2bda6b['a']['Error']('Camera\x20contains\x20invalid\x20customDefaultRenderTarget');
}
} else
this['getEngine']()['restoreDefaultFramebuffer']();
}
,
_0x5b6241['prototype']['_renderForCamera'] = function(_0x47d034, _0x11860c) {
if (!_0x47d034 || !_0x47d034['_skipRendering']) {
var _0x4f6cb9 = this['_engine'];
if (this['_activeCamera'] = _0x47d034,
!this['activeCamera'])
throw new Error('Active\x20camera\x20not\x20set');
_0x4f6cb9['setViewport'](this['activeCamera']['viewport']),
this['resetCachedMaterial'](),
this['_renderId']++,
this['getEngine']()['getCaps']()['multiview'] && _0x47d034['outputRenderTarget'] && _0x47d034['outputRenderTarget']['getViewCount']() > 0x1 ? this['setTransformMatrix'](_0x47d034['_rigCameras'][0x0]['getViewMatrix'](), _0x47d034['_rigCameras'][0x0]['getProjectionMatrix'](), _0x47d034['_rigCameras'][0x1]['getViewMatrix'](), _0x47d034['_rigCameras'][0x1]['getProjectionMatrix']()) : this['updateTransformMatrix'](),
this['onBeforeCameraRenderObservable']['notifyObservers'](this['activeCamera']),
this['_evaluateActiveMeshes']();
for (var _0x5514c2 = 0x0; _0x5514c2 < this['_softwareSkinnedMeshes']['length']; _0x5514c2++) {
var _0x85fcd7 = this['_softwareSkinnedMeshes']['data'][_0x5514c2];
_0x85fcd7['applySkeleton'](_0x85fcd7['skeleton']);
}
this['onBeforeRenderTargetsRenderObservable']['notifyObservers'](this),
_0x47d034['customRenderTargets'] && _0x47d034['customRenderTargets']['length'] > 0x0 && this['_renderTargets']['concatWithNoDuplicate'](_0x47d034['customRenderTargets']),
_0x11860c && _0x11860c['customRenderTargets'] && _0x11860c['customRenderTargets']['length'] > 0x0 && this['_renderTargets']['concatWithNoDuplicate'](_0x11860c['customRenderTargets']);
for (var _0x93185b = 0x0, _0xa4ffbd = this['_gatherActiveCameraRenderTargetsStage']; _0x93185b < _0xa4ffbd['length']; _0x93185b++) {
_0xa4ffbd[_0x93185b]['action'](this['_renderTargets']);
}
if (this['renderTargetsEnabled']) {
this['_intermediateRendering'] = !0x0;
var _0x2a7a23 = !0x1;
if (this['_renderTargets']['length'] > 0x0) {
_0x24e4b1['h']['StartPerformanceCounter']('Render\x20targets', this['_renderTargets']['length'] > 0x0);
for (var _0x5deca0 = 0x0; _0x5deca0 < this['_renderTargets']['length']; _0x5deca0++) {
var _0x21c35d = this['_renderTargets']['data'][_0x5deca0];
if (_0x21c35d['_shouldRender']()) {
this['_renderId']++;
var _0x2fc5b4 = _0x21c35d['activeCamera'] && _0x21c35d['activeCamera'] !== this['activeCamera'];
_0x21c35d['render'](_0x2fc5b4, this['dumpNextRenderTargets']),
_0x2a7a23 = !0x0;
}
}
_0x24e4b1['h']['EndPerformanceCounter']('Render\x20targets', this['_renderTargets']['length'] > 0x0),
this['_renderId']++;
}
for (var _0x4a88eb = 0x0, _0xd2975a = this['_cameraDrawRenderTargetStage']; _0x4a88eb < _0xd2975a['length']; _0x4a88eb++) {
_0x2a7a23 = _0xd2975a[_0x4a88eb]['action'](this['activeCamera']) || _0x2a7a23;
}
this['_intermediateRendering'] = !0x1,
_0x2a7a23 && this['_bindFrameBuffer']();
}
this['onAfterRenderTargetsRenderObservable']['notifyObservers'](this),
this['postProcessManager'] && !_0x47d034['_multiviewTexture'] && this['postProcessManager']['_prepareFrame']();
for (var _0x433409 = 0x0, _0x4ab3ce = this['_beforeCameraDrawStage']; _0x433409 < _0x4ab3ce['length']; _0x433409++) {
_0x4ab3ce[_0x433409]['action'](this['activeCamera']);
}
this['onBeforeDrawPhaseObservable']['notifyObservers'](this),
this['_renderingManager']['render'](null, null, !0x0, !0x0),
this['onAfterDrawPhaseObservable']['notifyObservers'](this);
for (var _0x395a2d = 0x0, _0x16de07 = this['_afterCameraDrawStage']; _0x395a2d < _0x16de07['length']; _0x395a2d++) {
_0x16de07[_0x395a2d]['action'](this['activeCamera']);
}
this['postProcessManager'] && !_0x47d034['_multiviewTexture'] && this['postProcessManager']['_finalizeFrame'](_0x47d034['isIntermediate']),
this['_renderTargets']['reset'](),
this['onAfterCameraRenderObservable']['notifyObservers'](this['activeCamera']);
}
}
,
_0x5b6241['prototype']['_processSubCameras'] = function(_0x355d7b) {
if (_0x355d7b['cameraRigMode'] === _0x5dfe75['a']['RIG_MODE_NONE'] || _0x355d7b['outputRenderTarget'] && _0x355d7b['outputRenderTarget']['getViewCount']() > 0x1 && this['getEngine']()['getCaps']()['multiview'])
this['_renderForCamera'](_0x355d7b);
else {
if (_0x355d7b['_useMultiviewToSingleView'])
this['_renderMultiviewToSingleView'](_0x355d7b);
else
for (var _0x5d7dba = 0x0; _0x5d7dba < _0x355d7b['_rigCameras']['length']; _0x5d7dba++)
this['_renderForCamera'](_0x355d7b['_rigCameras'][_0x5d7dba], _0x355d7b);
this['_activeCamera'] = _0x355d7b,
this['setTransformMatrix'](this['_activeCamera']['getViewMatrix'](), this['_activeCamera']['getProjectionMatrix']());
}
}
,
_0x5b6241['prototype']['_checkIntersections'] = function() {
for (var _0x234614 = 0x0; _0x234614 < this['_meshesForIntersections']['length']; _0x234614++) {
var _0x267488 = this['_meshesForIntersections']['data'][_0x234614];
if (_0x267488['actionManager'])
for (var _0x19a1e6 = 0x0; _0x267488['actionManager'] && _0x19a1e6 < _0x267488['actionManager']['actions']['length']; _0x19a1e6++) {
var _0x32b92d = _0x267488['actionManager']['actions'][_0x19a1e6];
if (_0x32b92d['trigger'] === _0x22ca5d['a']['ACTION_OnIntersectionEnterTrigger'] || _0x32b92d['trigger'] === _0x22ca5d['a']['ACTION_OnIntersectionExitTrigger']) {
var _0x561945 = _0x32b92d['getTriggerParameter']()
, _0x23d5ed = _0x561945 instanceof _0xe57370['a'] ? _0x561945 : _0x561945['mesh']
, _0xd15c57 = _0x23d5ed['intersectsMesh'](_0x267488, _0x561945['usePreciseIntersection'])
, _0x1c108e = _0x267488['_intersectionsInProgress']['indexOf'](_0x23d5ed);
_0xd15c57 && -0x1 === _0x1c108e ? _0x32b92d['trigger'] === _0x22ca5d['a']['ACTION_OnIntersectionEnterTrigger'] ? (_0x32b92d['_executeCurrent'](_0xa60415['a']['CreateNew'](_0x267488, void 0x0, _0x23d5ed)),
_0x267488['_intersectionsInProgress']['push'](_0x23d5ed)) : _0x32b92d['trigger'] === _0x22ca5d['a']['ACTION_OnIntersectionExitTrigger'] && _0x267488['_intersectionsInProgress']['push'](_0x23d5ed) : !_0xd15c57 && _0x1c108e > -0x1 && (_0x32b92d['trigger'] === _0x22ca5d['a']['ACTION_OnIntersectionExitTrigger'] && _0x32b92d['_executeCurrent'](_0xa60415['a']['CreateNew'](_0x267488, void 0x0, _0x23d5ed)),
_0x267488['actionManager']['hasSpecificTrigger'](_0x22ca5d['a']['ACTION_OnIntersectionExitTrigger'], function(_0x2d9241) {
var _0xf6411c = _0x2d9241 instanceof _0xe57370['a'] ? _0x2d9241 : _0x2d9241['mesh'];
return _0x23d5ed === _0xf6411c;
}) && _0x32b92d['trigger'] !== _0x22ca5d['a']['ACTION_OnIntersectionExitTrigger'] || _0x267488['_intersectionsInProgress']['splice'](_0x1c108e, 0x1));
}
}
}
}
,
_0x5b6241['prototype']['_advancePhysicsEngineStep'] = function(_0x28a255) {}
,
_0x5b6241['prototype']['_animate'] = function() {}
,
_0x5b6241['prototype']['animate'] = function() {
if (this['_engine']['isDeterministicLockStep']()) {
var _0x1c7e0c = Math['max'](_0x5b6241['MinDeltaTime'], Math['min'](this['_engine']['getDeltaTime'](), _0x5b6241['MaxDeltaTime'])) + this['_timeAccumulator']
, _0x34e6b3 = this['getDeterministicFrameTime']()
, _0x314152 = 0x0
, _0x2be858 = this['_engine']['getLockstepMaxSteps']()
, _0xb55643 = Math['floor'](_0x1c7e0c / 0x3c);
_0xb55643 = Math['min'](_0xb55643, _0x2be858);
do {
this['onBeforeStepObservable']['notifyObservers'](this),
this['_animationRatio'] = 0.06 * _0x34e6b3,
this['_animate'](),
this['onAfterAnimationsObservable']['notifyObservers'](this),
this['_advancePhysicsEngineStep'](_0x34e6b3),
this['onAfterStepObservable']['notifyObservers'](this),
this['_currentStepId']++,
_0x314152++,
_0x1c7e0c -= _0x34e6b3;
} while (_0x1c7e0c > 0x0 && _0x314152 < _0xb55643);
this['_timeAccumulator'] = _0x1c7e0c < 0x0 ? 0x0 : _0x1c7e0c;
} else {
_0x1c7e0c = this['useConstantAnimationDeltaTime'] ? 0x10 : Math['max'](_0x5b6241['MinDeltaTime'], Math['min'](this['_engine']['getDeltaTime'](), _0x5b6241['MaxDeltaTime']));
this['_animationRatio'] = 0.06 * _0x1c7e0c,
this['_animate'](),
this['onAfterAnimationsObservable']['notifyObservers'](this),
this['_advancePhysicsEngineStep'](_0x1c7e0c);
}
}
,
_0x5b6241['prototype']['render'] = function(_0x494a36, _0x46381c) {
if (void 0x0 === _0x494a36 && (_0x494a36 = !0x0),
void 0x0 === _0x46381c && (_0x46381c = !0x1),
!this['isDisposed']) {
this['_frameId']++,
this['_registerTransientComponents'](),
this['_activeParticles']['fetchNewFrame'](),
this['_totalVertices']['fetchNewFrame'](),
this['_activeIndices']['fetchNewFrame'](),
this['_activeBones']['fetchNewFrame'](),
this['_meshesForIntersections']['reset'](),
this['resetCachedMaterial'](),
this['onBeforeAnimationsObservable']['notifyObservers'](this),
this['actionManager'] && this['actionManager']['processTrigger'](_0x22ca5d['a']['ACTION_OnEveryFrameTrigger']),
_0x46381c || this['animate']();
for (var _0x869b9e = 0x0, _0x291e0a = this['_beforeCameraUpdateStage']; _0x869b9e < _0x291e0a['length']; _0x869b9e++) {
_0x291e0a[_0x869b9e]['action']();
}
if (_0x494a36)
if (this['activeCameras']['length'] > 0x0)
for (var _0x3abf86 = 0x0; _0x3abf86 < this['activeCameras']['length']; _0x3abf86++) {
var _0x48c037 = this['activeCameras'][_0x3abf86];
if (_0x48c037['update'](),
_0x48c037['cameraRigMode'] !== _0x5dfe75['a']['RIG_MODE_NONE'])
for (var _0x135c7a = 0x0; _0x135c7a < _0x48c037['_rigCameras']['length']; _0x135c7a++)
_0x48c037['_rigCameras'][_0x135c7a]['update']();
}
else if (this['activeCamera'] && (this['activeCamera']['update'](),
this['activeCamera']['cameraRigMode'] !== _0x5dfe75['a']['RIG_MODE_NONE']))
for (_0x135c7a = 0x0; _0x135c7a < this['activeCamera']['_rigCameras']['length']; _0x135c7a++)
this['activeCamera']['_rigCameras'][_0x135c7a]['update']();
this['onBeforeRenderObservable']['notifyObservers'](this),
this['onBeforeRenderTargetsRenderObservable']['notifyObservers'](this);
var _0x29f9db = this['getEngine']()
, _0x2f8049 = this['activeCamera'];
if (this['renderTargetsEnabled']) {
_0x24e4b1['h']['StartPerformanceCounter']('Custom\x20render\x20targets', this['customRenderTargets']['length'] > 0x0),
this['_intermediateRendering'] = !0x0;
for (var _0x13f9f2 = 0x0; _0x13f9f2 < this['customRenderTargets']['length']; _0x13f9f2++) {
var _0x19c718 = this['customRenderTargets'][_0x13f9f2];
if (_0x19c718['_shouldRender']()) {
if (this['_renderId']++,
this['activeCamera'] = _0x19c718['activeCamera'] || this['activeCamera'],
!this['activeCamera'])
throw new Error('Active\x20camera\x20not\x20set');
_0x29f9db['setViewport'](this['activeCamera']['viewport']),
this['updateTransformMatrix'](),
_0x19c718['render'](_0x2f8049 !== this['activeCamera'], this['dumpNextRenderTargets']);
}
}
_0x24e4b1['h']['EndPerformanceCounter']('Custom\x20render\x20targets', this['customRenderTargets']['length'] > 0x0),
this['_intermediateRendering'] = !0x1,
this['_renderId']++;
}
this['activeCamera'] = _0x2f8049,
this['_bindFrameBuffer'](),
this['onAfterRenderTargetsRenderObservable']['notifyObservers'](this);
for (var _0x27895c = 0x0, _0x782c55 = this['_beforeClearStage']; _0x27895c < _0x782c55['length']; _0x27895c++) {
_0x782c55[_0x27895c]['action']();
}
(this['autoClearDepthAndStencil'] || this['autoClear']) && this['_engine']['clear'](this['clearColor'], this['autoClear'] || this['forceWireframe'] || this['forcePointsCloud'], this['autoClearDepthAndStencil'], this['autoClearDepthAndStencil']);
for (var _0x10365c = 0x0, _0x20e7ea = this['_gatherRenderTargetsStage']; _0x10365c < _0x20e7ea['length']; _0x10365c++) {
_0x20e7ea[_0x10365c]['action'](this['_renderTargets']);
}
if (this['activeCameras']['length'] > 0x0)
for (_0x3abf86 = 0x0; _0x3abf86 < this['activeCameras']['length']; _0x3abf86++)
_0x3abf86 > 0x0 && this['_engine']['clear'](null, !0x1, !0x0, !0x0),
this['_processSubCameras'](this['activeCameras'][_0x3abf86]);
else {
if (!this['activeCamera'])
throw new Error('No\x20camera\x20defined');
this['_processSubCameras'](this['activeCamera']);
}
this['_checkIntersections']();
for (var _0x25ab3f = 0x0, _0x148421 = this['_afterRenderStage']; _0x25ab3f < _0x148421['length']; _0x25ab3f++) {
_0x148421[_0x25ab3f]['action']();
}
if (this['afterRender'] && this['afterRender'](),
this['onAfterRenderObservable']['notifyObservers'](this),
this['_toBeDisposed']['length']) {
for (_0x135c7a = 0x0; _0x135c7a < this['_toBeDisposed']['length']; _0x135c7a++) {
var _0x3dbcad = this['_toBeDisposed'][_0x135c7a];
_0x3dbcad && _0x3dbcad['dispose']();
}
this['_toBeDisposed'] = [];
}
this['dumpNextRenderTargets'] && (this['dumpNextRenderTargets'] = !0x1),
this['_activeBones']['addCount'](0x0, !0x0),
this['_activeIndices']['addCount'](0x0, !0x0),
this['_activeParticles']['addCount'](0x0, !0x0);
}
}
,
_0x5b6241['prototype']['freezeMaterials'] = function() {
for (var _0x4cb14b = 0x0; _0x4cb14b < this['materials']['length']; _0x4cb14b++)
this['materials'][_0x4cb14b]['freeze']();
}
,
_0x5b6241['prototype']['unfreezeMaterials'] = function() {
for (var _0xa500ee = 0x0; _0xa500ee < this['materials']['length']; _0xa500ee++)
this['materials'][_0xa500ee]['unfreeze']();
}
,
_0x5b6241['prototype']['dispose'] = function() {
this['beforeRender'] = null,
this['afterRender'] = null,
this['skeletons'] = [],
this['morphTargetManagers'] = [],
this['_transientComponents'] = [],
this['_isReadyForMeshStage']['clear'](),
this['_beforeEvaluateActiveMeshStage']['clear'](),
this['_evaluateSubMeshStage']['clear'](),
this['_activeMeshStage']['clear'](),
this['_cameraDrawRenderTargetStage']['clear'](),
this['_beforeCameraDrawStage']['clear'](),
this['_beforeRenderTargetDrawStage']['clear'](),
this['_beforeRenderingGroupDrawStage']['clear'](),
this['_beforeRenderingMeshStage']['clear'](),
this['_afterRenderingMeshStage']['clear'](),
this['_afterRenderingGroupDrawStage']['clear'](),
this['_afterCameraDrawStage']['clear'](),
this['_afterRenderTargetDrawStage']['clear'](),
this['_afterRenderStage']['clear'](),
this['_beforeCameraUpdateStage']['clear'](),
this['_beforeClearStage']['clear'](),
this['_gatherRenderTargetsStage']['clear'](),
this['_gatherActiveCameraRenderTargetsStage']['clear'](),
this['_pointerMoveStage']['clear'](),
this['_pointerDownStage']['clear'](),
this['_pointerUpStage']['clear']();
for (var _0x90bec9 = 0x0, _0x5e577b = this['_components']; _0x90bec9 < _0x5e577b['length']; _0x90bec9++) {
_0x5e577b[_0x90bec9]['dispose']();
}
this['importedMeshesFiles'] = new Array(),
this['stopAllAnimations'] && this['stopAllAnimations'](),
this['resetCachedMaterial'](),
this['activeCamera'] && (this['activeCamera']['_activeMeshes']['dispose'](),
this['activeCamera'] = null),
this['_activeMeshes']['dispose'](),
this['_renderingManager']['dispose'](),
this['_processedMaterials']['dispose'](),
this['_activeParticleSystems']['dispose'](),
this['_activeSkeletons']['dispose'](),
this['_softwareSkinnedMeshes']['dispose'](),
this['_renderTargets']['dispose'](),
this['_registeredForLateAnimationBindings']['dispose'](),
this['_meshesForIntersections']['dispose'](),
this['_toBeDisposed'] = [];
for (var _0x391a87 = 0x0, _0x317a8a = this['_activeRequests']; _0x391a87 < _0x317a8a['length']; _0x391a87++) {
_0x317a8a[_0x391a87]['abort']();
}
this['onDisposeObservable']['notifyObservers'](this),
this['onDisposeObservable']['clear'](),
this['onBeforeRenderObservable']['clear'](),
this['onAfterRenderObservable']['clear'](),
this['onBeforeRenderTargetsRenderObservable']['clear'](),
this['onAfterRenderTargetsRenderObservable']['clear'](),
this['onAfterStepObservable']['clear'](),
this['onBeforeStepObservable']['clear'](),
this['onBeforeActiveMeshesEvaluationObservable']['clear'](),
this['onAfterActiveMeshesEvaluationObservable']['clear'](),
this['onBeforeParticlesRenderingObservable']['clear'](),
this['onAfterParticlesRenderingObservable']['clear'](),
this['onBeforeDrawPhaseObservable']['clear'](),
this['onAfterDrawPhaseObservable']['clear'](),
this['onBeforeAnimationsObservable']['clear'](),
this['onAfterAnimationsObservable']['clear'](),
this['onDataLoadedObservable']['clear'](),
this['onBeforeRenderingGroupObservable']['clear'](),
this['onAfterRenderingGroupObservable']['clear'](),
this['onMeshImportedObservable']['clear'](),
this['onBeforeCameraRenderObservable']['clear'](),
this['onAfterCameraRenderObservable']['clear'](),
this['onReadyObservable']['clear'](),
this['onNewCameraAddedObservable']['clear'](),
this['onCameraRemovedObservable']['clear'](),
this['onNewLightAddedObservable']['clear'](),
this['onLightRemovedObservable']['clear'](),
this['onNewGeometryAddedObservable']['clear'](),
this['onGeometryRemovedObservable']['clear'](),
this['onNewTransformNodeAddedObservable']['clear'](),
this['onTransformNodeRemovedObservable']['clear'](),
this['onNewMeshAddedObservable']['clear'](),
this['onMeshRemovedObservable']['clear'](),
this['onNewSkeletonAddedObservable']['clear'](),
this['onSkeletonRemovedObservable']['clear'](),
this['onNewMaterialAddedObservable']['clear'](),
this['onMaterialRemovedObservable']['clear'](),
this['onNewTextureAddedObservable']['clear'](),
this['onTextureRemovedObservable']['clear'](),
this['onPrePointerObservable']['clear'](),
this['onPointerObservable']['clear'](),
this['onPreKeyboardObservable']['clear'](),
this['onKeyboardObservable']['clear'](),
this['onActiveCameraChanged']['clear'](),
this['detachControl']();
var _0x2c2f01, _0x28d9f4 = this['_engine']['getRenderingCanvas']();
if (_0x28d9f4)
for (_0x2c2f01 = 0x0; _0x2c2f01 < this['cameras']['length']; _0x2c2f01++)
this['cameras'][_0x2c2f01]['detachControl'](_0x28d9f4);
for (; this['animationGroups']['length']; )
this['animationGroups'][0x0]['dispose']();
for (; this['lights']['length']; )
this['lights'][0x0]['dispose']();
for (; this['meshes']['length']; )
this['meshes'][0x0]['dispose'](!0x0);
for (; this['transformNodes']['length']; )
this['transformNodes'][0x0]['dispose'](!0x0);
for (; this['cameras']['length']; )
this['cameras'][0x0]['dispose']();
for (this['_defaultMaterial'] && this['_defaultMaterial']['dispose'](); this['multiMaterials']['length']; )
this['multiMaterials'][0x0]['dispose']();
for (; this['materials']['length']; )
this['materials'][0x0]['dispose']();
for (; this['particleSystems']['length']; )
this['particleSystems'][0x0]['dispose']();
for (; this['postProcesses']['length']; )
this['postProcesses'][0x0]['dispose']();
for (; this['textures']['length']; )
this['textures'][0x0]['dispose']();
this['_sceneUbo']['dispose'](),
this['_multiviewSceneUbo'] && this['_multiviewSceneUbo']['dispose'](),
this['postProcessManager']['dispose'](),
(_0x2c2f01 = this['_engine']['scenes']['indexOf'](this)) > -0x1 && this['_engine']['scenes']['splice'](_0x2c2f01, 0x1),
this['_engine']['wipeCaches'](!0x0),
this['_isDisposed'] = !0x0;
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'isDisposed', {
'get': function() {
return this['_isDisposed'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['clearCachedVertexData'] = function() {
for (var _0x171d5f = 0x0; _0x171d5f < this['meshes']['length']; _0x171d5f++) {
var _0x161b7b = this['meshes'][_0x171d5f]['geometry'];
if (_0x161b7b)
for (var _0x297f2d in (_0x161b7b['_indices'] = [],
_0x161b7b['_vertexBuffers']))
_0x161b7b['_vertexBuffers']['hasOwnProperty'](_0x297f2d) && (_0x161b7b['_vertexBuffers'][_0x297f2d]['_buffer']['_data'] = null);
}
}
,
_0x5b6241['prototype']['cleanCachedTextureBuffer'] = function() {
for (var _0x24837f = 0x0, _0x15ca37 = this['textures']; _0x24837f < _0x15ca37['length']; _0x24837f++) {
var _0x380cb5 = _0x15ca37[_0x24837f];
_0x380cb5['_buffer'] && (_0x380cb5['_buffer'] = null);
}
}
,
_0x5b6241['prototype']['getWorldExtends'] = function(_0x9014d0) {
var _0x40f35d = new _0x4b6821['x'](Number['MAX_VALUE'],Number['MAX_VALUE'],Number['MAX_VALUE'])
, _0x51ae40 = new _0x4b6821['x'](-Number['MAX_VALUE'],-Number['MAX_VALUE'],-Number['MAX_VALUE']);
return _0x9014d0 = _0x9014d0 || function() {
return !0x0;
}
,
this['meshes']['filter'](_0x9014d0)['forEach'](function(_0x5176da) {
if (_0x5176da['computeWorldMatrix'](!0x0),
_0x5176da['subMeshes'] && 0x0 !== _0x5176da['subMeshes']['length'] && !_0x5176da['infiniteDistance']) {
var _0x1f5bfd = _0x5176da['getBoundingInfo']()
, _0x1fefce = _0x1f5bfd['boundingBox']['minimumWorld']
, _0x39c488 = _0x1f5bfd['boundingBox']['maximumWorld'];
_0x24e4b1['h']['CheckExtends'](_0x1fefce, _0x40f35d, _0x51ae40),
_0x24e4b1['h']['CheckExtends'](_0x39c488, _0x40f35d, _0x51ae40);
}
}),
{
'min': _0x40f35d,
'max': _0x51ae40
};
}
,
_0x5b6241['prototype']['createPickingRay'] = function(_0x25b8ad, _0x321b55, _0x24b28f, _0x3b0d8f, _0x59d48c) {
throw void 0x0 === _0x59d48c && (_0x59d48c = !0x1),
_0x28a876['a']['WarnImport']('Ray');
}
,
_0x5b6241['prototype']['createPickingRayToRef'] = function(_0x3fe940, _0x33edc8, _0x2009ff, _0xe9c66f, _0x1d6104, _0x16ff80) {
throw void 0x0 === _0x16ff80 && (_0x16ff80 = !0x1),
_0x28a876['a']['WarnImport']('Ray');
}
,
_0x5b6241['prototype']['createPickingRayInCameraSpace'] = function(_0x57b290, _0x528ac3, _0x5c6cbc) {
throw _0x28a876['a']['WarnImport']('Ray');
}
,
_0x5b6241['prototype']['createPickingRayInCameraSpaceToRef'] = function(_0x5c21b3, _0x398ee8, _0xad466d, _0x14f4b9) {
throw _0x28a876['a']['WarnImport']('Ray');
}
,
_0x5b6241['prototype']['pick'] = function(_0x1f6b13, _0x2ca340, _0x4e2e07, _0x2764d6, _0xd0910d, _0x361752) {
var _0x2bd335 = new _0x3f9890['a']();
return _0x2bd335['_pickingUnavailable'] = !0x0,
_0x2bd335;
}
,
_0x5b6241['prototype']['pickWithRay'] = function(_0x2620a9, _0x18b180, _0x389daa, _0xacb2d7) {
throw _0x28a876['a']['WarnImport']('Ray');
}
,
_0x5b6241['prototype']['multiPick'] = function(_0x46c0f1, _0x525330, _0x5321d3, _0x4092e4, _0x46fd81) {
throw _0x28a876['a']['WarnImport']('Ray');
}
,
_0x5b6241['prototype']['multiPickWithRay'] = function(_0x390a4d, _0x15dd70, _0x1562a7) {
throw _0x28a876['a']['WarnImport']('Ray');
}
,
_0x5b6241['prototype']['setPointerOverMesh'] = function(_0x325925) {
this['_inputManager']['setPointerOverMesh'](_0x325925);
}
,
_0x5b6241['prototype']['getPointerOverMesh'] = function() {
return this['_inputManager']['getPointerOverMesh']();
}
,
_0x5b6241['prototype']['_rebuildGeometries'] = function() {
for (var _0x2e2672 = 0x0, _0x3ad7ef = this['geometries']; _0x2e2672 < _0x3ad7ef['length']; _0x2e2672++) {
_0x3ad7ef[_0x2e2672]['_rebuild']();
}
for (var _0x55f434 = 0x0, _0x231a4d = this['meshes']; _0x55f434 < _0x231a4d['length']; _0x55f434++) {
_0x231a4d[_0x55f434]['_rebuild']();
}
this['postProcessManager'] && this['postProcessManager']['_rebuild']();
for (var _0x2e5b97 = 0x0, _0xcbbac3 = this['_components']; _0x2e5b97 < _0xcbbac3['length']; _0x2e5b97++) {
_0xcbbac3[_0x2e5b97]['rebuild']();
}
for (var _0x1645c8 = 0x0, _0x2199c7 = this['particleSystems']; _0x1645c8 < _0x2199c7['length']; _0x1645c8++) {
_0x2199c7[_0x1645c8]['rebuild']();
}
}
,
_0x5b6241['prototype']['_rebuildTextures'] = function() {
for (var _0xa7b6c3 = 0x0, _0x236383 = this['textures']; _0xa7b6c3 < _0x236383['length']; _0xa7b6c3++) {
_0x236383[_0xa7b6c3]['_rebuild']();
}
this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_TextureDirtyFlag']);
}
,
_0x5b6241['prototype']['_getByTags'] = function(_0xc5500f, _0x44b54e, _0x268cdf) {
if (void 0x0 === _0x44b54e)
return _0xc5500f;
var _0x5ebcd8 = [];
for (var _0x453477 in (_0x268cdf = _0x268cdf || function(_0x2385e6) {}
,
_0xc5500f)) {
var _0xeebec7 = _0xc5500f[_0x453477];
_0x17764a['a'] && _0x17764a['a']['MatchesQuery'](_0xeebec7, _0x44b54e) && (_0x5ebcd8['push'](_0xeebec7),
_0x268cdf(_0xeebec7));
}
return _0x5ebcd8;
}
,
_0x5b6241['prototype']['getMeshesByTags'] = function(_0x43be53, _0x21c491) {
return this['_getByTags'](this['meshes'], _0x43be53, _0x21c491);
}
,
_0x5b6241['prototype']['getCamerasByTags'] = function(_0x17043a, _0x2c0d5e) {
return this['_getByTags'](this['cameras'], _0x17043a, _0x2c0d5e);
}
,
_0x5b6241['prototype']['getLightsByTags'] = function(_0x20d0b9, _0x37ad6d) {
return this['_getByTags'](this['lights'], _0x20d0b9, _0x37ad6d);
}
,
_0x5b6241['prototype']['getMaterialByTags'] = function(_0x128efa, _0x25da6e) {
return this['_getByTags'](this['materials'], _0x128efa, _0x25da6e)['concat'](this['_getByTags'](this['multiMaterials'], _0x128efa, _0x25da6e));
}
,
_0x5b6241['prototype']['setRenderingOrder'] = function(_0x3725a9, _0x4a4b1c, _0x1f8943, _0x1184bd) {
void 0x0 === _0x4a4b1c && (_0x4a4b1c = null),
void 0x0 === _0x1f8943 && (_0x1f8943 = null),
void 0x0 === _0x1184bd && (_0x1184bd = null),
this['_renderingManager']['setRenderingOrder'](_0x3725a9, _0x4a4b1c, _0x1f8943, _0x1184bd);
}
,
_0x5b6241['prototype']['setRenderingAutoClearDepthStencil'] = function(_0x13bb27, _0x400def, _0x2750a3, _0x32ff03) {
void 0x0 === _0x2750a3 && (_0x2750a3 = !0x0),
void 0x0 === _0x32ff03 && (_0x32ff03 = !0x0),
this['_renderingManager']['setRenderingAutoClearDepthStencil'](_0x13bb27, _0x400def, _0x2750a3, _0x32ff03);
}
,
_0x5b6241['prototype']['getAutoClearDepthStencilSetup'] = function(_0x3ac85b) {
return this['_renderingManager']['getAutoClearDepthStencilSetup'](_0x3ac85b);
}
,
Object['defineProperty'](_0x5b6241['prototype'], 'blockMaterialDirtyMechanism', {
'get': function() {
return this['_blockMaterialDirtyMechanism'];
},
'set': function(_0x40e9cf) {
this['_blockMaterialDirtyMechanism'] !== _0x40e9cf && (this['_blockMaterialDirtyMechanism'] = _0x40e9cf,
_0x40e9cf || this['markAllMaterialsAsDirty'](_0x22ca5d['a']['MATERIAL_AllDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5b6241['prototype']['markAllMaterialsAsDirty'] = function(_0x5e350f, _0x589083) {
if (!this['_blockMaterialDirtyMechanism'])
for (var _0x28b8c5 = 0x0, _0x2e639b = this['materials']; _0x28b8c5 < _0x2e639b['length']; _0x28b8c5++) {
var _0x9876cb = _0x2e639b[_0x28b8c5];
_0x589083 && !_0x589083(_0x9876cb) || _0x9876cb['markAsDirty'](_0x5e350f);
}
}
,
_0x5b6241['prototype']['_loadFile'] = function(_0x3f9f6e, _0x326e65, _0x4efc9e, _0x481919, _0x54e756, _0x50ceb4) {
var _0x50158e = this
, _0x51597e = _0x24e4b1['h']['LoadFile'](_0x3f9f6e, _0x326e65, _0x4efc9e, _0x481919 ? this['offlineProvider'] : void 0x0, _0x54e756, _0x50ceb4);
return this['_activeRequests']['push'](_0x51597e),
_0x51597e['onCompleteObservable']['add'](function(_0x1d7527) {
_0x50158e['_activeRequests']['splice'](_0x50158e['_activeRequests']['indexOf'](_0x1d7527), 0x1);
}),
_0x51597e;
}
,
_0x5b6241['prototype']['_loadFileAsync'] = function(_0x5d86e7, _0x1fb267, _0xb412bc) {
var _0x450e3e = this;
return new Promise(function(_0x194ac1, _0xdb545a) {
_0x450e3e['_loadFile'](_0x5d86e7, function(_0x384885) {
_0x194ac1(_0x384885);
}, void 0x0, _0x1fb267, _0xb412bc, function(_0x3700c9, _0x2a36c0) {
_0xdb545a(_0x2a36c0);
});
}
);
}
,
_0x5b6241['_uniqueIdCounter'] = 0x0,
_0x5b6241['FOGMODE_NONE'] = 0x0,
_0x5b6241['FOGMODE_EXP'] = 0x1,
_0x5b6241['FOGMODE_EXP2'] = 0x2,
_0x5b6241['FOGMODE_LINEAR'] = 0x3,
_0x5b6241['MinDeltaTime'] = 0x1,
_0x5b6241['MaxDeltaTime'] = 0x3e8,
_0x5b6241;
}(_0x3f7016['a']);
}
, function(_0x4964bd, _0x517490, _0x43bfd5) {
'use strict';
_0x43bfd5['d'](_0x517490, 'a', function() {
return _0x432f83;
}),
_0x43bfd5['d'](_0x517490, 'c', function() {
return _0x1e04ea;
}),
_0x43bfd5['d'](_0x517490, 'd', function() {
return _0x16202e;
}),
_0x43bfd5['d'](_0x517490, 'b', function() {
return _0x51e07f;
});
var _0x410673 = _0x43bfd5(0x1)
, _0x2f016e = _0x43bfd5(0x0)
, _0x432f83 = function() {
function _0x32971b() {}
return _0x32971b['POINTERDOWN'] = 0x1,
_0x32971b['POINTERUP'] = 0x2,
_0x32971b['POINTERMOVE'] = 0x4,
_0x32971b['POINTERWHEEL'] = 0x8,
_0x32971b['POINTERPICK'] = 0x10,
_0x32971b['POINTERTAP'] = 0x20,
_0x32971b['POINTERDOUBLETAP'] = 0x40,
_0x32971b;
}()
, _0x1e04ea = function() {
return function(_0x2c3a56, _0x5488af) {
this['type'] = _0x2c3a56,
this['event'] = _0x5488af;
}
;
}()
, _0x16202e = function(_0xad9eb9) {
function _0x448db3(_0x224101, _0x2e8a42, _0x2e6a48, _0xc4f34d) {
var _0x13097f = _0xad9eb9['call'](this, _0x224101, _0x2e8a42) || this;
return _0x13097f['ray'] = null,
_0x13097f['skipOnPointerObservable'] = !0x1,
_0x13097f['localPosition'] = new _0x2f016e['w'](_0x2e6a48,_0xc4f34d),
_0x13097f;
}
return _0x410673['d'](_0x448db3, _0xad9eb9),
_0x448db3;
}(_0x1e04ea)
, _0x51e07f = function(_0x38e313) {
function _0x81b7de(_0x77de74, _0x17d9ae, _0x4586f4) {
var _0x5f5520 = _0x38e313['call'](this, _0x77de74, _0x17d9ae) || this;
return _0x5f5520['pickInfo'] = _0x4586f4,
_0x5f5520;
}
return _0x410673['d'](_0x81b7de, _0x38e313),
_0x81b7de;
}(_0x1e04ea);
}
, function(_0x5a5779, _0x4a5550, _0x524319) {
'use strict';
_0x524319['d'](_0x4a5550, 'a', function() {
return _0x3a4981;
});
var _0x32c1ee = _0x524319(0xa)
, _0x469f1d = _0x524319(0x3)
, _0x3a4981 = function() {
function _0x5f5d35() {}
return Object['defineProperty'](_0x5f5d35, 'DiffuseTextureEnabled', {
'get': function() {
return this['_DiffuseTextureEnabled'];
},
'set': function(_0x2facb9) {
this['_DiffuseTextureEnabled'] !== _0x2facb9 && (this['_DiffuseTextureEnabled'] = _0x2facb9,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'AmbientTextureEnabled', {
'get': function() {
return this['_AmbientTextureEnabled'];
},
'set': function(_0x2c066d) {
this['_AmbientTextureEnabled'] !== _0x2c066d && (this['_AmbientTextureEnabled'] = _0x2c066d,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'OpacityTextureEnabled', {
'get': function() {
return this['_OpacityTextureEnabled'];
},
'set': function(_0x257498) {
this['_OpacityTextureEnabled'] !== _0x257498 && (this['_OpacityTextureEnabled'] = _0x257498,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'ReflectionTextureEnabled', {
'get': function() {
return this['_ReflectionTextureEnabled'];
},
'set': function(_0x244a3c) {
this['_ReflectionTextureEnabled'] !== _0x244a3c && (this['_ReflectionTextureEnabled'] = _0x244a3c,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'EmissiveTextureEnabled', {
'get': function() {
return this['_EmissiveTextureEnabled'];
},
'set': function(_0x272223) {
this['_EmissiveTextureEnabled'] !== _0x272223 && (this['_EmissiveTextureEnabled'] = _0x272223,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'SpecularTextureEnabled', {
'get': function() {
return this['_SpecularTextureEnabled'];
},
'set': function(_0x45d0a3) {
this['_SpecularTextureEnabled'] !== _0x45d0a3 && (this['_SpecularTextureEnabled'] = _0x45d0a3,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'BumpTextureEnabled', {
'get': function() {
return this['_BumpTextureEnabled'];
},
'set': function(_0x4fd2b3) {
this['_BumpTextureEnabled'] !== _0x4fd2b3 && (this['_BumpTextureEnabled'] = _0x4fd2b3,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'LightmapTextureEnabled', {
'get': function() {
return this['_LightmapTextureEnabled'];
},
'set': function(_0x36db23) {
this['_LightmapTextureEnabled'] !== _0x36db23 && (this['_LightmapTextureEnabled'] = _0x36db23,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'RefractionTextureEnabled', {
'get': function() {
return this['_RefractionTextureEnabled'];
},
'set': function(_0x1cebdd) {
this['_RefractionTextureEnabled'] !== _0x1cebdd && (this['_RefractionTextureEnabled'] = _0x1cebdd,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'ColorGradingTextureEnabled', {
'get': function() {
return this['_ColorGradingTextureEnabled'];
},
'set': function(_0x503509) {
this['_ColorGradingTextureEnabled'] !== _0x503509 && (this['_ColorGradingTextureEnabled'] = _0x503509,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'FresnelEnabled', {
'get': function() {
return this['_FresnelEnabled'];
},
'set': function(_0x5369a5) {
this['_FresnelEnabled'] !== _0x5369a5 && (this['_FresnelEnabled'] = _0x5369a5,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_FresnelDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'ClearCoatTextureEnabled', {
'get': function() {
return this['_ClearCoatTextureEnabled'];
},
'set': function(_0x221b0e) {
this['_ClearCoatTextureEnabled'] !== _0x221b0e && (this['_ClearCoatTextureEnabled'] = _0x221b0e,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'ClearCoatBumpTextureEnabled', {
'get': function() {
return this['_ClearCoatBumpTextureEnabled'];
},
'set': function(_0xd08eca) {
this['_ClearCoatBumpTextureEnabled'] !== _0xd08eca && (this['_ClearCoatBumpTextureEnabled'] = _0xd08eca,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'ClearCoatTintTextureEnabled', {
'get': function() {
return this['_ClearCoatTintTextureEnabled'];
},
'set': function(_0x566703) {
this['_ClearCoatTintTextureEnabled'] !== _0x566703 && (this['_ClearCoatTintTextureEnabled'] = _0x566703,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'SheenTextureEnabled', {
'get': function() {
return this['_SheenTextureEnabled'];
},
'set': function(_0x35e9de) {
this['_SheenTextureEnabled'] !== _0x35e9de && (this['_SheenTextureEnabled'] = _0x35e9de,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'AnisotropicTextureEnabled', {
'get': function() {
return this['_AnisotropicTextureEnabled'];
},
'set': function(_0x229020) {
this['_AnisotropicTextureEnabled'] !== _0x229020 && (this['_AnisotropicTextureEnabled'] = _0x229020,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x5f5d35, 'ThicknessTextureEnabled', {
'get': function() {
return this['_ThicknessTextureEnabled'];
},
'set': function(_0x264923) {
this['_ThicknessTextureEnabled'] !== _0x264923 && (this['_ThicknessTextureEnabled'] = _0x264923,
_0x32c1ee['b']['MarkAllMaterialsAsDirty'](_0x469f1d['a']['MATERIAL_TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x5f5d35['_DiffuseTextureEnabled'] = !0x0,
_0x5f5d35['_AmbientTextureEnabled'] = !0x0,
_0x5f5d35['_OpacityTextureEnabled'] = !0x0,
_0x5f5d35['_ReflectionTextureEnabled'] = !0x0,
_0x5f5d35['_EmissiveTextureEnabled'] = !0x0,
_0x5f5d35['_SpecularTextureEnabled'] = !0x0,
_0x5f5d35['_BumpTextureEnabled'] = !0x0,
_0x5f5d35['_LightmapTextureEnabled'] = !0x0,
_0x5f5d35['_RefractionTextureEnabled'] = !0x0,
_0x5f5d35['_ColorGradingTextureEnabled'] = !0x0,
_0x5f5d35['_FresnelEnabled'] = !0x0,
_0x5f5d35['_ClearCoatTextureEnabled'] = !0x0,
_0x5f5d35['_ClearCoatBumpTextureEnabled'] = !0x0,
_0x5f5d35['_ClearCoatTintTextureEnabled'] = !0x0,
_0x5f5d35['_SheenTextureEnabled'] = !0x0,
_0x5f5d35['_AnisotropicTextureEnabled'] = !0x0,
_0x5f5d35['_ThicknessTextureEnabled'] = !0x0,
_0x5f5d35;
}();
}
, function(_0x28df22, _0x292bce, _0x11c900) {
'use strict';
_0x11c900['d'](_0x292bce, 'a', function() {
return _0x12e2b8;
});
var _0x12e2b8 = function() {
function _0x35122d() {}
return _0x35122d['WarnImport'] = function(_0x49c4e5) {
return _0x49c4e5 + '\x20needs\x20to\x20be\x20imported\x20before\x20as\x20it\x20contains\x20a\x20side-effect\x20required\x20by\x20your\x20code.';
}
,
_0x35122d;
}();
}
, function(_0x22dabf, _0x3c2fc9, _0x41b00b) {
'use strict';
_0x41b00b['d'](_0x3c2fc9, 'a', function() {
return _0x49b441;
});
var _0x52a55b = _0x41b00b(0x1)
, _0x4088ce = _0x41b00b(0x2)
, _0x19225a = _0x41b00b(0x9)
, _0x17eec9 = _0x41b00b(0x8)
, _0x511d1a = _0x41b00b(0x0)
, _0x4a997d = _0x41b00b(0x17)
, _0x42b52a = _0x41b00b(0x31)
, _0xb96102 = _0x41b00b(0x3f)
, _0x4e03a8 = _0x41b00b(0x3)
, _0x36b35c = _0x41b00b(0x6)
, _0x49b441 = function() {
function _0x1abc3d(_0x411786, _0x562cdf, _0x3c2c10) {
this['metadata'] = null,
this['reservedDataStore'] = null,
this['checkReadyOnEveryCall'] = !0x1,
this['checkReadyOnlyOnce'] = !0x1,
this['state'] = '',
this['_alpha'] = 0x1,
this['_backFaceCulling'] = !0x0,
this['onCompiled'] = null,
this['onError'] = null,
this['getRenderTargetTextures'] = null,
this['doNotSerialize'] = !0x1,
this['_storeEffectOnSubMeshes'] = !0x1,
this['animations'] = null,
this['onDisposeObservable'] = new _0x17eec9['c'](),
this['_onDisposeObserver'] = null,
this['_onUnBindObservable'] = null,
this['_onBindObserver'] = null,
this['_alphaMode'] = _0x4e03a8['a']['ALPHA_COMBINE'],
this['_needDepthPrePass'] = !0x1,
this['disableDepthWrite'] = !0x1,
this['forceDepthWrite'] = !0x1,
this['separateCullingPass'] = !0x1,
this['_fogEnabled'] = !0x0,
this['pointSize'] = 0x1,
this['zOffset'] = 0x0,
this['_effect'] = null,
this['_wasPreviouslyReady'] = !0x1,
this['_useUBO'] = !0x1,
this['_fillMode'] = _0x1abc3d['TriangleFillMode'],
this['_cachedDepthWriteState'] = !0x1,
this['_indexInSceneMaterialArray'] = -0x1,
this['meshMap'] = null,
this['name'] = _0x411786,
this['id'] = _0x411786 || _0x19225a['h']['RandomId'](),
this['_scene'] = _0x562cdf || _0x4a997d['a']['LastCreatedScene'],
this['uniqueId'] = this['_scene']['getUniqueId'](),
this['_scene']['useRightHandedSystem'] ? this['sideOrientation'] = _0x1abc3d['ClockWiseSideOrientation'] : this['sideOrientation'] = _0x1abc3d['CounterClockWiseSideOrientation'],
this['_uniformBuffer'] = new _0xb96102['a'](this['_scene']['getEngine']()),
this['_useUBO'] = this['getScene']()['getEngine']()['supportsUniformBuffers'],
_0x3c2c10 || this['_scene']['addMaterial'](this),
this['_scene']['useMaterialMeshMap'] && (this['meshMap'] = {});
}
return Object['defineProperty'](_0x1abc3d['prototype'], 'alpha', {
'get': function() {
return this['_alpha'];
},
'set': function(_0x2e623e) {
this['_alpha'] !== _0x2e623e && (this['_alpha'] = _0x2e623e,
this['markAsDirty'](_0x1abc3d['MiscDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'backFaceCulling', {
'get': function() {
return this['_backFaceCulling'];
},
'set': function(_0x5bcafd) {
this['_backFaceCulling'] !== _0x5bcafd && (this['_backFaceCulling'] = _0x5bcafd,
this['markAsDirty'](_0x1abc3d['TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'hasRenderTargetTextures', {
'get': function() {
return !0x1;
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'onDispose', {
'set': function(_0x3fedb3) {
this['_onDisposeObserver'] && this['onDisposeObservable']['remove'](this['_onDisposeObserver']),
this['_onDisposeObserver'] = this['onDisposeObservable']['add'](_0x3fedb3);
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'onBindObservable', {
'get': function() {
return this['_onBindObservable'] || (this['_onBindObservable'] = new _0x17eec9['c']()),
this['_onBindObservable'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'onBind', {
'set': function(_0x4bf918) {
this['_onBindObserver'] && this['onBindObservable']['remove'](this['_onBindObserver']),
this['_onBindObserver'] = this['onBindObservable']['add'](_0x4bf918);
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'onUnBindObservable', {
'get': function() {
return this['_onUnBindObservable'] || (this['_onUnBindObservable'] = new _0x17eec9['c']()),
this['_onUnBindObservable'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'alphaMode', {
'get': function() {
return this['_alphaMode'];
},
'set': function(_0x56ff24) {
this['_alphaMode'] !== _0x56ff24 && (this['_alphaMode'] = _0x56ff24,
this['markAsDirty'](_0x1abc3d['TextureDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'needDepthPrePass', {
'get': function() {
return this['_needDepthPrePass'];
},
'set': function(_0x332065) {
this['_needDepthPrePass'] !== _0x332065 && (this['_needDepthPrePass'] = _0x332065,
this['_needDepthPrePass'] && (this['checkReadyOnEveryCall'] = !0x0));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'fogEnabled', {
'get': function() {
return this['_fogEnabled'];
},
'set': function(_0x5623d1) {
this['_fogEnabled'] !== _0x5623d1 && (this['_fogEnabled'] = _0x5623d1,
this['markAsDirty'](_0x1abc3d['MiscDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'wireframe', {
'get': function() {
switch (this['_fillMode']) {
case _0x1abc3d['WireFrameFillMode']:
case _0x1abc3d['LineListDrawMode']:
case _0x1abc3d['LineLoopDrawMode']:
case _0x1abc3d['LineStripDrawMode']:
return !0x0;
}
return this['_scene']['forceWireframe'];
},
'set': function(_0x17ad08) {
this['fillMode'] = _0x17ad08 ? _0x1abc3d['WireFrameFillMode'] : _0x1abc3d['TriangleFillMode'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'pointsCloud', {
'get': function() {
switch (this['_fillMode']) {
case _0x1abc3d['PointFillMode']:
case _0x1abc3d['PointListDrawMode']:
return !0x0;
}
return this['_scene']['forcePointsCloud'];
},
'set': function(_0x26e31b) {
this['fillMode'] = _0x26e31b ? _0x1abc3d['PointFillMode'] : _0x1abc3d['TriangleFillMode'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x1abc3d['prototype'], 'fillMode', {
'get': function() {
return this['_fillMode'];
},
'set': function(_0xe18aaf) {
this['_fillMode'] !== _0xe18aaf && (this['_fillMode'] = _0xe18aaf,
this['markAsDirty'](_0x1abc3d['MiscDirtyFlag']));
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x1abc3d['prototype']['toString'] = function(_0x48a321) {
return 'Name:\x20' + this['name'];
}
,
_0x1abc3d['prototype']['getClassName'] = function() {
return 'Material';
}
,
Object['defineProperty'](_0x1abc3d['prototype'], 'isFrozen', {
'get': function() {
return this['checkReadyOnlyOnce'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x1abc3d['prototype']['freeze'] = function() {
this['checkReadyOnlyOnce'] = !0x0;
}
,
_0x1abc3d['prototype']['unfreeze'] = function() {
this['checkReadyOnlyOnce'] = !0x1;
}
,
_0x1abc3d['prototype']['isReady'] = function(_0x39095a, _0xca206c) {
return !0x0;
}
,
_0x1abc3d['prototype']['isReadyForSubMesh'] = function(_0x921814, _0x206075, _0x163673) {
return !0x1;
}
,
_0x1abc3d['prototype']['getEffect'] = function() {
return this['_effect'];
}
,
_0x1abc3d['prototype']['getScene'] = function() {
return this['_scene'];
}
,
_0x1abc3d['prototype']['needAlphaBlending'] = function() {
return this['alpha'] < 0x1;
}
,
_0x1abc3d['prototype']['needAlphaBlendingForMesh'] = function(_0x4eba73) {
return this['needAlphaBlending']() || _0x4eba73['visibility'] < 0x1 || _0x4eba73['hasVertexAlpha'];
}
,
_0x1abc3d['prototype']['needAlphaTesting'] = function() {
return !0x1;
}
,
_0x1abc3d['prototype']['getAlphaTestTexture'] = function() {
return null;
}
,
_0x1abc3d['prototype']['markDirty'] = function() {
this['_wasPreviouslyReady'] = !0x1;
}
,
_0x1abc3d['prototype']['_preBind'] = function(_0x376e4d, _0x430ba4) {
void 0x0 === _0x430ba4 && (_0x430ba4 = null);
var _0x8d09a0 = this['_scene']['getEngine']()
, _0x482b0d = (null == _0x430ba4 ? this['sideOrientation'] : _0x430ba4) === _0x1abc3d['ClockWiseSideOrientation'];
return _0x8d09a0['enableEffect'](_0x376e4d || this['_effect']),
_0x8d09a0['setState'](this['backFaceCulling'], this['zOffset'], !0x1, _0x482b0d),
_0x482b0d;
}
,
_0x1abc3d['prototype']['bind'] = function(_0x2c0b05, _0x34a54c) {}
,
_0x1abc3d['prototype']['bindForSubMesh'] = function(_0x133028, _0xb1b362, _0xfb8924) {}
,
_0x1abc3d['prototype']['bindOnlyWorldMatrix'] = function(_0x1f4fb5) {}
,
_0x1abc3d['prototype']['bindSceneUniformBuffer'] = function(_0x3583be, _0xbef88f) {
_0xbef88f['bindToEffect'](_0x3583be, 'Scene');
}
,
_0x1abc3d['prototype']['bindView'] = function(_0xa8f252) {
this['_useUBO'] ? this['bindSceneUniformBuffer'](_0xa8f252, this['getScene']()['getSceneUniformBuffer']()) : _0xa8f252['setMatrix']('view', this['getScene']()['getViewMatrix']());
}
,
_0x1abc3d['prototype']['bindViewProjection'] = function(_0x4c0b07) {
this['_useUBO'] ? this['bindSceneUniformBuffer'](_0x4c0b07, this['getScene']()['getSceneUniformBuffer']()) : _0x4c0b07['setMatrix']('viewProjection', this['getScene']()['getTransformMatrix']());
}
,
_0x1abc3d['prototype']['_shouldTurnAlphaTestOn'] = function(_0x345659) {
return !this['needAlphaBlendingForMesh'](_0x345659) && this['needAlphaTesting']();
}
,
_0x1abc3d['prototype']['_afterBind'] = function(_0x1537b6) {
if (this['_scene']['_cachedMaterial'] = this,
this['_scene']['_cachedVisibility'] = _0x1537b6 ? _0x1537b6['visibility'] : 0x1,
this['_onBindObservable'] && _0x1537b6 && this['_onBindObservable']['notifyObservers'](_0x1537b6),
this['disableDepthWrite']) {
var _0x3bee5e = this['_scene']['getEngine']();
this['_cachedDepthWriteState'] = _0x3bee5e['getDepthWrite'](),
_0x3bee5e['setDepthWrite'](!0x1);
}
}
,
_0x1abc3d['prototype']['unbind'] = function() {
(this['_onUnBindObservable'] && this['_onUnBindObservable']['notifyObservers'](this),
this['disableDepthWrite']) && this['_scene']['getEngine']()['setDepthWrite'](this['_cachedDepthWriteState']);
}
,
_0x1abc3d['prototype']['getActiveTextures'] = function() {
return [];
}
,
_0x1abc3d['prototype']['hasTexture'] = function(_0x534c6e) {
return !0x1;
}
,
_0x1abc3d['prototype']['clone'] = function(_0x22fc13) {
return null;
}
,
_0x1abc3d['prototype']['getBindedMeshes'] = function() {
var _0x419242 = this;
if (this['meshMap']) {
var _0x844b9 = new Array();
for (var _0x3fa7e3 in this['meshMap']) {
var _0x4ae587 = this['meshMap'][_0x3fa7e3];
_0x4ae587 && _0x844b9['push'](_0x4ae587);
}
return _0x844b9;
}
return this['_scene']['meshes']['filter'](function(_0x27d665) {
return _0x27d665['material'] === _0x419242;
});
}
,
_0x1abc3d['prototype']['forceCompilation'] = function(_0x285eae, _0x38ca33, _0x5184e5) {
var _0x220755 = this
, _0xcca04a = _0x52a55b['a']({
'clipPlane': !0x1
}, _0x5184e5)
, _0x10824c = new _0x42b52a['a']()
, _0x270372 = this['getScene']()
, _0x200ad3 = function() {
if (_0x220755['_scene'] && _0x220755['_scene']['getEngine']()) {
_0x10824c['_materialDefines'] && (_0x10824c['_materialDefines']['_renderId'] = -0x1);
var _0x5c0528 = _0x270372['clipPlane'];
_0xcca04a['clipPlane'] && (_0x270372['clipPlane'] = new _0x511d1a['n'](0x0,0x0,0x0,0x1)),
_0x220755['_storeEffectOnSubMeshes'] ? _0x220755['isReadyForSubMesh'](_0x285eae, _0x10824c) ? _0x38ca33 && _0x38ca33(_0x220755) : setTimeout(_0x200ad3, 0x10) : _0x220755['isReady']() ? _0x38ca33 && _0x38ca33(_0x220755) : setTimeout(_0x200ad3, 0x10),
_0xcca04a['clipPlane'] && (_0x270372['clipPlane'] = _0x5c0528);
}
};
_0x200ad3();
}
,
_0x1abc3d['prototype']['forceCompilationAsync'] = function(_0x44fbdd, _0x54ecfa) {
var _0x7ce89 = this;
return new Promise(function(_0x338ca7) {
_0x7ce89['forceCompilation'](_0x44fbdd, function() {
_0x338ca7();
}, _0x54ecfa);
}
);
}
,
_0x1abc3d['prototype']['markAsDirty'] = function(_0x426b52) {
this['getScene']()['blockMaterialDirtyMechanism'] || (_0x1abc3d['_DirtyCallbackArray']['length'] = 0x0,
_0x426b52 & _0x1abc3d['TextureDirtyFlag'] && _0x1abc3d['_DirtyCallbackArray']['push'](_0x1abc3d['_TextureDirtyCallBack']),
_0x426b52 & _0x1abc3d['LightDirtyFlag'] && _0x1abc3d['_DirtyCallbackArray']['push'](_0x1abc3d['_LightsDirtyCallBack']),
_0x426b52 & _0x1abc3d['FresnelDirtyFlag'] && _0x1abc3d['_DirtyCallbackArray']['push'](_0x1abc3d['_FresnelDirtyCallBack']),
_0x426b52 & _0x1abc3d['AttributesDirtyFlag'] && _0x1abc3d['_DirtyCallbackArray']['push'](_0x1abc3d['_AttributeDirtyCallBack']),
_0x426b52 & _0x1abc3d['MiscDirtyFlag'] && _0x1abc3d['_DirtyCallbackArray']['push'](_0x1abc3d['_MiscDirtyCallBack']),
_0x1abc3d['_DirtyCallbackArray']['length'] && this['_markAllSubMeshesAsDirty'](_0x1abc3d['_RunDirtyCallBacks']),
this['getScene']()['resetCachedMaterial']());
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsDirty'] = function(_0x47cc79) {
if (!this['getScene']()['blockMaterialDirtyMechanism'])
for (var _0x2034d1 = 0x0, _0xfa000d = this['getScene']()['meshes']; _0x2034d1 < _0xfa000d['length']; _0x2034d1++) {
var _0x3a4bda = _0xfa000d[_0x2034d1];
if (_0x3a4bda['subMeshes'])
for (var _0x2e5ca0 = 0x0, _0x380501 = _0x3a4bda['subMeshes']; _0x2e5ca0 < _0x380501['length']; _0x2e5ca0++) {
var _0x3fc529 = _0x380501[_0x2e5ca0];
_0x3fc529['getMaterial']() === this && (_0x3fc529['_materialDefines'] && _0x47cc79(_0x3fc529['_materialDefines']));
}
}
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsImageProcessingDirty'] = function() {
this['_markAllSubMeshesAsDirty'](_0x1abc3d['_ImageProcessingDirtyCallBack']);
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsTexturesDirty'] = function() {
this['_markAllSubMeshesAsDirty'](_0x1abc3d['_TextureDirtyCallBack']);
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsFresnelDirty'] = function() {
this['_markAllSubMeshesAsDirty'](_0x1abc3d['_FresnelDirtyCallBack']);
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsFresnelAndMiscDirty'] = function() {
this['_markAllSubMeshesAsDirty'](_0x1abc3d['_FresnelAndMiscDirtyCallBack']);
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsLightsDirty'] = function() {
this['_markAllSubMeshesAsDirty'](_0x1abc3d['_LightsDirtyCallBack']);
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsAttributesDirty'] = function() {
this['_markAllSubMeshesAsDirty'](_0x1abc3d['_AttributeDirtyCallBack']);
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsMiscDirty'] = function() {
this['_markAllSubMeshesAsDirty'](_0x1abc3d['_MiscDirtyCallBack']);
}
,
_0x1abc3d['prototype']['_markAllSubMeshesAsTexturesAndMiscDirty'] = function() {
this['_markAllSubMeshesAsDirty'](_0x1abc3d['_TextureAndMiscDirtyCallBack']);
}
,
_0x1abc3d['prototype']['dispose'] = function(_0xdc52f0, _0x2edecc, _0x285776) {
var _0x2c591a = this['getScene']();
if (_0x2c591a['stopAnimation'](this),
_0x2c591a['freeProcessedMaterials'](),
_0x2c591a['removeMaterial'](this),
!0x0 !== _0x285776)
if (this['meshMap'])
for (var _0x3ecf92 in this['meshMap']) {
(_0x4eb70c = this['meshMap'][_0x3ecf92]) && (_0x4eb70c['material'] = null,
this['releaseVertexArrayObject'](_0x4eb70c, _0xdc52f0));
}
else
for (var _0x5c3805 = 0x0, _0x16dcfe = _0x2c591a['meshes']; _0x5c3805 < _0x16dcfe['length']; _0x5c3805++) {
var _0x4eb70c;
(_0x4eb70c = _0x16dcfe[_0x5c3805])['material'] !== this || _0x4eb70c['sourceMesh'] || (_0x4eb70c['material'] = null,
this['releaseVertexArrayObject'](_0x4eb70c, _0xdc52f0));
}
this['_uniformBuffer']['dispose'](),
_0xdc52f0 && this['_effect'] && (this['_storeEffectOnSubMeshes'] || this['_effect']['dispose'](),
this['_effect'] = null),
this['onDisposeObservable']['notifyObservers'](this),
this['onDisposeObservable']['clear'](),
this['_onBindObservable'] && this['_onBindObservable']['clear'](),
this['_onUnBindObservable'] && this['_onUnBindObservable']['clear']();
}
,
_0x1abc3d['prototype']['releaseVertexArrayObject'] = function(_0x9ae1de, _0x354a77) {
if (_0x9ae1de['geometry']) {
var _0x2bf1ce = _0x9ae1de['geometry'];
if (this['_storeEffectOnSubMeshes'])
for (var _0x132422 = 0x0, _0x21e431 = _0x9ae1de['subMeshes']; _0x132422 < _0x21e431['length']; _0x132422++) {
var _0xd8d24e = _0x21e431[_0x132422];
_0x2bf1ce['_releaseVertexArrayObject'](_0xd8d24e['_materialEffect']),
_0x354a77 && _0xd8d24e['_materialEffect'] && _0xd8d24e['_materialEffect']['dispose']();
}
else
_0x2bf1ce['_releaseVertexArrayObject'](this['_effect']);
}
}
,
_0x1abc3d['prototype']['serialize'] = function() {
return _0x4088ce['a']['Serialize'](this);
}
,
_0x1abc3d['Parse'] = function(_0x53d67b, _0x233b1f, _0x19f0e8) {
if (_0x53d67b['customType']) {
if ('BABYLON.PBRMaterial' === _0x53d67b['customType'] && _0x53d67b['overloadedAlbedo'] && (_0x53d67b['customType'] = 'BABYLON.LegacyPBRMaterial',
!BABYLON['LegacyPBRMaterial']))
return _0x36b35c['a']['Error']('Your\x20scene\x20is\x20trying\x20to\x20load\x20a\x20legacy\x20version\x20of\x20the\x20PBRMaterial,\x20please,\x20include\x20it\x20from\x20the\x20materials\x20library.'),
null;
} else
_0x53d67b['customType'] = 'BABYLON.StandardMaterial';
return _0x19225a['h']['Instantiate'](_0x53d67b['customType'])['Parse'](_0x53d67b, _0x233b1f, _0x19f0e8);
}
,
_0x1abc3d['TriangleFillMode'] = _0x4e03a8['a']['MATERIAL_TriangleFillMode'],
_0x1abc3d['WireFrameFillMode'] = _0x4e03a8['a']['MATERIAL_WireFrameFillMode'],
_0x1abc3d['PointFillMode'] = _0x4e03a8['a']['MATERIAL_PointFillMode'],
_0x1abc3d['PointListDrawMode'] = _0x4e03a8['a']['MATERIAL_PointListDrawMode'],
_0x1abc3d['LineListDrawMode'] = _0x4e03a8['a']['MATERIAL_LineListDrawMode'],
_0x1abc3d['LineLoopDrawMode'] = _0x4e03a8['a']['MATERIAL_LineLoopDrawMode'],
_0x1abc3d['LineStripDrawMode'] = _0x4e03a8['a']['MATERIAL_LineStripDrawMode'],
_0x1abc3d['TriangleStripDrawMode'] = _0x4e03a8['a']['MATERIAL_TriangleStripDrawMode'],
_0x1abc3d['TriangleFanDrawMode'] = _0x4e03a8['a']['MATERIAL_TriangleFanDrawMode'],
_0x1abc3d['ClockWiseSideOrientation'] = _0x4e03a8['a']['MATERIAL_ClockWiseSideOrientation'],
_0x1abc3d['CounterClockWiseSideOrientation'] = _0x4e03a8['a']['MATERIAL_CounterClockWiseSideOrientation'],
_0x1abc3d['TextureDirtyFlag'] = _0x4e03a8['a']['MATERIAL_TextureDirtyFlag'],
_0x1abc3d['LightDirtyFlag'] = _0x4e03a8['a']['MATERIAL_LightDirtyFlag'],
_0x1abc3d['FresnelDirtyFlag'] = _0x4e03a8['a']['MATERIAL_FresnelDirtyFlag'],
_0x1abc3d['AttributesDirtyFlag'] = _0x4e03a8['a']['MATERIAL_AttributesDirtyFlag'],
_0x1abc3d['MiscDirtyFlag'] = _0x4e03a8['a']['MATERIAL_MiscDirtyFlag'],
_0x1abc3d['AllDirtyFlag'] = _0x4e03a8['a']['MATERIAL_AllDirtyFlag'],
_0x1abc3d['_ImageProcessingDirtyCallBack'] = function(_0x120073) {
return _0x120073['markAsImageProcessingDirty']();
}
,
_0x1abc3d['_TextureDirtyCallBack'] = function(_0x379d1f) {
return _0x379d1f['markAsTexturesDirty']();
}
,
_0x1abc3d['_FresnelDirtyCallBack'] = function(_0x48e75b) {
return _0x48e75b['markAsFresnelDirty']();
}
,
_0x1abc3d['_MiscDirtyCallBack'] = function(_0x524ba9) {
return _0x524ba9['markAsMiscDirty']();
}
,
_0x1abc3d['_LightsDirtyCallBack'] = function(_0x708c77) {
return _0x708c77['markAsLightDirty']();
}
,
_0x1abc3d['_AttributeDirtyCallBack'] = function(_0x32dbd0) {
return _0x32dbd0['markAsAttributesDirty']();
}
,
_0x1abc3d['_FresnelAndMiscDirtyCallBack'] = function(_0x568771) {
_0x1abc3d['_FresnelDirtyCallBack'](_0x568771),
_0x1abc3d['_MiscDirtyCallBack'](_0x568771);
}
,
_0x1abc3d['_TextureAndMiscDirtyCallBack'] = function(_0x10022e) {
_0x1abc3d['_TextureDirtyCallBack'](_0x10022e),
_0x1abc3d['_MiscDirtyCallBack'](_0x10022e);
}
,
_0x1abc3d['_DirtyCallbackArray'] = [],
_0x1abc3d['_RunDirtyCallBacks'] = function(_0x12bc9f) {
for (var _0x58b237 = 0x0, _0x229056 = _0x1abc3d['_DirtyCallbackArray']; _0x58b237 < _0x229056['length']; _0x58b237++) {
(0x0,
_0x229056[_0x58b237])(_0x12bc9f);
}
}
,
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'id', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'uniqueId', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'name', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'checkReadyOnEveryCall', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'checkReadyOnlyOnce', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'state', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])('alpha')], _0x1abc3d['prototype'], '_alpha', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])('backFaceCulling')], _0x1abc3d['prototype'], '_backFaceCulling', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'sideOrientation', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])('alphaMode')], _0x1abc3d['prototype'], '_alphaMode', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], '_needDepthPrePass', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'disableDepthWrite', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'forceDepthWrite', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'separateCullingPass', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])('fogEnabled')], _0x1abc3d['prototype'], '_fogEnabled', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'pointSize', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'zOffset', void 0x0),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'wireframe', null),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'pointsCloud', null),
_0x52a55b['c']([Object(_0x4088ce['c'])()], _0x1abc3d['prototype'], 'fillMode', null),
_0x1abc3d;
}();
}
, function(_0x3fe8d8, _0xaf5759, _0x192405) {
'use strict';
_0x192405['d'](_0xaf5759, 'a', function() {
return _0x5a6dc0;
});
var _0xeec07b = _0x192405(0x1)
, _0xb244e9 = _0x192405(0x2)
, _0x456af3 = _0x192405(0x1c)
, _0x52bf7a = _0x192405(0x9)
, _0xe3f1fa = _0x192405(0x8)
, _0x27d89b = _0x192405(0x0)
, _0x3a00d8 = _0x192405(0x19)
, _0x277173 = _0x192405(0x6)
, _0x2bbb26 = _0x192405(0x16)
, _0x173689 = _0x192405(0x13)
, _0x5a6dc0 = function(_0x2e66fe) {
function _0x2ed7a4(_0x990cca, _0x965850, _0x72c143, _0x5ac02a) {
void 0x0 === _0x5ac02a && (_0x5ac02a = !0x0);
var _0x43162d = _0x2e66fe['call'](this, _0x990cca, _0x72c143) || this;
return _0x43162d['_position'] = _0x27d89b['x']['Zero'](),
_0x43162d['upVector'] = _0x27d89b['x']['Up'](),
_0x43162d['orthoLeft'] = null,
_0x43162d['orthoRight'] = null,
_0x43162d['orthoBottom'] = null,
_0x43162d['orthoTop'] = null,
_0x43162d['fov'] = 0.8,
_0x43162d['minZ'] = 0x1,
_0x43162d['maxZ'] = 0x2710,
_0x43162d['inertia'] = 0.9,
_0x43162d['mode'] = _0x2ed7a4['PERSPECTIVE_CAMERA'],
_0x43162d['isIntermediate'] = !0x1,
_0x43162d['viewport'] = new _0x27d89b['z'](0x0,0x0,0x1,0x1),
_0x43162d['layerMask'] = 0xfffffff,
_0x43162d['fovMode'] = _0x2ed7a4['FOVMODE_VERTICAL_FIXED'],
_0x43162d['cameraRigMode'] = _0x2ed7a4['RIG_MODE_NONE'],
_0x43162d['customRenderTargets'] = new Array(),
_0x43162d['outputRenderTarget'] = null,
_0x43162d['onViewMatrixChangedObservable'] = new _0xe3f1fa['c'](),
_0x43162d['onProjectionMatrixChangedObservable'] = new _0xe3f1fa['c'](),
_0x43162d['onAfterCheckInputsObservable'] = new _0xe3f1fa['c'](),
_0x43162d['onRestoreStateObservable'] = new _0xe3f1fa['c'](),
_0x43162d['_rigCameras'] = new Array(),
_0x43162d['_webvrViewMatrix'] = _0x27d89b['j']['Identity'](),
_0x43162d['_skipRendering'] = !0x1,
_0x43162d['_projectionMatrix'] = new _0x27d89b['j'](),
_0x43162d['_postProcesses'] = new Array(),
_0x43162d['_activeMeshes'] = new _0x456af3['a'](0x100),
_0x43162d['_globalPosition'] = _0x27d89b['x']['Zero'](),
_0x43162d['_computedViewMatrix'] = _0x27d89b['j']['Identity'](),
_0x43162d['_doNotComputeProjectionMatrix'] = !0x1,
_0x43162d['_transformMatrix'] = _0x27d89b['j']['Zero'](),
_0x43162d['_refreshFrustumPlanes'] = !0x0,
_0x43162d['_isCamera'] = !0x0,
_0x43162d['_isLeftCamera'] = !0x1,
_0x43162d['_isRightCamera'] = !0x0,
_0x43162d['getScene']()['addCamera'](_0x43162d),
_0x5ac02a && !_0x43162d['getScene']()['activeCamera'] && (_0x43162d['getScene']()['activeCamera'] = _0x43162d),
_0x43162d['position'] = _0x965850,
_0x43162d;
}
return _0xeec07b['d'](_0x2ed7a4, _0x2e66fe),
Object['defineProperty'](_0x2ed7a4['prototype'], 'position', {
'get': function() {
return this['_position'];
},
'set': function(_0xe30afa) {
this['_position'] = _0xe30afa;
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2ed7a4['prototype']['storeState'] = function() {
return this['_stateStored'] = !0x0,
this['_storedFov'] = this['fov'],
this;
}
,
_0x2ed7a4['prototype']['_restoreStateValues'] = function() {
return !!this['_stateStored'] && (this['fov'] = this['_storedFov'],
!0x0);
}
,
_0x2ed7a4['prototype']['restoreState'] = function() {
return !!this['_restoreStateValues']() && (this['onRestoreStateObservable']['notifyObservers'](this),
!0x0);
}
,
_0x2ed7a4['prototype']['getClassName'] = function() {
return 'Camera';
}
,
_0x2ed7a4['prototype']['toString'] = function(_0x2b89ed) {
var _0x547a7d = 'Name:\x20' + this['name'];
if (_0x547a7d += ',\x20type:\x20' + this['getClassName'](),
this['animations'])
for (var _0x1d5b13 = 0x0; _0x1d5b13 < this['animations']['length']; _0x1d5b13++)
_0x547a7d += ',\x20animation[0]:\x20' + this['animations'][_0x1d5b13]['toString'](_0x2b89ed);
return _0x547a7d;
}
,
Object['defineProperty'](_0x2ed7a4['prototype'], 'globalPosition', {
'get': function() {
return this['_globalPosition'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2ed7a4['prototype']['getActiveMeshes'] = function() {
return this['_activeMeshes'];
}
,
_0x2ed7a4['prototype']['isActiveMesh'] = function(_0x4e63c6) {
return -0x1 !== this['_activeMeshes']['indexOf'](_0x4e63c6);
}
,
_0x2ed7a4['prototype']['isReady'] = function(_0x447f87) {
if (void 0x0 === _0x447f87 && (_0x447f87 = !0x1),
_0x447f87)
for (var _0x117203 = 0x0, _0x5a491e = this['_postProcesses']; _0x117203 < _0x5a491e['length']; _0x117203++) {
var _0x411fa7 = _0x5a491e[_0x117203];
if (_0x411fa7 && !_0x411fa7['isReady']())
return !0x1;
}
return _0x2e66fe['prototype']['isReady']['call'](this, _0x447f87);
}
,
_0x2ed7a4['prototype']['_initCache'] = function() {
_0x2e66fe['prototype']['_initCache']['call'](this),
this['_cache']['position'] = new _0x27d89b['x'](Number['MAX_VALUE'],Number['MAX_VALUE'],Number['MAX_VALUE']),
this['_cache']['upVector'] = new _0x27d89b['x'](Number['MAX_VALUE'],Number['MAX_VALUE'],Number['MAX_VALUE']),
this['_cache']['mode'] = void 0x0,
this['_cache']['minZ'] = void 0x0,
this['_cache']['maxZ'] = void 0x0,
this['_cache']['fov'] = void 0x0,
this['_cache']['fovMode'] = void 0x0,
this['_cache']['aspectRatio'] = void 0x0,
this['_cache']['orthoLeft'] = void 0x0,
this['_cache']['orthoRight'] = void 0x0,
this['_cache']['orthoBottom'] = void 0x0,
this['_cache']['orthoTop'] = void 0x0,
this['_cache']['renderWidth'] = void 0x0,
this['_cache']['renderHeight'] = void 0x0;
}
,
_0x2ed7a4['prototype']['_updateCache'] = function(_0x5ab17a) {
_0x5ab17a || _0x2e66fe['prototype']['_updateCache']['call'](this),
this['_cache']['position']['copyFrom'](this['position']),
this['_cache']['upVector']['copyFrom'](this['upVector']);
}
,
_0x2ed7a4['prototype']['_isSynchronized'] = function() {
return this['_isSynchronizedViewMatrix']() && this['_isSynchronizedProjectionMatrix']();
}
,
_0x2ed7a4['prototype']['_isSynchronizedViewMatrix'] = function() {
return !!_0x2e66fe['prototype']['_isSynchronized']['call'](this) && (this['_cache']['position']['equals'](this['position']) && this['_cache']['upVector']['equals'](this['upVector']) && this['isSynchronizedWithParent']());
}
,
_0x2ed7a4['prototype']['_isSynchronizedProjectionMatrix'] = function() {
var _0x240eff = this['_cache']['mode'] === this['mode'] && this['_cache']['minZ'] === this['minZ'] && this['_cache']['maxZ'] === this['maxZ'];
if (!_0x240eff)
return !0x1;
var _0x47ed4b = this['getEngine']();
return _0x240eff = this['mode'] === _0x2ed7a4['PERSPECTIVE_CAMERA'] ? this['_cache']['fov'] === this['fov'] && this['_cache']['fovMode'] === this['fovMode'] && this['_cache']['aspectRatio'] === _0x47ed4b['getAspectRatio'](this) : this['_cache']['orthoLeft'] === this['orthoLeft'] && this['_cache']['orthoRight'] === this['orthoRight'] && this['_cache']['orthoBottom'] === this['orthoBottom'] && this['_cache']['orthoTop'] === this['orthoTop'] && this['_cache']['renderWidth'] === _0x47ed4b['getRenderWidth']() && this['_cache']['renderHeight'] === _0x47ed4b['getRenderHeight']();
}
,
_0x2ed7a4['prototype']['attachControl'] = function(_0x403d74, _0xb6feaa) {}
,
_0x2ed7a4['prototype']['detachControl'] = function(_0x22d2ae) {}
,
_0x2ed7a4['prototype']['update'] = function() {
this['_checkInputs'](),
this['cameraRigMode'] !== _0x2ed7a4['RIG_MODE_NONE'] && this['_updateRigCameras']();
}
,
_0x2ed7a4['prototype']['_checkInputs'] = function() {
this['onAfterCheckInputsObservable']['notifyObservers'](this);
}
,
Object['defineProperty'](_0x2ed7a4['prototype'], 'rigCameras', {
'get': function() {
return this['_rigCameras'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
Object['defineProperty'](_0x2ed7a4['prototype'], 'rigPostProcess', {
'get': function() {
return this['_rigPostProcess'];
},
'enumerable': !0x0,
'configurable': !0x0
}),
_0x2ed7a4['prototype']['_getFirstPostProcess'] = function() {
for (var _0x1f2c78 = 0x0; _0x1f2c78 < this['_postProcesses']['length']; _0x1f2c78++)
if (null !== this['_postProcesses'][_0x1f2c78])
return this['_postProcesses'][_0x1f2c78];
return null;
}
,
_0x2ed7a4['prototype']['_cascadePostProcessesToRigCams'] = function() {
var _0x5dc854 = this['_getFirstPostProcess']();
_0x5dc854 && _0x5dc854['markTextureDirty']();
for (var _0x276d6c = 0x0, _0x1632a2 = this['_rigCameras']['length']; _0x276d6c < _0x1632a2; _0x276d6c++) {
var _0x459704 = this['_rigCameras'][_0x276d6c]
, _0x22d099 = _0x459704['_rigPostProcess'];
if (_0x22d099)
'pass' === _0x22d099['getEffectName']() && (_0x459704['isIntermediate'] = 0x0 === this['_postProcesses']['length']),
_0x459704['_postProcesses'] = this['_postProcesses']['slice'](0x0)['concat'](_0x22d099),
_0x22d099['markTextureDirty']();
else
_0x459704['_postProcesses'] = this['_postProcesses']['slice'](0x0);
}
}
,
_0x2ed7a4['prototype']['attachPostProcess'] = function(_0x1f58b1, _0x142e50) {
return void 0x0 === _0x142e50 && (_0x142e50 = null),
!_0x1f58b1['isReusable']() && this['_postProcesses']['indexOf'](_0x1f58b1) > -0x1 ? (_0x277173['a']['Error']('You\x27re\x20trying\x20to\x20reuse\x20a\x20post\x20process\x20not\x20defined\x20as\x20reusable.'),
0x0) : (null == _0x142e50 || _0x142e50 < 0x0 ? this['_postProcesses']['push'](_0x1f58b1) : null === this['_postProcesses'][_0x142e50] ? this['_postProcesses'][_0x142e50] = _0x1f58b1 : this['_postProcesses']['splice'](_0x142e50, 0x0, _0x1f58b1),
this['_cascadePostProcessesToRigCams'](),
this['_postProcesses']['indexOf'](_0x1f58b1));
}
,
_0x2ed7a4['prototype']['detachPostProcess'] = function(_0x46592a) {
var _0x26bfbe = this['_postProcesses']['indexOf'](_0x46592a);
-0x1 !== _0x26bfbe && (this['_postProcesses'][_0x26bfbe] = null),
this['_cascadePostProcessesToRigCams']();
}
,
_0x2ed7a4['prototype']['getWorldMatrix'] = function() {
return this['_isSynchronizedViewMatrix']() ? this['_worldMatrix'] : (this['getViewMatrix'](),
this['_worldMatrix']);
}
,
_0x2ed7a4['prototype']['_getViewMatrix'] = function() {
return _0x27d89b['j']['Identity']();
}
,
_0x2ed7a4['prototype']['getViewMatrix'] = function(_0x15f008) {
return !_0x15f008 && this['_isSynchronizedViewMatrix']() ? this['_computedViewMatrix'] : (this['updateCache'](),
this['_computedViewMatrix'] = this['_getViewMatrix'](),
this['_currentRenderId'] = this['getScene']()['getRenderId'](),
this['_childUpdateId']++,
this['_refreshFrustumPlanes'] = !0x0,
this['_cameraRigParams'] && this['_cameraRigParams']['vrPreViewMatrix'] && this['_computedViewMatrix']['multiplyToRef'](this['_cameraRigParams']['vrPreViewMatrix'], this['_computedViewMatrix']),
this['parent'] && this['parent']['onViewMatrixChangedObservable'] && this['parent']['onViewMatrixChangedObservable']['notifyObservers'](this['parent']),
this['onViewMatrixChangedObservable']['notifyObservers'](this),
this['_computedViewMatrix']['invertToRef'](this['_worldMatrix']),
this['_computedViewMatrix']);
}
,
_0x2ed7a4['prototype']['freezeProjectionMatrix'] = function(_0x4405e1) {
this['_doNotComputeProjectionMatrix'] = !0x0,
void 0x0 !== _0x4405e1 && (this['_projectionMatrix'] = _0x4405e1);
}
,
_0x2ed7a4['prot