рдПрдордкреАрд╕реА рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рд╢реЗрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдВрдкрд╛рджрди

рдПрдХ рдХрд╛рд░реНрдп рд╣реИ: рдкреНрд▓реЗрдмреИрдХ рдХреЗ рджреМрд░рд╛рди рд╡реАрдбрд┐рдпреЛ рдХреЛ "рдлреНрд▓рд╛рдИ рдкрд░" рдмрджрд▓реЗрдВ - рджрд╛рдПрдВ рдФрд░ рдмрд╛рдПрдВ рднрд╛рдЧреЛрдВ рдХреЛ рд╕реНрд╡реИрдк рдХрд░реЗрдВред рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рди рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рддреН, рдмрджрд▓реЗрдВ, рдЕрд░реНрдерд╛рдд рдЪрд┐рддреНрд░ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рдХрд╛рдЯреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡реИрдк рдХрд░реЗрдВред рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕реЗ рдПрд╡реАрд╕рд┐рдВрде рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлреНрд░реЗрдо рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдм "рдордХреНрдЦреА рдкрд░" рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИ - рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдЬрд▓реНрджреА рдФрд░ рдмрд┐рдирд╛ рддрдирд╛рд╡ рдХреЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЕрдВрдЬреАрд░ рдкрд░? рдпрд╛рдВрдбреЗрдХреНрд╕ рд╕реЗ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдкрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд╡реНрдпрд╛рдЦреНрдпрд╛рддрд╛ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдЕрдкрдиреА рдЖрдБрдЦреЛрдВ рд╕реЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХреВрджрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ:

рдЫрд╡рд┐

рдирд┐рд░реНрдгрдп


рд╣рдо Media Player Classic рдореЗрдВ рдЙрдкрд▓рдмреНрдз shader рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рдирдХ рдХрд┐рдЯ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХрдИ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╢реЗрдб рд╣реИрдВ - "рдПрдореНрдмреЙрд╕", "рдЧреНрд░реЗрд╕реНрдХреЗрд▓", "16-235 рд╕реЗ 0-255" рдФрд░ рдЗрд╕реА рддрд░рд╣ред рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдХ рдирдпрд╛ рд╢реЗрдбрд░ ( HLSL рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо) рдмрдирд╛рддреЗ рд╣реИрдВ:

sampler s0 : register(s0); float4 main(float2 tex : TEXCOORD0) : COLOR { // swapLine 0.5 = in the middle float swapLine = 1082.0 / 1920.0; tex.x = (tex.x + swapLine) % 1.0; float4 c0 = tex2D(s0, tex); return c0; } 

рд╣рдо рдЗрд╕реЗ Shift.hlsl рдирд╛рдо рдХреЗ рддрд╣рдд рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C: \ Program Files \ MPC-HC \ Shaders) рдХреЗ \ Shaders рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ ( рд╡рд┐рдХрд▓реНрдк / рдкреНрд▓реЗрдмреИрдХ / рд╢реЗрдбреНрд╕ ) рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдирдП Shader shader рдХреЛ рдПрдХреНрдЯрд┐рд╡ рдкреНрд░реА-рд░рд┐рд╕рд╛рдЗрдЬрд╝ рд╢реЗрдбреНрд╕ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

рд╡реАрдбрд┐рдпреЛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреА рдпрд╣ рд╡рд┐рдзрд┐ рд╕реАрдкреАрдпреВ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдХрд╛рдо рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдЧрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ рдФрд░ рдЕрдиреБрдХрд░рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдмрд╛рд░рд┐рдореЛрд░?


рдпрд╣ рдПрдХ рдкрд┐рдХреНрд╕реЗрд▓ рд╢реЗрдбрд░ рд╣реИ рдЬрд┐рд╕реЗ рдЯреЗрдХреНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рд░рдВрдЧ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪрд░ s0 рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╡рд░реНрддрдорд╛рди рдлреНрд░реЗрдо рдХреЗ рд╕рд╛рде рдмрдирд╛рд╡рдЯ рд╣реИред

рдирдП рдХреНрд╖реИрддрд┐рдЬ рд╕рдордиреНрд╡рдп рдХреА рдЧрдгрдирд╛ рд╡рд░реНрддрдорд╛рди рд╕рдордиреНрд╡рдп рдФрд░ рд╕реНрд╡реЗрдкрд▓рд╛рдЗрди рдмрджрд▓рд╛рд╡ рдХреЗ рдпреЛрдЧ рдХреЗ рд╡рд┐рднрд╛рдЬрди modulo 1 рдХреЗ рд╢реЗрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдмрд┐рдВрджреБ рдХреЛ рджрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдпрд╛рдореЛрдВ рд╕реЗ рдкрд░реЗ рдЬрд╛рдиреЗ рдкрд░ рдЗрд╕реЗ рдмрд╛рдИрдВ рдУрд░ рдкреБрдирд░реНрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ, рдЯреЗрдХреНрд╕ 2 рдбреА (s0, рдЯреЗрдХреНрд╕) рдХрдорд╛рдВрдб рдореВрд▓ рдлреНрд░реЗрдо рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд╕рдордиреНрд╡рдп рдХреЗ рд╕рд╛рде рдмрд┐рдВрджреБ рдХрд╛ рд░рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ


  • рд╢реЗрдбрд╝ рдкрд░ рд╢рд╛рдВрдд рд▓реЗрдЦ, рдпрд╣рд╛рдВ, рд╣реИрдмрд░ рдкрд░: " рдХреНрд░рд┐рдПрдЯрд░реНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг" ред
  • MPC рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрд╕ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЪрдпрди github.com/dinfinity/mpc-pixel-shaders рдкрд░ рдирд┐рд╣рд┐рдд рд╣реИ

Source: https://habr.com/ru/post/hi434856/


All Articles