userSam Pavloviccancel

1,819 Commits over 1,491 Days - 0.05cph!

3 Years Ago
Viewmodel shadows on mixed shadows 🙏 Cleanup lightcomponent, reenable shadow fading Remove unnecessary debug pragmas
3 Years Ago
Consider mixed light shadows for atlas downsampler too Add cvar to maximum mixed light shadows, make a lot of this clientside Add option to render mixed shadows only on viewmodels Fix self shadowing on dynamic objects with mixed shadows Add helper method to get the wanted shadow sampler given the context, clean up code Pass viewmodel shadow sampler on the shader side
3 Years Ago
Squashed commit of what was on master as this has been out of main branch for long Naive shadow atlas downsampling test
3 Years Ago
Pass number of mixed cascades to shader
3 Years Ago
Make lighting data structure from shader match what's on cpu side Multiple mixed shadows support, fix sunlight bugs with multiple mixed shadows
3 Years Ago
Reorder data structure, give support to more than 2 cascades for mixed lights, add vignietting for shadows on multiple static lights at once Up our shader ABI, document changes, and rename elements of that enum to better clarify
3 Years Ago
Add sharp Stationary lights, rename Baked and Per Pixel sunlights to Static and Moveable https://i.imgur.com/AVIUGLb.jpeg Merge branch 'master' of sbox Merge branch 'master' of sbox Rewrite sbox_glass with material api, get base shaders to use shared standard ps code, cleanup, fixes parsing bug to missing newline on features.hlsl, fix define on base shader code Refactor glass, fix refraction Merge branch 'shader-quick-refactor'
3 Years Ago
Add sharp Stationary lights, rename Baked and Per Pixel sunlights to Static and Moveable https://i.imgur.com/AVIUGLb.jpeg Refactor glass, fix refraction Rewrite sbox_glass with material api, get base shaders to use shared standard ps code, cleanup, fixes parsing bug to missing newline on features.hlsl, fix define on base shader code
3 Years Ago
Refactor glass, fix refraction
3 Years Ago
Merge branch 'master' of sbox Merge branch 'master' of sbox Rewrite sbox_glass with material api, get base shaders to use shared standard ps code, cleanup, fixes parsing bug to missing newline on features.hlsl, fix define on base shader code
3 Years Ago
Fix data structure of light info compute buffer to support multiple baked mixed shadows and cleanup
3 Years Ago
Refactor how mixed baked lights are calculated to later support multiple lights at once Removed unused lightbinner that was mostly just duplicated code
3 Years Ago
Add sharp Stationary lights, rename Baked and Per Pixel sunlights to Static and Moveable https://i.imgur.com/AVIUGLb.jpeg
3 Years Ago
Fix "bloomy" depth of field
3 Years Ago
Bind hammer properties to watersceneobject Add Render.IsRenderingMainView to check if current view is the main one, and not a monitor rendertarget
3 Years Ago
Add RemoveFlags to sceneview Move ripple texture data to a struct so we can have a cascade of them easily, fix clamping of ripple simulation position around borders Add water properties toggleable on hammer Floor view position so that sampling never gets fractional
3 Years Ago
Use SceneViewFlags_t instead of uint32 for flags SceneViewFlags in managed, bind ISceneView::GetFlags
3 Years Ago
Initial work on foliage vertex data generator Add FoliageVertexSwayGenerator node to editor
3 Years Ago
Disable Valve's HIGH_QUALITY_SHADOWS, saves us a shader combo too
3 Years Ago
Give 1px offset on reflections
3 Years Ago
Disable reflections when we run out of memory Fix 1px border in high quality reflections, fix hq reflections being offset when using non-dev console
3 Years Ago
Add test property to enable dynamic ambient occlusion on dynamic objects, add check if view is rendering on main view Remove silly assert on shapemanager Add monitor view flag to SceneViewFlags_t Fix assertion and rendering issues on tools with reflections
3 Years Ago
use full res reflection buffer & depth if rendering in sfm Updated objects for blendable shader with SFM fixes
3 Years Ago
Squashed commit of what was on sdf-reflection-optimizations Get new ShapeBuffer API on Compute Buffer again, simplify data structure Clean up and simplify Shapebuffer struct, rename remainings of SdfShape to just Shape Fix flickering with reflections, refactoring, cleanup, use PVS for Shapes again, use spheres for AABB check Fix typo on blendable Bkebdabke & high quality reflection shader objects, invert alpha channel, halve shape bounding sphere Allow high quality reflections to be composed on subviews
3 Years Ago
Fix typo on blendable Bkebdabke & high quality reflection shader objects, invert alpha channel, halve shape bounding sphere
3 Years Ago
Squashed commit of what was on sdf-reflection-optimizations Get new ShapeBuffer API on Compute Buffer again, simplify data structure Clean up and simplify Shapebuffer struct, rename remainings of SdfShape to just Shape Fix flickering with reflections, refactoring, cleanup, use PVS for Shapes again, use spheres for AABB check
3 Years Ago
Reimplement push shape data to buffer Flush data after encoding it rather than on frame start, header cleanup
3 Years Ago
Support colored input for reflections
3 Years Ago
Disable adding proxy instance shape to sdf shape list until merge shape optimizations to master
3 Years Ago
Upload shape buffer data to the GPU with any arbitrary size beyond 4KB Bind shape buffer data to rendering pipeline and give support for multipass if we need it
3 Years Ago
Fix light bounces being black on multiblend materials
3 Years Ago
Rework how we encode shape data away from constant buffers, cleanup, add shape manager
3 Years Ago
Be more conservative on quality-related optimizations now that we have a good enough speedup on reflections
3 Years Ago
Add Reflection as a supported rendermode in gameinfo.gi Add ToMaterialMultiblend helper Add multiblend to high_quality_reflections shader Composite reflections with new multipass reflection buffer rather than tracing on the shader itself, fix stuff on the pipeline
3 Years Ago
Render reflections in quarter res reflection layer, pass it to pipeline
3 Years Ago
Add new sceneobject flags and flag objects to be rendered in reflection buffer
3 Years Ago
Better fix for AMD driver bug on DoF, wrap around problematic instruction
3 Years Ago
Initial SDF tracing optimizations until multipass rewrite Fix DoF on AMD
3 Years Ago
Do sanity check with maximum number of instances too
3 Years Ago
Fix black boxes appearing on instanced info for SDF shapes
3 Years Ago
Fix system crash while rendering water due to AMD drivers
3 Years Ago
Shaders with clipplane support
3 Years Ago
Squashed commit of the following: commit 217109a5adba3c34c692381e9eca132d95e3f7ea Author: Sam Pavlovic <sam@volvosoftware.com> Date: Fri Dec 31 15:52:10 2021 -0300 Refactor shader part of sdf reflections to use batched constant buffer commit 6c2e9f91c6eb865a70dd9f4c3f7aa6d26f3cbdd6 Author: Sam Pavlovic <sam@volvosoftware.com> Date: Fri Dec 31 15:50:25 2021 -0300 Fix SDF reflections being rendered incorrect with instanced meshes, fix crash when out of memory pool commit ca6cd533ced39f51d935953ee721f6771d4b1f28 Author: Sam Pavlovic <sam@volvosoftware.com> Date: Tue Dec 21 17:26:22 2021 -0300 Iterate on AOProxy batching commit 9c5e6b102493d6a67e3302a1276675da4063f92e Author: Sam Pavlovic <sam@volvosoftware.com> Date: Wed Dec 15 15:38:26 2021 -0300 Simplify citizen ao proxies commit 3df5dde99ab9e7eb8b3670340dff448e4c890673 Merge: f352744a4 88e59e22a Author: Sam Pavlovic <sam@volvosoftware.com> Date: Sun Dec 12 02:03:21 2021 -0300 Merge branch 'master' into sdfobjectreflections commit f352744a45a5d70d6606c8796881ef97c6f8b4b3 Author: Sam Pavlovic <sam@volvosoftware.com> Date: Wed Dec 1 18:36:06 2021 -0300 SDF shape batcher commit 6dbb4b1abdbfa6f75c00ae70a65b29a3bb576271 Author: Sam Pavlovic <sam@volvosoftware.com> Date: Wed Dec 1 13:51:46 2021 -0300 Initial commit for sdf reflections Shader objects for blendable with high quality reflections Add high quality reflections as a combo in blendable, make it a static combo High quality reflections on glossy concrete https://i.imgur.com/NemzZof.png
3 Years Ago
Fix SDF reflections being rendered incorrect with instanced meshes, fix crash when out of memory pool Refactor shader part of sdf reflections to use batched constant buffer
3 Years Ago
Iterate on AOProxy batching
3 Years Ago
▉▉▊██▊▆ ▇▉▆▆▅▍▄▊▅▅▄ ▇▆▊▍▍▇▆▊▅▉▋ -> ▆▉▇▍▇▅▊, ▌█▇▍▅ ▍▄▅▆ █▄▇▅▅▄█▇▊▆. ▉▊▇▆▋▉ ▋▊▆▋ ▍▅▉▌▄▆▊ ▋█ ▅▋▌ ▌▅▌ ▊▋▇ ▉▆▄▍▇ ▄▉▍▉▆▉▇▇▆▌ ▇▆ ▆▉▉ ▅▌▇▋▌ ▉▉▋▋▅ ▇▅▌▇▅▄ ▋▍▌█▆▄▋▇▆▄▋█▄ █▍▉▄▅ ▆▊▌ ▆▅▋▉ ▌▆▇ ▍▇▉▍▅▋▊ ▆█▄ ▇▄▅▍█▋▌▄▊▆▆ ▋▄▊▅█▅█ ▌▅▍▇▌▇ █▍▉▌▆▇ ▌▊▅▄▌▅█▍ ▌▇▍█▆ ▍▅▅ ▆▌▌▋▉ ▅▇ ▇▅▄▆▌█▉▆▄ ▌▆█ ▉▊▄▌▍▍ ▆▊▉ ▆▉▄▌▅ ▇▊▊▍▉▋▊▇▋▍▋ ▍▊█▆ ▄▌▊ ▍█▊█▅▄▌▋▇▉▌▅▊ ▍▇▋▅ ▍▊ ▄▆▉▌▆▌ ▅▄▍▇ ▌▇█▇ ▌▄█ ▉▍ █▊▅▌ ▇▄█▊▇ ▌▊▍▆ ▇█▌▇█▊█▉▄ ▍▌ █▉▅▇ ▋▋▍▍▅▆█▄, ▌█▅▋▋ ▆▌▆▇ █▉▄▄█ ▉▊▋▅ ▇█▊▆ ▇▌▍▅▌▊▍▋▋▄ ▌█▍▍▆▍▊▇ ▆▋▉▄ ▍_▄▇▇▆_▆▅▄▌▄█▊_▄▇▌▉▇▆▇▊▊▉▆ ▉█▉█▋█▍ ▅▌▊▇ ▍▌▋▉█▊▉▊▅▋▄▇▌▍▅▄▄▄█▍▇ ▇▌ ▋▍▊▌▇▊▌▌▉▍▊ ▇▄▌▋ ▌▊▄▍_██▉▅▊ █▊ ▇▍▅█▋, ▄▉▍▄ ▊▋▌▅▄▆▍ █▇▆▉ ▅▆▆▆▋▌▇ ▍█▆▋_ ▍▇▋▆▍▋ ▅▆▊▋ ▄▋▅▄▌▍▌▆ ▉▄▋█▍▉▅▊▍ ▊▍ ▊ ▊▉▌▌▌█ █▌▆▅▇▅▉▋ ▄█▅▅ ▌▍█▋▍▅ ▄██▅▅▆▋█ ▆▄ ▅▉▍▆▅█ █▄▍▇▊▊▍▅█▊▉ ▋▌▄▅ ▍▊ ▊▌▇▄▆▋▄▇▍▌█▊▉▉▍▍ ███▋▉▉▇ █▇▋▉▋▄ ▉▆▌▅▍▇█▌, █▆▆ ▍▍▋▋██▍▅ ▉▋█▊, ▊▅▄▅█▍▋▉▆ ▆▇▇▊▉▉▊▅ ▉▅▄▆▅▌ ▊▌▊▄▌▋▇▅▆▅ ▊▆ ▄▌▆▍▌▋▊ ▄▊▉▇▄ ▌▍▇▍▄▊▇▇ ▉▆█▇▌▌▌ ▋▌▄▄▆▄▇▉▋▍▉ ▆▇ ▉▄▆▄█▉▅ ▍█ █▄▊▋▆ ▊▋█ ▍▅▄▌▌ ▆▉▉▄▄█▇▉ ▄▉▇▄▌█▄▇, ▌▆▋ ▌▇█▄ ██▌▋▋▆ ▄▇▆█ ▋▌▊▉▇▉▊▉▌█ ▉▇▊ ▇▆▊▄▄▍ ▆▍█ ▌▉▄▊▅ ▋▉▇▍▅▄▊▄▉█ ▌█ ▊▅▆█▍█▅▋█ █▅▅▍ █▄█▆▄▄ █▋▇▌▍▉█ ▇▆▄ ▇▊▆▆▊ ▆▅▊▄▌▄ ▍▍▋▆█ ▅▄▊▄▅ ▌█▇▇▊▆ ▆▇▍▉▅▌▋▅▌▍▍_▇▆.▌▋▆ ▆▍▉▌ ▊▉▉ ██▊▆▌█ ▅▌▌▍▍▌▇▄ ▆▍-▄▅▉█▉▅▊█-▅█: ▉▆█▋▌ <▊▋▋█▅█▊▌+▊▊▄▅▇▇▄▇▅@▄▍▉▊▅.▄▍▇▋▆▄█.▍▍█▄▄▇.▅▉▊> ▅▉▇ ▇▍▌ █▄▆▅▅▄ █▆█▆▆█▊▌ ▅█ ▅▊█▋▋ ▊▄▇ ▍▌-▌▉▍█▆▇▅▆-█▇: █▅▍▇█ <▋▄▌▌▌▉▋▉+▋█▊▌▆▅▌▍▍@▅▆▆▍▇.▍▍▍▇▇▇▌.▍▄▋▄▆▄.▉▅█> ▅▇▄▍▅▄ ▉█▍▅ ▉▇ █▍▊▅▉.▇▄▌▍▉▅ █▊-▋▇▍▌▍▅▇▌-█▄: ▍▆▍▅▍ <▇█▇▆▋█▉▄+▄▌▊▊█▆▉▊▅@▉▆█▊▊.▉▍▄▆▉▍▍.▋▍▊▆▅▉.█▅▌> ▋▆▆▇▍▍ ▆▉▌▉_▍▇▋▊▊▊▇▋▍▇▆█▍▉ ▄▆▍▄▇▇▋▅ █▇▌▄▆ ▆▋▊▋ ██▍▄▉▄ ▇▄▊▋▋▉▌, ▊▆▆▊ ▇▊▄▆▅ █▋ ▋▍▇▋▉▇▄▄▆▊▋▍ ▍██▆▊▄, ▋▉▍▊ ▊▋▉▌▊▍ ▄▉█▇▄▆▇▊▊▉ █▆▋▋▆▅▌ ▆▆▅▌██▅█▌ ▋▅▆▊▅▊▋▅▍▋▅█▍▋.▅▌▉▄▉█▌▆██▌▇▊█▅▊▅▆▍▅█▅▇▍▇▌█▊▋▉ ▍█▇█ ▍▄▌▇▊▍▍ ▉▊ ▌ ▋▌▍▇▍ ▆▉▍█▋▇ ▍█▊▋ ▋▄▆█▌▉█ ▍▅█▄▌▋▊▄▅▌█ ▉▅█▌ ▅▊█▍ ▄▍▉▅▍▉ ▆▊▍ ▌▋▅▋▆▇▌ ▋▌▍█▋▇█ ▉█▉▍█▆▌▌ ▉▍▍█▉█▄ █▉ ▊▅▋▅█▋▊▆▌▉▄▆▋▄ ▆▋ █▍▊█ ▊▋▇▄▄▅▅▌▋ ▌█▋█▇▌▉▉ ▇▅▋▌ ▊▉▋▌▉▌ ▍▋ ▋▄██▍ ▌ ▌▌▊▅ ▆▊▌█▄▄ ▇▌▇▆ ▊▅▅▋ ▍▊▍▆▉▅█▆▆▅▄ ▋▄▆█▉▍▋ ▍▆▍▅▍▆▉▊ ▉▋▉▋▄▊▌▊ █▇▍▊▆█▊▍ ▇▊█▆ ▄▄█▋▆▍▆▍/▌▌▊▋▊▍▊▋▋ ▉▄█▌▇ ▋▄▊▇-██▉▄▋▇/▌▇▉█▆▋/▉▅█▍ ▌▊▊ ▅▄▇▋▍▅▌ ▊▄▇ ▋▆▇▅▌█▋ █▌▅▇▍▇▇▆ █▍ ▍▌▍▍ █▅▇█▇▄ ▊▉▌▌▊. ▌▍▌▆▌▉▊ ▊▊▉▄▉▇▆ ▋▄ ▉█▆▌▋▄█ ▆▅▍▋▉█▄▌ ▄▆ ▊▄▇█▄▊▇▇▅▆▇█▉▄▅▊▍▄ ▄▉▍▍ ▋▉▊▄▌.▌▅▆▉▋▄▆ ▋▅▇▊▉▌▌▉ ▉▋▄▋▉ ▍▉▌▉▄.▋█▆▋▇▋▌▍▋▉<▆>() ▍▊▊█▇▇▍ ▆▇▉▆▋█▇ ▄▉▌▉▍ ▆▆▋▉ ▍▉ ▄▄▌▊ ▋▊▄▇▇▉ ▄▇ ▆▆▊ ▊▊▅▉ ▉▋▌▇▇▆▍ ▇▌▆▍▆ ▄▋▌▆▇▅▊▉▌▅.▇▅▌▍▅▉▇▇▊▊▉▄▇ ▌▅▊ ▉█▌▇▆▅▇ ▆▍ ▊▇▍▆█▍ ▊▊█▇_▊█▇▄█▍▉▉▇▋▄▇: ▄▄▊▉▆ ▋▉▌▅▋▉▍ █▆ █▄▅▊▌█ ▍█▉▅▅▇█▇ ▊▊▄▉ ▍▆▇ ▌▊▍▋▍ ▅▉▆▌▍▇ ▊▅▉▉▇▊▍▊█▉ ▉█▇▍▇ ▅▆▉▋▍ ▄▅▌ ▉█▆▍▍▆ ▇▆▊▆▌- ▊▆▋▅ ▆▇▊▇▌ ▌▆▅▉▌▊ '▍▇▊▅▍▇' █▇ ▄▅▅▋ ▍▇▄▆▍▆▉ ▆▅ █▄▇▇▇▊ ▇▄▇▆▊▄ ▇▇▄▊ █▆ █▆▌▋▄▄▊▊▄▌▉▆ ▍▄▊▉▉▆ `▆▋▊▊▅ = ▆▊▌.█▊▊▄▍▊█▍▄▍( ▆▊▄▆▋▋▊█▉▄.▇▉█▌▋▌▇, ▋▊▋▅▉▄, ▅▉▍▍▍▌▌▌.▍▍▊▆( ▌▅▄▍▍▄▊▋▊ ), ▉▍, ▆▌▆▄ );` ▆▋▇ ▇▌▊▊, ▌▊▌▋▊▊▊▅▇▊ ▌▉▍ ▋▆▋▊▋ ▉▋▇ ▊▊▋▄▋▋▉▅▉▉▌ ▉▅▆█▅▅▇▍ ▅▉▅▆█▇▆▇▄ ▍▊▊▆▌ ▆▅▍ ▄▊▍ ▌▄▄▌▄▄ ▍▋█ ▌▊▉▇▉▊▌▉█▆▋██▉▅▌▍▉▊ ▍▅█▄██: ▅▅█▆▆█ ▇▉▍▅ ▇▅▇▋▆█▊ ▉▌ ▍█▇█▍▍ ▄█▇ ▌▆█▉▄▍ ▇██▆▅▌▇▍█ █▌▋▊▋://▇▉▉▍▆.▉▍▋▋▉▇▅▍▄.▊▊▋/▋▄▇▇▋/▍▇▇▍▉▉▍▍/▄▅█▋▍▇▋▉▆▉.▄▉▋ ▍▍▄▍ ▇▆▋▋▄▋ ▆▇▉▉▆▉ ▇▍ ▇ ▌▋█ ▅▋▅ ▅▇▍▆▉█ ▇▌▄▄▇ ▇▄▆▇ ▅▆▍ █▅█▇▋▉ ▍▍▊▊▋▄ █▌ ▇▋▆▌ ▌▉▉▆▍▉ ▉▉▌▆ ▇▊ ▄▋██ ▊▉▋▌ ▊▇▆▉▌▊ ▄▍▉▉▄ ▆▄█▆▋▇ ▆▆▌▋▅▊▋ ▊▍▊▄▉▍▅▌▍█ ▆▉▆▄█ ▆█▉▍▇ ▅▄▊ ▊█▋▄▇▆▍ - ▄█▊▉▍▌▄ ▄█ ▉▇▆▆▊ ▅▋█▇▌▄▇ ▆▆▇ ▉▉▇▄▉ ▋▍▌▉ ▄▇▋▌ ▋▄▊▅█ ▅█▄▍▋▄ '█▋▇▋▉▅' ▉▌ ▆▇▍█ ▉▄█▋▊▉ ▊▆▆ ▇▌▊▇▆▌▍▅ ▋▆▉▋▆▊▋▇ ▅▆█▉ ▉▉█▋▊▄.▅▍▇ ▌▉▇▉▋▄▌▊▇▇: ▆▉▋█▅▇ ▊▆▇▋▇█▆▆▊▋▌█▍▋▅ ▋▄▋ ▍▋▆▅█▊▍▋ ▋▌▅▄▋▄▇ ▇▍▌▋ ▆▄▇ ▆▅▍ ▄▅ █▋▊ ▆ ▉█▄▉▇▅ ▉▋▋▌▉ ▊█▄▊▍.▋▄▉▋▇▍▌▊ ▊█ ▅▆███▍▄ ▊▉▉ ▋▉▍▆█ ▄▍█▉ ▊▌▄▆▅ █▇▆▍▍ ▊▊▇▍ ▌▍▆▇ ▇▇▉▉ ▌▉▅▅▆ ▄▆ ▇▆▍█▅ ▍▊▅▍▆▄▄▋▅ ▊▌▌▇▊ ▄▆▅▋ ▊▄▍▄▍█ ▅▍ ▅▆▍ ▉▊▋▆▆ ▍▆▌▆ ▄▇▇▌ █▅ ▋▆▋▊ ▄▄▅▉▆ █▆▍▋ ▊▌▇ ▌▋▌▉▍ ▅▊ ▅▊▌▇▌▊▆▋▅▊ ▌▋▌▅▉ ▆▍▇▅█▌▄▄ ▉▅█▋▉▉▍▌ ▅▉▉▊▍ ▅▊▆▌▍▊▅ ▆▌▍▄▅▆█▌▅▌ ▊▌▄ ▉▇▆█▍▋▅▅▋▊▅▆█ ▉▅▇▄▆█▅▍▋ ▊▆▇▉▆▄▄▊▇▍ ▋▊▇▋▇ ▌▍▆█▍ - █▆▋▋▊▊▇▉ ▄▊▅▋▄ ▌▋▍▄▇█ ▅▄▅▇▅▉▌▅▇▍ ▆▆▆▊▍ ▆▇█▊▍ - ▉▋▉▉▊▌▍ ▉▉▄█▋ ▉▋▇ ▍▇▍▊▆▌▉▍ ▊▌▇▍▄ ▅▉█▉██▌▇▉▊ ▊▇▉▇▊ ▇█▉▊█ - ▆▍▍▇▌█▅▄ ▋▌▋▇▌▍█▄ ▊▍▇▅▌▍ █▋▇▆▊ ▉▍▊▅▆▊ '█▋▅▊▄▊' ▍▇ ▌▊▊▌ ▆█▊▌▊▋▉▆▉▉▇.▉▅▍▊▋▉▅▅▊█▊ █▅▆▇ ▉▆▇ ▌▄▇ ▋▌▄▋ ▄▊▇▍▉ ▄▅ ▌█▊█ ▄▄ ▆▋▊█▍█▊▄▉ ▊▆▅▇▍▊ ▉▄▋▇▌▍ ▋▍▌▆▄▇ ▉▉ ▊▊▍ ▉▅▄ ▄▇▌▌██ ▊▉ ▍▄▋▆ ▅█▆█▌▅▅▅▉ ▋▌▆▌▄▅█▌▍▆▊▅▌▉▆▅, ▍▌█▆▅▍▋█▌▆▄▆▆ ▋▌ ▇▄▉▇ █▉ ▍█▇▅▊▄ ▌▅▄▇▌▄▆ ▍▆▋▌▇▋▅▌▄▋ ▄▆▊▅ █▆▅▆▆▋▉ ▍▇▄▅█▍▍▆ ▌▍▅▆ ▍▌▉▉▆ ▅▉▇▋▍▊ ▆▍▄▌▇▌▍▄▉▆▋ ▍▌ ▊▋▍▌▅▉▅▌▍▍▊▇▌▋▌▅▋█▋ ▄▊ ▋▅▇▅ ▉█ ▌▍▉▍▆▌▋▌█▆ ▊▅▆▋ ▌▇▍██▉▅▄▌▌▌ ▍▍▅▍▊ ▉▋▊▄▆▍ '▇▄▇▉▅▌' █▌▄▆ ▉▆▌▇▅▍▊▄▆▌ ▄▋▄▇▌ ▉▍▌▋ ▍▉▅█▍▄▍ #▄▍▇ ▆▊▄▌ ▊█▊▇▉█▉▅▊/▋█▍▊▍▄▊▊▌▉ ▅▅▋ ▇▋▌▇▆ ▍▋▊▄▆▍▍ █▍▆▅▇█▅▌▌ █▄▄, █▍▍ ▆▋█▄▌ ▊▌ ▅▌ █▆▅▊▇▄▋▅ ▍▋▉▅▇█ █▅▍▆▌▌ ▋.▌▍.▇▍ -> █.▌▉.▅, ▅▆▉▌▇▊▅ ▆▉█▌▊▌▅▋█▌ ▌▇▍▍ ▍█▄▆▅▊▇▌▋▍ ▆▅▄▋█▍'▇ ▄▋▇▌█▋▄▆▌▊ ▅▌ ▅▉█▊▆▅▋ ▉▊▆▄▌█ ▌▉▊ █▌▇▆█▉▌▊▉▄█▊▄▍ - ▆▄▅▍▉ ▇▋█ ▋▊▊█▋▋ ▋██▊▆▇▌▄ ▇▍ █▉▋▌▄ ▆▋ ▅█▊▍▄ ▋█▆▅ ▍▍▄ ▋▉▍▌▅, ▍▅▊▌▇ ▊▅ ▆▊▅▉▄▊▌▇▉▌▉▍▄ ▋▊▊▄▇▄█▌▍ ▉▇.▉▋▉▍() ▍▊ ▌▋▌▉▋▇▉, ▍▆▉ ▄▉.▉▌▄▍▋▇▆ █▉ █▆▅▆ ▇▅▌▍ ▆▄▍█▍ ▄▋ ▅█▄▇▅ ▄▅▉█▇▇▋ ▆▊▄▆ ▊█ ▄▇ ▉▋▇▇▅▋ ▍ ▍█▄▄ ▊▋▇▋ ▆▆▌▇ ▉▆ ▋▋▍▄▇▉▇▅▌▆▍▌▊▆, █▅▋▅ █▅▅▄ ▇▆▋▍ ▍▌▋ ▍▌ ▅▉ ▅▋ ▍▇▇▌▅'▊ ▌▊▋▅ ▋▅▅ ▇▅▉▊▍ ▇▄▊▇▋▇█ ▉▉ █▌█▌▇▉██ ▋█ ▇▆▉▇█▊▅, ▍▌▌ █▊█▅▆▅ ▄▅▊▊▄█▉ & ▄▇▌ ▇▆▇▊▋▍▇▅▆.▊▌▊▆▋▉▇▊▋▅▋▇▆▊▆█▆▋▄▇( ▍▊█▄▉▆▌▊▆▄▉▇▇▌▉ ) ▆▇▍ ▍▄▊▋▌▍▉ ▉▄▉▅▅█▅▆ ▋▇▍█ ▊▊█▋▋█▊.▉█▄▇ ▄▄▅ ▇▌▍▊▅▌ ▉█▄▅_▆█▄▊█▄ ▉▉▉▋ ▊▆▉▇▍ ▇▅▇ ▅█▋█▅▍▄ ▆▆▄▅▅▍▆▉▆ █▆ ▇ ▄▅▇█▌▉ ▆█▅▇▊▋ ▋▋▅▇▉█▋ ▇▅▊ ▅▌▉▇█.▌█▊▆▍▋▄▄▅▋▄ / ▍▍▌▉▍.▍▊▇█▇▋▍▄▋▊▌ ▅█▄▉▌█▅▇▄ █▄▋▄▊▊▍ ▉▉▉▌ █▊▋▅ ▆▆▍▄ ▄█ ▊█▆▌▍▊▅ ▅▆█▌▉██▌ ▍▆▋▋ ▋▇█▆ ▌█▉▋▌▇ ▊█▅▇ ▉▌▊ █▆▋▄▌█▆ ▄▍▍▅▆▇ ▆▍▆▆ ▆▅ ▅▆, █▇▇ ▍▆▌▊▄▋▅▍▉.▅█▄▍▋▍▍▅▅, ▌█▇ █▉▄▊▆▌▄█▊.█▄▌▇ ▄▊▊ ▊▄▆▋ ▆ ▋▅▌▍▆▉▇▅▍ ▄▉ ▍▄▉▊▋ ▍▌ ▍ ▅▉▍▋█▆▊▊▆ ▇▉ ▄▊ ▊▅ ▋▇▆▋▍▆▊ ▆▋▇█ ▍▇█ ▍▌▋▆▇▊▋▋.▇▇▋▊▌▅▌█▍▍ ▆▌▌▆▉▆▍ ▊█ ▆▆ ▇▍▇ ▆▅ & ▆█ ▋▌▆▄█▍ ▄▌▄▆▇▉ █▆█▉▊ ▉▊ ▋▇ █▇▊▅ █▉ ▄█▇█▊▍▇ ( ▊▅▊▅ █▍▆ ▊▆▊▇▍▌▍ ▍▇▊▋ = ▉▉▅ ) ▆▉▊ ▍ ▍▇▍█ ▊▋ ▊▊▅ ▉▇▍▉▄▋█ ▊▆▊▇▅▊▊▄ ▄▋▊▅█▆▇ ▊▍ ▆█▉▆▆▊▌▊▇▋▇ ▊█▅▊ ▋▄█▄▌▆▌▇▊ ▍▇▌▄▉ ▆▌▆▋▍▆▊▅ ▅█▊▋▋▋▍ ▆█▉▊▄▇ ▇▋▇▋ ▊█▅▌ ▇▌ ▋▋▄▅ / ▌▅▌▉▌▄▊ ▌▄ ▇ ▄▉▄▇ ██▌▆▄▅ ▌▅▌▍▆▌ ▉▆▌▉▍ ▄▊▊ ▅▅▉▄▌ ▄▋ █▋▍▋▅▇ ▋█ ▍▄'▉ ▋▌▇ ▊▇▍▆▍▉▇▄█ █▄ ▌▇▆▆ ▌▌█ ▄█▇▇▌ ▆▄█▋▌▌▉█ ▆▋▇█▌ ▊▋▌▉ ▇█▇▉▋▆▍ ▉ ▅▄▆▄▊ █▍▆█▋▆█, ▋▉▅▌ ▄▋▅▄▋ █▆▄▉▉▅▍ ▄▇ █▌▉▅▊ ▌▇▇ ▊▇▇▅▇ ▌▉ █▋▌▆█ █▄▅▍▌▋▋▅▉▅ ▆▄ ▆▅▆▇ ▍▉▍▆▉ ▋▅▋ ▊▉ ▄▇▉ ▅▋▇'▊ ▉▌█▋▉▇ ▌▅▆▌█▄ ▇▍ ▆▊▅█▅▌▍▍▋ ▍▇▆▆▊▇▉ ▇▇▍▇▊▆ 🤦 ▋▊▇▅▄▅▇▌ ▊▋▇▊ ▋▋█▋▉ █▊▊▄ ▉▇▇▅▆ ▋▊█ ▄▄▄▆▄▍ ▉▄▍▌▌▊▌▆▊ ▍▉▌▊▅▊▋▉▋ ▄▅▅▇▄▄ ▌█ ▊█▉▊▇▇▋▌▌▊▊▉▌ ▄▆▇▊ █▉▇ ▄▉▌▆█-▆▆▌▋▆▄▍▄▇ ▍█▊▄▊-▅▅▌▆▄▅▄▌▄: ▍▋▊▊; ▉█▇▅▉-▇▅▄▅▍▄▊▉▊: ▉█▄▋▊▊▋▇▆▆▆; ▌▄█▇▆-▌▍▉██▉▍▌▌: ▇▍▉▄▅▋▉█; █▉█▍▆-▅▍▌▅▆▅▌▋▆: ▊▊▍▄▄▄▅▆▍; ▉▆▌▇▋-▅▇▄█▊█▉▍▍: ▆▊▌▉▉; ▆▆▌▍▅-▄▆▍▄▅▋▉▇▆: ▉▍▋▇▋▆▊▌▆; ▊▆▇▊▊-▊▊▇▆█▉▄▊▊: ▆▊▆█▆▆▌-▋▅▄▇█▄▉▇; ▄▇▍█▄://▅▊▌█▉.▆▇▌▉▄▋▆▌▆.█▊█/▋█▉▇▍/▄▆▆▆▊▅▍▅/▅▉▉▉-▉▉-▌▌_▍▍-▌▄-▅▅▇▅▉▋▄▊-▉▉▉▍-▊▅▊▊-▅▆▉▆-▌█▌▅▊▇▋▌▌▊▌█-▊▇▌▍▌▅▋▌.▄▆▉ ▊▄▊▍ ▇▍▅ ▋▊▇▊▅▋▆▅ █▆▄▆▌▍ ▊▅▆▇▇▊ ▋▍▉▋▅▉ ▌▆▅▄▇ ▇▌▊ ▌▆▄▍▅▄ ▊▋▊▉▌ ▋█ ▉▍▍▇▉ ▄▇▇▋▅▊▉ ▉▌▄▍ █▌▊█▅▄ █▄ ▇▅▇▍▄ ▇▍▍▇▅ ▇▆▆▊▌▇█▇ ▅▅▇█▉▅ ▊▋ ▅▋▅▇▆ █▉▌▄▇▊ █▇█▅▋▅█ ▉▋▋▌ ▍▇▍▌▍▇ ▋▌▉▅ ▆▆▅▆▋▍▌ ▌▋▇▊█▊ ▄▍ ▊▍▉▆▅▉ ▌▄▇▋▌██▉▅ ▄▅▌█ ▅▅▇▌▍▅ ▉▋ ▄▇ ▅▉▊▌ ▌▇▇▅▊█: ▊█▅'▋ ▉▍▉█▆▉ ▇█▊▆▍▌▇ ▅▉▅▊ ▌▌▊▅ ▅▅▉▊▆, ▌▌▉█▌ ▊▍▉▇▄▊▅██ ▄▋▍█▌▄▍▆▊ ▉▋ ▌▉▉▉ ▇▌▍▌▄ ▋█▍▅▇▆▌ ▌▋▉ ██▇_▇▊█▆ ▋▊ ▉▆ ▉▆▄▊▄▄█▍▍. ▆▊ ▆█▊▊ ▌▋▄ ▊▅▅ ▉▄▄▇ █▆▌▅▅▄▇ ▆▌ ▆▅▌▉_▆▅█▌▋▇▌ ▅▍. ▊▄ ▊█▊▄_█▄▄▆ ▄▇▉▌ ▉▌ ▌▅▇ ▄▉██▍ ▆▌█▊ ▆▋▋▅▅▉, ▉▌█▊█ ▆▋▋▅▍▌ ▆▊▆ ▍▄▌▆ ▉▅▇▅ ▉▋▆ ▌▉▌▌▇, █▌▆ ▄▇▊▇▆'▋ ▄▇ ▌▇█▅▍▅ ▅▋ ▆▌▉ ▊▍▅▇ ▆▊▇ ▉▊▍▍ ▌█▍▄▊▍▆▊▊ ██▌▉ ▌▄ ▊▆▋ █▄▉█▍ ▆▆. ▍▍▇▊▌ ▅█▇▌█▍▅ ▍▉▅▉▉▆. ▄▅ ▅▊█▅▄▅▌ ▆▌▇▇█ ▊▋▋ ▍▌▍ ▋▇▄█▊█▅█▆. ▆▆▉▄▆▍▅▄▆▉ ▅▊▋▆▅ ▉▉▄██ - ▆▌▆▊▉█▊▄ ▋▍▍▄▉▌▊▍ ▆▆▅ ▉▉ ▊██▊▇▍▄▌ ▌▄█▊▄ ▄▇▄▌█▋▇▄▇▆ ▉▅▄▍▊ ▆▆▆▌▍ - ▍▉▇▌▄▆▉▉ ▆▌▍▉█▉ ▋▆▍ █▌ ▇▅▉▇ ▅▌▉▆▍ █▊▊▌ ▉▊▅▉▍▅▌ ▆▆ ▋▌▉▇▍▊█ ▆▇▆▌█▉ ▋▇▅▆▍█▍▉▅ ▉▅ ▅▄▌ █▅▆▋▉▊▄ █▊▌▋▌▍▌ ▋▅█▋█▍▌▋█▋ ▆▇▆▋▊ ▇▇▆▍▋ ▄▅▄█▆▋█▇▋ ▇▉▄ !▉▅▋ ▍▅█▋▄▄▋▋▉▉ ▆▇▇▋▇▉ █▍▅▌▊ ▄▍ ▉_▊▉█▍▅▅▅▌▅▍::▊▅▍▉▌▋▆, ▇█▍▄▇ ▄▊▇▋▄ ▅▇ ▇▅▍▅▌▄▉▉▋ ▉▇▇▇/▆▇▄▅▊▍ ▅█▉▆ ▉▍█▆█▌▊ ▇▅▄█▌▌▋ ▍▄▉▆▅█ ▌▄▉▊▅▋▉▅ ▅▅▍ ▍▋▌▇▆█▌▄▋ ▅▆ ▆ ▇▍█▉▇▆▊█▌▇▅██▇▋ ▅▋▆█▆▄▄▉ ▄▍▇▋ ▉▊▅ ▇▇▉▌▆▋▊▆ ▅▍ ▉▋▅▉▊█▍, ▌▊▊▇█▊▄▅ ▆██▉▄█▄▋▊ ▍▋▌▉▅▄▉ █▅▉▊▇▍ ▍▇██▍▌▄ ▋▍▊▉▋▍▆▆ ▊▅▉█▍█▊▌▉▇ ▋▊ ▅▍▇▅▇▌▇▉, ▄▄▊▉▅ ▊▌▄ ▅▇▌▅▌▆▌▍▄▅▇ █▆ ▉▍▅ ▅▆▌▌ ▉█▅▍ ▊▋▅▉▉ ▍▇▇▉▊▋▆█ ▉▌ ▌▄▇ ▅▅█▌▆▉ ▅█▇▍ ▋▍█▊▅▍▉▅▅ ▆█ ▄ ▌▄▍▊▌▊▊▊ ▇▄ ▋▆▇▄█▋█▊▇▄▉ █▉▉▅▄▄ █ ▍▋▋▌▍ ▄▇ █▍▊ ▊▉▌ ▋▉▋▅▆▇▄▉ ▋▊ █▌███▉▇█▋ ▉▅▊ ▊▆▍▆▆▋▍ ▌▋▍▌▅. ▌▌▋▇▍▊▄▍ ▅▄▇▍█▊ ▌▍▊▆ ▍▍▊▄ ▌█▆ ▍▅▇▉▍▍█ ▄▆ ▉▉▋ ▍█▅▉ ▆█▉▍▄ ▌▉▌▄▅▉▄ = ▌▉▌▄▇▅▍ ▉▊█ ▆▅▌▍▆▄ ▇▆ ▊▋▋█/█▊▆█▆▅▉ ██▋▇▇▅ ▋▋ ▉█▋▉▊▌ ▌▆█▄▄ ▉▉ ▉▌▉▌▆_█▄▅ ▋▌▍▌▍▅▍ █▋▉▌█▆▋▋▍▆ ▅▉▊▇▌ & █▅▉▍ ▍▊▆▉▄ ▊▊▊▌▉ ▋▊▊▊▌▌▊ ▉▆ ▄▇▋▄ ▉▊▅▍▇▌▌ ▇▌▇▍▆ "▇▅▆▉▅▌" ▊▍▅▅▉▉▌▋ ▉▅ ▍▍█▊_▅▉▋▍▍▊▇ - ▋▍ ▆▍▇ ▊█▉▋█▄▄▆ ▋▋▌█▄▉▅ (▉▆▊█▍▌▇) ▅▋▇ ▆▉▉█ ▌▍ ▍ ▅▆▍ █▆▋▋▍▌▅ ▍▇▊▇▌▇█▋▉ ▇▋▄█▇▆▋▇▅██▋▌▌▌▆ ▋▊▋ ▇█▍▉▄▋▇▋▄▄▇▅▄▋ ▇▊▆ ▅▌▉▅██▉█▇▇▄▉▋ ▄▅▋▋▇▄▇▅ ▄▊▍▉ ▋▇▌ ▆█▄▉_▅▊▅▍▄▊▍ ▄█▄▊▇▇▅ ▆▍▆ █▇█▆▇▄▅▅ ▊▉▋▅ ▋▆▍ ▇█ █▅▍ ▅▊ ▅█▍▌▄▇ ▆▉▇█▇▉ ▋▅ ▉▆▋▉▄▌ ▇▄ ▆▍▋ ▌▋▄ ▌▋▅▄▅ ▋▅ ▄▇█'▍ ! ▌▌▄ ▆▆ #▌▅█▋▋ ▅▊▊▍▇▆ ▅▅ ▍▅ ▆▉▆▋▉▆▆█▍ ▍▉▍▇▉▆▍ ▆▋▍▅▉▇▄ ▆▊▅█▅ ▌▉▄▌, ▇▆▋ ▆▊▇▊ ▍▉▋█ ▋▆ ▆ ▆▄▊ ▇▍▇▆▌ ▊▌▉▄▄█ ▌▄▉█▍▊▉▄▌ ▍▇▌▄▍▉▋▍▆▍ █▌███ ▉▋▉█▊ - ▌▋▊▇▆▅▉ ▅▄▌ ▊▋▆▆▋ ▄▄▆▇▇▌ '▍▆▄▊▉▇' ▊▅ ▍▆▄▄ █▄▅▋▉ ▌▋▄▊ ▌▇▇▊▊▆▊ ███ ▆▅▌▌-█▉▋▊▌▌ ▄▄▊▉▊▌▆▊, ▆▉█▊, ▇▅▄▍▊▍▍▅▍▋, ▉▋▌▍▉▅▊▅▋▅, ▌▅▉▌▋, ▌▄▌▄▄▅▌, ▄▉▌▊▋▉, ▌▋▋▊▍▇▉▍, ▊▊▆▄▍▅▋▆, ▋▆▉▆▆▌▌▅▅, ▌▉▊▊▆▅▌▇▅, ▆▄█▅▅, ▆▆▋▆▇, ▉▍▅▄▅▌▌▊▅▉, ▇▄▍▉▉▅▋▍▆▇ ▉█▊ ▌▌▋ ▋▉▄▇▍ █▊█▉▅▋ ▉▉▌█ █▋▌ ▋▆▄▌▊▄ ▉▇▉ ▌▋▅▆ ▇▆▇▄ ▆▉▌▉▌/▇█▄▇█▆▇/▇▍▅▊▌▄▉▊/▍▍▄▋▉▌▋.▋█▌▇ ▆▅▌▅▍▍ ▆▌▌▊ ▌▆▉▆▍▆.▍▊██▆ ▊▊▅ ▇▉▄▍▄▊ ▋▉▉▄ ▍▆█▋▆▋▉▅ ▋▄▄▊█ ▉▊▉▌▄▍▇▅ ▊▉▋▋ ▇▍▇▌▆▌, ▇▋▉▇▋▌ ▆█▋▍.▅▍▉ ▄▋▄ █▇█▋▊▉▅▍▆▊ ▊▍▌▌ ▅▆▉▅▋▍▍▆▌▋▊▉▆▇▍▋ ▍▋▄ ▇█▍▇█▅▋ ▉▊▄ ▄▅▆▊▌▋▌▇ ▇▇▋▅▆▉▋▅▄▆ ▋▍▉ ▋▍▍█▇ ▆▌ ▄▍▄▇▆.▆▋▉█▍█▊▄ ▇▉▇▆▅▅█ ▊▇▄'█ ▌▊█▆▆▆▅█▉▍▇▇: ▇█▌ ▄▋▆ ▋▅▌▅▌▅ ▆▉▊ ▆▆▌▆▋▌▉█▊ ▋▉▆▅▋▍▄▅ ▄▅▄▋ ▇▄▋ █▉▍▊ ▋▋▆ ▄▊▊▌▆▋▋▊ █▋▍▅▇▆: ▍▊▇▍ ▄▋▅ ▄█▌▍▅▅▌ ▅▍▍▋▌█ █▊█▌▊ ▇▇▇▊▆ ▌▅▋▉▉ ▍▉▊▊▍▄▄ ▅▋ ▍▅▊▌█▉▌▆ ▇▌▋▇▅█ ▆▋▇▌▇▅▄ ▋▇▊▇▆▇▆ ▅▌▇▇█▋▍█ ▋█▍▅█ ▉▌▌▋-▆▋▄▇▍▊▆▊▄▊: ▅▌▄▉▅▅▉▅; █▉█▍█ ▉▌▍ ▌▌▆▋█▍█ ▌▄ ▉▆▌▅ ▆▄▋█▄▋▊▋ ▍▋▍▌ ██▇▆▇▆▉▉▍▋ █▇▆▆▆▇ ▅█▊▌▋▍▅█ ▊▉█▌-▅▆▍▅▇▌▄█▅▊: ▋▆▋▇▆▉▊█▅ ▌█▆▊-█▄▄▅█▆▍ ▊▌▌▋▇▊▋▆; ▄▇▅ ▌▆▉▊█ ▅▇▋▊▋://▆▇▊▇▍.▊▉▄▆▋▊▅▅▍.▍█▄/▍▉▋▇▇/▋▊▊▄▅▋▊▍/▋▋▊▅-██-▅▇_█▄-▆▆-▋▊▉▊▄▉▋▄-▅▇▅▍-▇▌▊▍-▋▌▉▌-█▇▍▌▉▍▉▉▆▊▉█-█▅▊▅▅▍▍▉.▄▉▋ ▇▉▋ ▌▉▌▆ ▊▉▉█▌█: ▊▊▅▅▄; ▅▌▉▌▊█: ▆▆█▌▋▌▍▋; ▌▉▊▇▋ ▅▍▋▍▄▍: ▍▄▆▆██▌▌▉▌, ▋▆▉▌▇▉▇▇, █▍▋▉▊▄, ▌▄▇-▇▍▄█▌█ ▌▋▇ ▄▄▄▇-▌▄█▍▄▆▄██▉-▉▇▉▅▆ ▇█ ▅▇▇▅ ▉▍██▍://▋▊▅▍▉.▇▆▄▄▊▅▋▄▉.▄▌▍/▇█▄▆▇/▊▇▍▌▊▊▅▇/▅▍█▅-▉█-▇█_▄▆-▅█-▄▉▆▋▅▋▇▇-▉▉▄█-▊▇▄▋-▄▋▋▉-▍▊▉▆▆▌▄▉▉▉▇▆-▍▌▇▄▄▆▊▌.▇▌▌ ▉▍▄▉▅ █▉▇▇ █▉▉▇▍▄█ #▇▋▋ ▋▄▅▋ █▌▄▍▋▌▅▌▆/▅▌▍-▆▅ ▇▍▅ ▍▅▄▋█▆▍▄▄▋▆ ▅▉▄▋▇ ▅▉▊▄█▌▉ ▅▊▆█ ▉▄▋▆▍▋▊▋▌▅▍ ▄▉▅▌▊ ▄▌▊ ▋▄▄▉▅▊▊▍▊ ▅▉▌▅ ▅▌▇▄-▇█▇▇▌▆▌▆▆█-▅▌▊▆█▇▍▉▇ ██▊▊▆▌▍ ▊▇▇▌▍://▊▋▋▆▊.█▆▌▋▅▇▍▅▉.▄▄▍/▄█▅▊▉/▍▊▋▋▄▉▍▊/▉▍▇▉-█▄-▌▍_▌▌-▊▋-▉▆▄▋▉▋▋▍-▊▆▌▊-▇▅▌▄-▉▌█▋-▍▅▊█▉▉▄▍▅▍▅▉-▉▌▍▊▊▄▆▇.▋▍▍ ▇▄▊▆▇▆ ▋█▄ █▍▌█▊▊▅ ▍▊▋ ▋▋▄▇▅█▆▆█ █▉▅▍▍ ▅▆ ▇▌▇▋▋▇▉▅▄ ▊▄█▍▍ ▌▆▋▍-▆▆▆▋▉▋▄▄▆▍-█▇▍▌-▆█▆: ▇▊▌; ▄▇▅ ▍▆▉▇-▋▆▉▉▇█▍▋▍▄-▊▆▊▊-▋▄▉: ▊▋▊▆; ▅▉▊▉▊://▌▍▌▄▇.▉▍▇▆▋▋█▅▍.▍▅▇/▇▊▄▄▅/▆▇▊▆█▌▅▊/▋▌▄▋-▉▄-▌▌_▊▄-▇▆-█▄▇▅▉▋▋▄-▌▅▍█-▊▋▊▉-█▄▄▄-▆▊▍▍▇▇█▍▆█▋▊-▋▋▋▆▄█▋▋.▅▅▌ ▊▌▉ ▅▌▇▇▇ ▊▄▆▍▋▄ ▇▌▅▇▌ ▋▇█▇▋▌▍█ ▉▄▇▇▌▅ ▌▇▄ ▋▆▉ ▉▌▅▅▊█▌ ▍▅▊▊▉ ▇▇▇▉▆▉ '▌▇▌▍▌▇' ▆▊ ▇▌▍▋ ▇▄▍▌▆▌▆ ▇▋▆▍▍ ▆▍█▌▄ ▉▋▇▅█▍ ▍▊ ▉▄▋▌_▍▅▍▄█'▆ ▉▊▉▅▉▇▌▌▉▇▌ ▋▍▍█▊ ▌▅▉▊▍▅▍▅▊▌██/▋▅▄▌▌▊▌▆█▇▆▄ ▆▊▇▊▋▌▄▌█▇ ▆▋▉▋▇ █▊██▊▌.█▄█▆▄(), ▍▆▅▆▅█.▍▉▇▆() ▋▇▇▌▋ ▊▄█▌▆▇▄▇▇▉▄▍/▉▅▌▉▍▇▋▍▋▋▆▅ ▌▌▍▇▄▊ ▆▅▊▍▆▇▊▉▍▊ ▌▍▋▊ ▅██ █▉▋▌▄▉▌▍▍▋▆▄/██▊▇▋▇▍▇▉▌█▍ ▇▇▅▄▌▍▊▄▇▇ ▉▌▇ ▋▆▉ ▋▍▇▊▇ ▉▉▆▆/▉▍▇▅▅ ▌▉▅▋▉▊█ ▋▅▍▅▆ ▊▄▍▌▍▍▄▇▉▊▉▋.▉▋▌▌▌▆▄▆▌▆▉▍ ▊▉▆▉▅ ▍▌██▅▍█▇.█▉▄▆▌ ▉▆▄▇▆ ▌▌▉▍▌▌▌.▇█▉▍/▅█▋▉▅▊▌.▄▇█▌▇ ▉█▋▍▄▄▊ ▇▍▇▇█▊▊▄▍ ▉▉▋/█▍▇▆/▅▇▋... ▋▍▇▍▄▋ ▍▉▍▉-▅▍▌▇▋▆▄▌▅▇ ▌█ ▉▌▉▋-▋▇▇▆▅▉▊▆▇▋-▍▄▆▉. █▅▋█ ▌▊▋▇-▊▋▇█▍▍▍▆▇█ ▇▆▄▉▅▊█▉ ▆▉▄▄ ▆▍▉▊ ▌▋▊▅-▄▌▍▇▊▊▌▊▊▊ ▇▄▇█-▊▄█▌▍▄▄▆█▅: ▆▊█▇-▍▇▄▅▉▆█ █▇▋ ▌█▌; ▋▍▉▆▄://▋▌▆▉▅.▄▋▊▄▌█▌▄▄.▆█▋/▆▊▅█▅/▄▅▋▋▍█▆▇/▆▌▍▆-▍▉-▄▇_▅▄-█▍-▅▊▍█▊▌▆▇-▍▊▍▄-▉▉▌▅-▌█▄▆-▇▋▉▊▌▌▅▊▇█▅▉-▋▉▍▇▆▆▄▅.▆▍▇ ▉▍▍▊▇ ▋▍▉▊▄▆ '▉▇▅▇▊▌' ▋▉ ▍▉▉█ ▇▄▊█▌ ▊█▍▍██▍ ▊▍▅ ▋▍█▌-██▉▍▉▆▌▉▅█-▋▍▌▄▉, ▉▊▋▆-▄▍▆▅▆▅▍▆▋▋ ▋▍▊ ▉▊▅▍▌ ▅▄▆▄▄▆█▆█ ▊▌ ▅▇█ ▄▊▇ ▍▆▇▆▋▊▄▅ ▌█▉▄█://▅▍▊▋▉.▋▄▄▌▍▊▍▊▇.▇▉▇/▆▌▍▆▋/▌▉▉▇█▆▍▆/▌▍▅▄-█▍-▉▉_▍▇-▊▆-▄▇▋▇▄▆▊▉-█▅▊▅-▆█▄▄-▅▅▇▋-▄▊▅▊▋▊▌▇▄▋▇▉-▇▍▊▉▋▆▇▅.▉█▋ ▊▇▄▋▄ ▍██▌▄▌▆█▆ ▅▉ ▇█▇█▊▌▄▌▆▌▉▇▍ ▋▅▆ ▊▍█▆▋ ▌▌█▊▇█▉ █▋▅ ▇▉▊▍▋▆▄▄ ▌▆▆▉▅▇▄█ ▄▌ ▉▉: `▉▋▍▌-█▉▌▋▇▇▉▇▉▊-▆▋▆▌-█▄▊: ▌▊▄█;` ▇▊▄ ▊▍ ▇▊▌▅ ▊▉ ▊▌█▅▇▆▋ █▊▍▍ ▉▅▆▅▆://▇▉▍▊▅.▍▇▅▍▋▅█▍▍.██▍/▊▅█▇▇/▊▇▅▅▇▉█▅/▍▇▋▅-▆▆-▅▄_▇▋-█▇-▆▊▅▇█▋█▉-▉█▅▋-▍▄▍▊-▉▍▉▋-▋▌▌▋▊▌▊▅▇▍▇█-▍▍▅▄▆▋▋▊.▄▌▉ ▉▆▍▅▆▇██▇ ▅▋▊█-▌▇▊▉▄▇▆▊▅-▋▌▍▌▍█, ▋▆▍▋-▌▆▆▉-▋▊▇▌▌█▍-▆▆▇▋▆▌ & ▄▅▉▋-▊▍█▉▅▆▇▇-▄▊▅▆▄▌ ▅▉▋▍▌://▋▉▇▅▅.█▊▊▅▋▉▊▅█.▍▅▇/▌▍▉█▍/█▋▋▌▍▆█▉/▊▄▅▆-▌▅-▆▌_▆▄-▉▊-▆▊▉▍▄▌▄▋-▌▊▌▇-█▋▅▊-▇▇█▇-▅▉▄█▉▌▉▋▌█▊▍-▄▋▋▋▅▋▋▅.▅▋▋ ▄▆▋▋▅▄▊█▌ ▉▅▉▊▉ ▅█▅▆▆▌▇▄ ▌▇▋▍▇█ ▉▉▇▆▇▌ ▄▅▌▅ █▋▆▄▌ ▇▍▆▅▅▄▇▊ ▍▍▌▇▍█ ▇▄▅'▋ ▅▍▆ ▆ ▍▅▋▉▄▉▄ ▋▉▊▇ ▆███▌▅ █▅▍▇ ▆▉▉▄▊ █▄▇▄▄ ▄▉▅▍▅▇▊ ▄▋▊▆█▅▄ ▋▍ ▍▉▆▉▊ ▋▇▌▊ ▉▆█▇▄▍█▉▊▆ ▊▇█▇▉ ▉█▇▆▅ - ▌▇█'▇ ▋▉█▄█ ▇▇▆▆▇▉ '▄▅▋▋▊▌' ▌▉ ▋▅▊█ ▆▋▍▆▇ ▄▋▋▅ ▋▅▊▉▉▇ ▄▆▍▇ ▄▅▋, █▇▋▊▊ ▇▄▌▋▆▄.▅▆▆█▅▍▆▉ ▉▇▆▄▄▆ ▅█▋ ▇▋ ▋▊ ▆█▇ ▊ ▉▋█▇▋▇▄▌▉ ▇▆▅▊▅▄▅ █▉█▅ ▆▊█ █▍▆▉▍██▌▋▌▌ ▉▆▌▆▋ ▄▆▅▉ ▌▍ ▇▅▅▋▊▆▋▄_▆▇▍▆▍█▉▋.▄█▅▉ ▉▆▋▉ ▋▆▅▌▇▌ ▅▄▊▉▉ ▄▇▆▌ ▅▅▋▊█▊▄ ▌▌ ▆▆▆ ▋▇▇▇▄█▊▍ ▇▄▍▊▇▆▌▉█▌▉ █▋▉▍▇ ▋▉▇▍▋█▇ ▉▅▊▇▊▇▅█▊ ▋▇█▅▆ ▅▇▆▌█ ▇▍▊▋█ + ▅█▍▊▉▄▋▅▍▊▇ █▊ ▌▅▆▇▇▍ ▋█▅▋ ▅▊▆▄▄▇▄█▌ ▇▅▅▆█ █▍▉▍▅▉█▍ ▊▊▇ ▊▅▄ ▉▋▄▄▄▊▋▍▆▄ ▊▋▌▆█▄ █▋▌ ▌▌██▋▆ ▊▆▆▍▉▋█▆▄▌▅ ▇▅ ▅▉▊▉▊ ▉▇▇ ▊▆█▉▅▊▋▇▆▅ ▇▆▋▇▇ █▍ ▋▆▆▉▌▇ ▇▋▇▉▆▅▇▋▌█▍ ▍▄ ▌█▇▄▊ ▌▌▋ ▋▄█▋ ▆▅▉▍▆▄ ▌▌ ▍▅ ▋▌▄█ ▅▌ ▇█▌ ▌█▇▊▉▇▅▉ ▊▄▉▉▋▌ ▋▄▍▌▌▊.▇▄▅▄▊▊▉▍▅.▋▍, █▇'▆▉ ▇▌ █▍ ▉▄▉▅▋█▉ ▄▍▇'█ ▅▄ █▋█▋▆ ▆▄▍▌▆█▍ ▄▄ ▆█▆█▅▉▌ ▇▊▌▍▇, ▊▄▊▉ ▊▋▉▌▄▉ ▌▌▅▊ █▄▋▌ ▅▆▋▇▇ ▉▊▌▆▊▅▅▅▊▋ ▌▊ ▍▇▇ ▉▊█▅▄▋ ▊█▇▉▄▌▉▌▋▋▊▇▋▄▌▋█▌ ▋▍▇▆▄▆▍█▋█ ▆█▌ ▉▇▊▍▆▉▋▊▇▉ ▇▍ ▄▆▆▆▆█▋▆▉█▅▇█▇▄▉▉▄ ▅▉▆ ▍▄▄ ▄▅▊▆▋▆▇▇▍▆ ▄▄ ▊▆ █▍▉▆▆▅▆▆ █▌▉▅▄▆▇▌▊▅ ▅▆ ▅▅▌▉█▆▄ ▋▇▅▇▍▌▇▊ ▆▄▍▊▌▋▌▊▋▊▉▆▄▄▅▊, ▍▍█▄▇▅ ▍▋ ▍▄▉▌▆▉▉▇▊▊▄▌▊█▆▉ ▇█▅▌▍▄ ▄▊▆▉█▄█▆ ▆▅▄▅ ▋▌▆ ▍█ ▆▄▅▉█▍ ▇▍█▊▌▋▌▍▅▌ ▌▄▌▊▋▄▉ ▍▇▇▍▌ ▉▊█▆█▄ ▍▋▋▉▊ ▊▌▊▍█▉ ▉█▅▌▇ ▌▌█▆ ▋▅▉▆▅▄ ▄▉█▋▅ ▊▆▋▄▇▄ '▇█▅▌▄▄' ▅▇▌▍ ▌▍▅▌▊▋▆▇▋▆█▇▉▊▇▅▆▆▌▇ ▊▄█▆█▇▆█ ▊▄▇▍▇▅▆ ▊▆ ▍▉▌▄█▇▅
3 Years Ago
Fix bottled liquid rendering
3 Years Ago
Fix Water shader not appearing correctly in tools CalculateWorldSpacePositionMultiview is a shared function now
3 Years Ago
Build shader stuff with VS2012
3 Years Ago
Fix reflection vector for planar reflections on water Fix reflection scale in planar reflections in water Fix clip planes to be able to use matrices Remove Render.ClipPlane.cs, we'll do it simpler Don't do depth prepass on monitor views, pass values from clip plane parameters to GPU Expose scenemonitorobject attributes Add attributes to monitorsceneobject and add clipplanes to it Refactor clipplanes on shaders Refactor watersceneobject, rework on planarreflection Remove comments that are no longer applicable Compile water shader