рд╣рдо рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ 3 рдбреА рд╢реВрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рддрдЪреАрдд рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдХреБрдЫ рд╣реИ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рджреВрд╕рд░реА рдЫрдорд╛рд╣реА рд╣реИ:
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдореИрдВ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЫрд╛рддреНрд░реЛрдВ рдХреА рдЗрдЪреНрдЫрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬрдм рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдЪрдп рдкрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдХрд╛ рдПрдХ рдХреЛрд░реНрд╕ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрднрдЧ рдкреВрд░реНрдг рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред рдХреЗрд╡рд▓ рджреЛ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ (C ++) рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рд╖рдп, рдпрд╣ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рд╕реИрдХрдбрд╝реЛрдВ рдЦреЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрд░реЗ рдирдП рдЫрд╛рддреНрд░реЛрдВ рдиреЗ рдмрдирд╛рдпрд╛ рд╣реИ:
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдЫрд╛рддреНрд░ 2 рдбреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдорд░реНрд╕ рдЬреИрд╕реЗ рд╕рд░рд▓ рдЧреЗрдо рдЪреБрдирддреЗ рд╣реИрдВред рдореИрдВ рдпрд╣ рд▓реЗрдЦ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рддреАрди-рдЖрдпрд╛рдореА рджреБрдирд┐рдпрд╛ рдХрд╛ рднреНрд░рдо рдкреИрджрд╛ рдХрд░рдирд╛ рдорд╛рд░рд┐рдпреЛ рдмреНрд░реЛрдЬ рдХреЛ рдХреНрд▓реЛрди рдХрд░рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдПрдХ рдРрд╕реЗ рдордВрдЪ рдкрд░ рд░реБрдХ рдЧрдП рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рджреАрд╡рд╛рд░реЛрдВ рдХреЛ рдмрдирд╛рд╡рдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

рд╕реНрдЯреЗрдЬ 13: рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВ
рд╣рдорд╛рд░реЗ рдЦреЗрд▓ рдореЗрдВ рдПрдХ рд░рд╛рдХреНрд╖рд╕ рдХреНрдпрд╛ рд╣реИ? рдпреЗ рдЗрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рдмрдирд╛рд╡рдЯ рд╕рдВрдЦреНрдпрд╛ рд╣реИрдВ:
struct Sprite { float x, y; size_t tex_id; }; [..] std::vector<Sprite> sprites{ {1.834, 8.765, 0}, {5.323, 5.365, 1}, {4.123, 10.265, 1} };
рдХрдИ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╣рдо рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

рдмрджрд▓рд╛рд╡
рдЖрдк рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред

