Three.js: InterleavedBuffer рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд╛рдЗрдб рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдЧреБрдо рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдордИ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mrdoob/three.js

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг

рдпрд╣рд╛рдВ рдЗрдВрдЯрд░рд▓реАрд╡реНрдбрдмрдлрд░ рд╡рд░реНрдЧ рдореЗрдВ, рд╕реНрдЯреНрд░рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди 0 рд░рдЦрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдЯреНрд░рд╛рдЗрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ this.stride рдХрд╛ рдореВрд▓реНрдп undefined рд╣реЛрдЧрд╛, рдпрд╣ var stride = data.stride; рдкрд░ рдХреИрд╕реНрдХреЗрдб рд╣реЛрдЧрд╛, рдФрд░ рдЖрдЧреЗ _gl.vertexAttribPointer рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реЗрдмрдЧреНрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред

рддреАрди.рдЬреЗрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг
  • [рдПрдХреНрд╕] рджреЗрд╡
  • [рдПрдХреНрд╕] рдЖрд░ 85
  • [] ...
рдмреНрд░рд╛рдЙрдЬрд╝рд░
  • [x] рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА
  • [] рдХреНрд░реЛрдо
  • [ ] рдлрд╛рдпрд░рдлреЙрдХреНрд╕
  • [ ] рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕реНрдкреНрд▓реЛрд░рд░
рдУрдПрд╕
  • [x] рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА
  • [ ] рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдБ
  • [ ] рдореИрдХ рдУрдПрд╕
  • [] рд▓рд┐рдирдХреНрд╕
  • [ ] рдПрдВрдбреНрд░реЙрдпрдб
  • [] рдЖрдИрдУрдПрд╕

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХрд┐рд╕реА рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдорд╛рди рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдареАрдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдорд╛рди рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рд╢реВрдиреНрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереЗ, рддреЛ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред

рддреАрди.рдЬреЗрдПрд╕ рдЖрдо рддреМрд░ рдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХрд┐рд╕реА рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдорд╛рди рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдареАрдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдорд╛рди рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рд╢реВрдиреНрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереЗ, рддреЛ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред

рддреАрди.рдЬреЗрдПрд╕ рдЖрдо рддреМрд░ рдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

  1. рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрд╕ рдорд╛рди рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд╕реА ++ рдХреЗ рд╡рд┐рдкрд░реАрдд рдпрд╣ рд╕рдВрдХрд▓рди рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдлреЗрдВрдХ рджреА рдЬрд╛рддреА рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЪреБрдкрдЪрд╛рдк рдЧреБрдЬрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдЬреАрдм рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рджреЗрддрд╛ рд╣реИ? рддреАрди.рдЬреЗрдПрд╕ рдХреЗ рдПрдХ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдЕрдХреЗрд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕ рдиреБрдХрд╕рд╛рди рдореЗрдВ рдкрдбрд╝ рдЬрд╛рдПрдЧрд╛ред

  2. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ 0 рд╕реЗ stride рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг @WestLangley рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

  3. рдпрд╣рд╛рдБ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ stride рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ рдЗрд╕рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рджреЗрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдУрдкрдирдЬреАрдПрд▓/рд╡реЗрдмрдЬреАрдПрд▓ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, stride рдпрд╣рд╛рдВ рд╡рд░реНрдЯреЗрдХреНрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдЖрджрд┐рдо рддрддреНрд╡реЛрдВ, рдлреНрд▓реЛрдЯ рдпрд╛ рдЗрдВрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рддреЛ count рдЙрди рд╢реАрд░реНрд╖реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рдЬрд┐рдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкрд╣рд▓реЗ рддрд░реНрдХ array рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

  4. рдФрд░, рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ, this.count рдХреЛ рд╕рдВрдкреВрд░реНрдг WebGLRender рдореЗрдВ рдХреЛрдИ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ stride рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╣рддреНрд╡рдкреВрд░реНрдг GL рдХреЙрд▓ _gl.vertexAttribPointer рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред stride 0 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рдФрд░ this.count рдЕрдм Infinity рд╣реИ, рдпрд╣ рдореЗрд░реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдХрднреА рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдврд╛рдВрдЪреЗ рдореЗрдВред

рдЗрд╕рд▓рд┐рдП, рдореИрдВ stride рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд╛рд░реНрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ undefined рдпрд╛ 0 рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рддрддреНрдХрд╛рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред

рд╣рд╛рдВ, рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдФрд░ рд╣рдо рдкрд╣рд▓реЗ рднреА рдпреЗ рдЪрд░реНрдЪрд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред

рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЕрдкрд░реНрдпрд╛рдкреНрдд рдпрд╛ рдЧрд▓рдд рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реЛрдЧрд╛ред :)

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХреЛрдб рдореЗрдВ, count рд╢реАрд░реНрд╖реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реЗрдВрдбрд░рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдРрд╕реА рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬреЛ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рдд рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

yqrashawn picture yqrashawn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Bandit picture Bandit  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alexprut picture alexprut  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jlaquinte picture jlaquinte  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