рд╕реНрдЯреЗрдЬ 14: 3 рдбреА рдореЗрдВ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЗ рдмрдЬрд╛рдп рдХрд╛рд▓реЗ рд╡рд░реНрдЧ
рдЕрдм рд╣рдо 3 рдбреА рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рджреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ред рдпрд╣рд╛рдБ рд╡рд╣ рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдХрд╛рд▓рд╛ рд╡рд░реНрдЧ рдЦреАрдВрдЪрддрд╛ рд╣реИ:
void draw_sprite(Sprite &sprite, FrameBuffer &fb, Player &player, Texture &tex_sprites) {
рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЪрд┐рддреНрд░ рд╣реИ:

рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рд╣рдо рдирд┐рд░рдкреЗрдХреНрд╖ рдХреЛрдг sprite_dir рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ (рджрд┐рд╢рд╛ рд╕реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдмреАрдЪ рдХрд╛ рдХреЛрдг рдкреНрд░реЗрдд рдФрд░ рдЕрдиреБрдкреНрд░рд╛рд╕ рдХреЗ рдмреАрдЪ)ред рд╕реНрдкреНрд░рд╛рдЗрдЯ рдФрд░ рдЯрдХрдЯрдХреА рджрд┐рд╢рд╛ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдХреЛрдг рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЛ рдкреВрд░реНрдг рдХреЛрдгреЛрдВ рдХреЛ рдШрдЯрд╛рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: sprite_dir - player.aред рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрдЪреНрдЫ рд╣реИ, рдФрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХрд╛ рдЖрдХрд╛рд░ рджреВрд░реА рджреНрд╡рд╛рд░рд╛ рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╡рд┐рднрд╛рдЬрди рд╣реИред рдареАрдХ рд╣реИ, рдмрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдКрдкрд░ рд╕реЗ рджреЛ рд╣рдЬрд╛рд░ рдХрд╛рдЯ рджрд┐рдП рддрд╛рдХрд┐ рд╡рд┐рд╢рд╛рд▓ рд╡рд░реНрдЧ рдкреНрд░рд╛рдкреНрдд рди рд╣реЛ (рд╡реИрд╕реЗ, рдЗрд╕ рдХреЛрдб рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред h_offset рдФрд░ v_offset рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреЗрддреЗ рд╣реИрдВ; рдлрд┐рд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдбрдмрд▓ рд▓реВрдк рд╣рдорд╛рд░реЗ рд╡рд░реНрдЧ рдХреЛ рдХрд╛рд▓реЗ рд░рдВрдЧ рд╕реЗ рднрд░ рджреЗрддрд╛ рд╣реИред рдПрдХ рдкреЗрди рдФрд░ рдХрд╛рдЧрдЬ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ h_offset рдФрд░ v_offset рдХреА рд╕рд╣реА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдореЗрд░реА рдУрд░ рд╕реЗ рдПрдХ (рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг) рддреНрд░реБрдЯрд┐ рд╣реИ, рд▓реЗрдЦ рдореЗрдВ рдХреЛрдб рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВ :) рдЦреИрд░, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдзрд┐рдХ рд╣рд╛рд▓ рдХрд╛ рдХреЛрдб рднреА рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдмрджрд▓рд╛рд╡
рдЖрдк рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред

рдЪрд░рдг 15: рдорд╛рдирдЪрд┐рддреНрд░ рдХреА рдЧрд╣рд░рд╛рдИ
рд╣рдорд╛рд░реЗ рд╡рд░реНрдЧ рдЪрдорддреНрдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдХреЛрдиреЗ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рджреВрд░ рдХреЗ рд░рд╛рдХреНрд╖рд╕ peeks, рдФрд░ рд╡рд░реНрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИред рдХреИрд╕реЗ рд╣реЛ? рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рд╣рдо рджреАрд╡рд╛рд░реЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ
рдмрд╛рдж рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдЦреАрдВрдЪрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реА рд╕реНрдХреНрд░реАрди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдХрдЯрддрдо рджреАрд╡рд╛рд░ рд╕реЗ рджреВрд░реА рдЬрд╛рдирддреЗ рд╣реИрдВред рд╣рдо рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЛ 512 рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд░рдгреА рдХреЛ рд╕реНрдкреНрд░рд╛рдЗрдЯ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХреЛ рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓рдо рднреА рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдбреЗрдкреНрде рдПрд░реЗ рд╕реЗ рд╡реИрд▓реНрдпреВ рд╕реЗ рдЗрд╕рдХреА рджреВрд░реА рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВрдЧреЗред

рдмрджрд▓рд╛рд╡
рдЖрдк рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред

рдЪрд░рдг 16: рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛
рд╡реЗ рдорд╣рд╛рди рд░рд╛рдХреНрд╖рд╕ рдирд┐рдХрд▓реЗ, рд╣реИрдВ рди? рд▓реЗрдХрд┐рди рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдореИрдВ рдХреЛрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореИрдВ рдПрдХ рдФрд░ рд░рд╛рдХреНрд╖рд╕ рдЬреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рддреЛрдбрд╝ рджреВрдВрдЧрд╛:

рдмрджрд▓рд╛рд╡
рдЖрдк рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред

рдЪрд░рдг 17: рд╕реНрдкреНрд░рд╛рдЗрдЯрд┐рдВрдЧ рдХреЛ рдЫрд╛рдВрдЯрдирд╛
рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдереА? рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдбреНрд░рд╛рдЗрдВрдЧ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХрд╛ рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдореИрдВ рджреАрд╡рд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рджреВрд░реА рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рджреВрд░ рдХреЗ рдкреНрд░рд╛рдгреА рдХреЛ рдирд┐рдХрдЯрддрдо рдкрд░ рдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдХреНрдпрд╛ рдбреНрд░рд╛рдЗрдВрдЧ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдЧрд╣рд░рд╛рдИ рдХреЗ рдирдХреНрд╢реЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рдард╕рд╣реА рдЙрддреНрддрд░ рд╣реИ "рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред" рд▓реЗрдХрд┐рди рдХреИрд╕реЗ? рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
рдореИрдВ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдКрдВрдЧрд╛, рдорд╛рдереЗ рдореЗрдВ рдореВрд░реНрдЦрддрд╛ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ред рдореИрдВ рджреВрд░ рд╕реЗ рд╕рдмрд╕реЗ рджреВрд░ рд╕рднреА рд╕реНрдкреНрд░рд╛рдЗрдЯ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ред рдпрд╣реА рд╣реИ, рдореИрдВ рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХреЛ рджреВрд░реА рдХреЗ рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдЫрд╛рдБрдЯреВрдБрдЧрд╛, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рдХреНрд░рдо рдореЗрдВ рдЦреАрдВрдЪреВрдБрдЧрд╛ред

рдмрджрд▓рд╛рд╡
рдЖрдк рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред

рдЪрд░рдг 18: рдПрд╕рдбреАрдПрд▓ рд╕рдордп
рдПрд╕рдбреАрдПрд▓ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд┐рдВрдбреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВ, рдФрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╕рдордЭрддрд╛ред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ
imgui рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореЗрд░реЗ рдЫрд╛рддреНрд░ рдПрд╕рдбреАрдПрд▓ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рдПрдХ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдПрдВ рдФрд░ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рд╕реЗ рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ:

рдмрджрд▓рд╛рд╡
рдЖрдк рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред рдореИрдВ рдЕрдм gitpod рдХрд╛ рд▓рд┐рдВрдХ рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрд╕рдбреАрдПрд▓ рдиреЗ рдЕрднреА рддрдХ рд╢реБрд░реВ рдХрд░рдирд╛ рдирд╣реАрдВ рд╕реАрдЦрд╛ рд╣реИ :(
рдЕрдкрдбреЗрдЯ: рдЬрд╛рдиреЗрдВ! рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рдХреНрд▓рд┐рдХ рдореЗрдВ рдХреЛрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ!
рдЪрд░рдг 19: рдШрдЯрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕рдлрд╛рдИ
рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝реЗрдВ рдпрд╣ рднреА рдЕрдЬреАрдм рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред SDL рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рдореИрдВрдиреЗ stb_image.h рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдпрд╣ рд╕реБрдВрджрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рдЬреЛ рд▓реЛрдЧ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдиреНрдиреАрд╕рд╡реЗрдВ рдЪрд░рдг рдХреЗ рд╕реНрд░реЛрдд
рдпрд╣рд╛рдВ рд╣реИрдВ ред рдЦреИрд░, рдпрд╣рд╛рдБ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рджрд░реНрд╢рди рд╣реИ:
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд╕рдордп рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдХреЗрд╡рд▓ 486 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ, рдФрд░ рд╕рд╛рде рд╣реА рдореИрдВрдиреЗ рдЙрди рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмрдЪрдд рдирд╣реАрдВ рдХреА:
haqreu@daffodil:~/tinyraycaster$ cat *.cpp *.h | wc -l 486
рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЧрдВрджреЗ рдХрдкрдбрд╝реЗ рдзреЛрдиреЗ рдХреЛ рдЕрдкрдирд╛ рдХреЛрдб рдирд╣реАрдВ рдЪрд╛рдЯрд╛ред рд╣рд╛рдВ, рдореИрдВ рдРрд╕рд╛ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ (рдФрд░ рд╕рд┐рд░реНрдл рдореБрдЭреЗ рдирд╣реАрдВ)ред рдПрдХ рд╢рдирд┐рд╡рд╛рд░ рдХреА рд╕реБрдмрд╣ рдореИрдВ рдмрд╕ рдмреИрда рдЧрдпрд╛ рдФрд░ рдпрд╣ рд▓рд┐рдЦрд╛ :)
рдореИрдВрдиреЗ рддреИрдпрд╛рд░ рдЧреЗрдо рдирд╣реАрдВ рдмрдирд╛рдпрд╛, рдореЗрд░рд╛ рдХрд╛рдо рдХреЗрд╡рд▓ рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдХреА рдЙрдбрд╝рд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рджреЗрдирд╛ рд╣реИред рдЕрдкрдирд╛ рдХреЛрдб рд▓рд┐рдЦреЗрдВ, рдпрд╣ рд╢рд╛рдпрдж рдореЗрд░реА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдЕрдкрдирд╛ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ, рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ, рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВред