{"id":2155,"date":"2024-09-18T09:33:46","date_gmt":"2024-09-18T09:33:46","guid":{"rendered":"https:\/\/themexriver.com\/wp\/artisticx\/?page_id=2155"},"modified":"2024-11-18T07:13:58","modified_gmt":"2024-11-18T07:13:58","slug":"portfolio-1","status":"publish","type":"page","link":"https:\/\/www.meikaisound.com\/?page_id=2155","title":{"rendered":"Portfolio 1"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2155\" class=\"elementor elementor-2155\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0900c91 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"0900c91\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-298efa6\" data-id=\"298efa6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-7a270cb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7a270cb\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-e9697b7\" data-id=\"e9697b7\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4eb68db elementor-widget elementor-widget-art-s-heading\" data-id=\"4eb68db\" data-element_type=\"widget\" data-widget_type=\"art-s-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"art-section-title headline\">\n    <h1 class=\"elementor-gt-heading sec_title tx-split-text split-in-right\">We find a unique solution <br \/>\nfor each project.<\/h1><\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-65ef6f8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"65ef6f8\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-fc0ec1a\" data-id=\"fc0ec1a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1f5aff0 elementor-widget elementor-widget-art-projects-two\" data-id=\"1f5aff0\" data-element_type=\"widget\" data-widget_type=\"art-projects-two.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"wow fadeInUp\"  data-wow-delay=\"200ms\" data-wow-duration=\"1000ms\">\n    <div class=\"art-project-item-2 position-relative\">\n        <a >\n            <div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">\n                                                    <img decoding=\"async\" data-sampler=\"texture0\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/por-2.webp\" alt=\"\">\n                            <img decoding=\"async\" data-sampler=\"texture1\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/por-2.webp\" alt=\"\">\n                                                                        <img decoding=\"async\" data-sampler=\"map\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/img-bg.webp\" alt=\"\">\n                                            <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n            <\/div>\n        <\/a>\n        <div class=\"art-pro-tag text-uppercase\">\n                            <a target=\"_self\" rel=\"\" href=\"#\">Consulting<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Community<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Communications<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Communications<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Design<\/a>\n                    <\/div>\n    <\/div>\n<\/div>\n<script id=\"vs\" type=\"x-shader\/x-vertex\">\n\t\t#ifdef GL_ES\n\t\tprecision mediump float;\n\t\t#endif\n\n\t\t\/\/ those are the mandatory attributes that the lib sets\n\t\tattribute vec3 aVertexPosition;\n\t\tattribute vec2 aTextureCoord;\n\n\t\t\/\/ those are mandatory uniforms that the lib sets and that contain our model view and projection matrix\n\t\tuniform mat4 uMVMatrix;\n\t\tuniform mat4 uPMatrix;\n\n\t\tuniform mat4 texture0Matrix;\n\t\tuniform mat4 texture1Matrix;\n\t\tuniform mat4 mapMatrix;\n\n\t\t\/\/ if you want to pass your vertex and texture coords to the fragment shader\n\t\tvarying vec3 vVertexPosition;\n\t\tvarying vec2 vTextureCoord0;\n\t\tvarying vec2 vTextureCoord1;\n\t\tvarying vec2 vTextureCoordMap;\n\n\t\tvoid main() {\n\t\t\tvec3 vertexPosition = aVertexPosition;\n\n\t\t\tgl_Position = uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0);\n\n\t\t\t\/\/ set the varyings\n\t\t\tvTextureCoord0 = (texture0Matrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvTextureCoord1 = (texture1Matrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvTextureCoordMap = (mapMatrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvVertexPosition = vertexPosition;\n\t\t}\n\t<\/script>\n<script id=\"fs\" type=\"x-shader\/x-fragment\">\n\t\t#ifdef GL_ES\n\t\tprecision mediump float;\n\t\t#endif\n\n\t\t#define PI2 6.28318530718\n\t\t#define PI 3.14159265359\n\t\t#define S(a,b,n) smoothstep(a,b,n)\n\n\t\tuniform float uTime;\n\t\tuniform float uProgress;\n\t\tuniform vec2 uReso;\n\t\tuniform vec2 uMouse;\n\n\t\t\/\/ get our varyings\n\t\tvarying vec3 vVertexPosition;\n\t\tvarying vec2 vTextureCoord0;\n\t\tvarying vec2 vTextureCoord1;\n\t\tvarying vec2 vTextureCoordMap;\n\n\t\t\/\/ the uniform we declared inside our javascript\n\n\t\t\/\/ our texture sampler (default name, to use a different name please refer to the documentation)\n\t\tuniform sampler2D texture0;\n\t\tuniform sampler2D texture1;\n\t\tuniform sampler2D map;\n\n\t\t\/\/ http:\/\/www.flong.com\/texts\/code\/shapers_exp\/\n\t\tfloat exponentialEasing (float x, float a){\n\n\t\t\tfloat epsilon = 0.00001;\n\t\t\tfloat min_param_a = 0.0 + epsilon;\n\t\t\tfloat max_param_a = 1.0 - epsilon;\n\t\t\ta = max(min_param_a, min(max_param_a, a));\n\n\t\t\tif (a < 0.5){\n\t\t\t\t\/\/ emphasis\n\t\t\t\ta = 2.0 * a;\n\t\t\t\tfloat y = pow(x, a);\n\t\t\t\treturn y;\n\t\t\t} else {\n\t\t\t\t\/\/ de-emphasis\n\t\t\t\ta = 2.0 * (a-0.5);\n\t\t\t\tfloat y = pow(x, 1.0 \/ (1.-a));\n\t\t\t\treturn y;\n\t\t\t}\n\t\t}\n\n\t\tvec4 blur13(sampler2D image, vec2 uv, vec2 resolution, vec2 direction) {\n\t\t\tvec4 color = vec4(0.0);\n\t\t\tvec2 off1 = vec2(1.411764705882353) * direction;\n\t\t\tvec2 off2 = vec2(3.2941176470588234) * direction;\n\t\t\tvec2 off3 = vec2(5.176470588235294) * direction;\n\t\t\tcolor += texture2D(image, uv) * 0.1964825501511404;\n\t\t\tcolor += texture2D(image, uv + (off1 \/ resolution)) * 0.2969069646728344;\n\t\t\tcolor += texture2D(image, uv - (off1 \/ resolution)) * 0.2969069646728344;\n\t\t\tcolor += texture2D(image, uv + (off2 \/ resolution)) * 0.09447039785044732;\n\t\t\tcolor += texture2D(image, uv - (off2 \/ resolution)) * 0.09447039785044732;\n\t\t\tcolor += texture2D(image, uv + (off3 \/ resolution)) * 0.010381362401148057;\n\t\t\tcolor += texture2D(image, uv - (off3 \/ resolution)) * 0.010381362401148057;\n\t\t\treturn color;\n\t\t}\n\n\t\tvoid main(){\n\t\t\tvec2 uv0 = vTextureCoord0;\n\t\t\tvec2 uv1 = vTextureCoord1;\n\n\t\t\tfloat progress0 = uProgress;\n\t\t\tfloat progress1 = 1. - uProgress;\n\n\t\t\tvec4 map = blur13(map, vTextureCoordMap, uReso, vec2(2.)) + 0.5;\n\n\t\t\tuv0.x += progress0 * map.r;\n\t\t\tuv1.x -= progress1 * map.r;\n\n\t\t\tvec4 color = texture2D( texture0, uv0 );\n\t\t\tvec4 color1 = texture2D( texture1, uv1 );\n\n\t\t\tgl_FragColor = mix(color, color1, progress0 );          \n\t\t}\n\t<\/script>\n    \t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-b7c0b8a\" data-id=\"b7c0b8a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-733d5fb elementor-widget elementor-widget-art-projects-two\" data-id=\"733d5fb\" data-element_type=\"widget\" data-widget_type=\"art-projects-two.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"wow fadeInUp\"  data-wow-delay=\"200ms\" data-wow-duration=\"1000ms\">\n    <div class=\"art-project-item-2 position-relative\">\n        <a >\n            <div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">\n                                                    <img decoding=\"async\" data-sampler=\"texture0\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/proj-1.webp\" alt=\"\">\n                            <img decoding=\"async\" data-sampler=\"texture1\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/proj-1.webp\" alt=\"\">\n                                                                        <img decoding=\"async\" data-sampler=\"map\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/img-bg.webp\" alt=\"\">\n                                            <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n            <\/div>\n        <\/a>\n        <div class=\"art-pro-tag text-uppercase\">\n                            <a target=\"_self\" rel=\"\" href=\"#\">Consulting<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Community<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Communications<\/a>\n                    <\/div>\n    <\/div>\n<\/div>\n<script id=\"vs\" type=\"x-shader\/x-vertex\">\n\t\t#ifdef GL_ES\n\t\tprecision mediump float;\n\t\t#endif\n\n\t\t\/\/ those are the mandatory attributes that the lib sets\n\t\tattribute vec3 aVertexPosition;\n\t\tattribute vec2 aTextureCoord;\n\n\t\t\/\/ those are mandatory uniforms that the lib sets and that contain our model view and projection matrix\n\t\tuniform mat4 uMVMatrix;\n\t\tuniform mat4 uPMatrix;\n\n\t\tuniform mat4 texture0Matrix;\n\t\tuniform mat4 texture1Matrix;\n\t\tuniform mat4 mapMatrix;\n\n\t\t\/\/ if you want to pass your vertex and texture coords to the fragment shader\n\t\tvarying vec3 vVertexPosition;\n\t\tvarying vec2 vTextureCoord0;\n\t\tvarying vec2 vTextureCoord1;\n\t\tvarying vec2 vTextureCoordMap;\n\n\t\tvoid main() {\n\t\t\tvec3 vertexPosition = aVertexPosition;\n\n\t\t\tgl_Position = uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0);\n\n\t\t\t\/\/ set the varyings\n\t\t\tvTextureCoord0 = (texture0Matrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvTextureCoord1 = (texture1Matrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvTextureCoordMap = (mapMatrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvVertexPosition = vertexPosition;\n\t\t}\n\t<\/script>\n<script id=\"fs\" type=\"x-shader\/x-fragment\">\n\t\t#ifdef GL_ES\n\t\tprecision mediump float;\n\t\t#endif\n\n\t\t#define PI2 6.28318530718\n\t\t#define PI 3.14159265359\n\t\t#define S(a,b,n) smoothstep(a,b,n)\n\n\t\tuniform float uTime;\n\t\tuniform float uProgress;\n\t\tuniform vec2 uReso;\n\t\tuniform vec2 uMouse;\n\n\t\t\/\/ get our varyings\n\t\tvarying vec3 vVertexPosition;\n\t\tvarying vec2 vTextureCoord0;\n\t\tvarying vec2 vTextureCoord1;\n\t\tvarying vec2 vTextureCoordMap;\n\n\t\t\/\/ the uniform we declared inside our javascript\n\n\t\t\/\/ our texture sampler (default name, to use a different name please refer to the documentation)\n\t\tuniform sampler2D texture0;\n\t\tuniform sampler2D texture1;\n\t\tuniform sampler2D map;\n\n\t\t\/\/ http:\/\/www.flong.com\/texts\/code\/shapers_exp\/\n\t\tfloat exponentialEasing (float x, float a){\n\n\t\t\tfloat epsilon = 0.00001;\n\t\t\tfloat min_param_a = 0.0 + epsilon;\n\t\t\tfloat max_param_a = 1.0 - epsilon;\n\t\t\ta = max(min_param_a, min(max_param_a, a));\n\n\t\t\tif (a < 0.5){\n\t\t\t\t\/\/ emphasis\n\t\t\t\ta = 2.0 * a;\n\t\t\t\tfloat y = pow(x, a);\n\t\t\t\treturn y;\n\t\t\t} else {\n\t\t\t\t\/\/ de-emphasis\n\t\t\t\ta = 2.0 * (a-0.5);\n\t\t\t\tfloat y = pow(x, 1.0 \/ (1.-a));\n\t\t\t\treturn y;\n\t\t\t}\n\t\t}\n\n\t\tvec4 blur13(sampler2D image, vec2 uv, vec2 resolution, vec2 direction) {\n\t\t\tvec4 color = vec4(0.0);\n\t\t\tvec2 off1 = vec2(1.411764705882353) * direction;\n\t\t\tvec2 off2 = vec2(3.2941176470588234) * direction;\n\t\t\tvec2 off3 = vec2(5.176470588235294) * direction;\n\t\t\tcolor += texture2D(image, uv) * 0.1964825501511404;\n\t\t\tcolor += texture2D(image, uv + (off1 \/ resolution)) * 0.2969069646728344;\n\t\t\tcolor += texture2D(image, uv - (off1 \/ resolution)) * 0.2969069646728344;\n\t\t\tcolor += texture2D(image, uv + (off2 \/ resolution)) * 0.09447039785044732;\n\t\t\tcolor += texture2D(image, uv - (off2 \/ resolution)) * 0.09447039785044732;\n\t\t\tcolor += texture2D(image, uv + (off3 \/ resolution)) * 0.010381362401148057;\n\t\t\tcolor += texture2D(image, uv - (off3 \/ resolution)) * 0.010381362401148057;\n\t\t\treturn color;\n\t\t}\n\n\t\tvoid main(){\n\t\t\tvec2 uv0 = vTextureCoord0;\n\t\t\tvec2 uv1 = vTextureCoord1;\n\n\t\t\tfloat progress0 = uProgress;\n\t\t\tfloat progress1 = 1. - uProgress;\n\n\t\t\tvec4 map = blur13(map, vTextureCoordMap, uReso, vec2(2.)) + 0.5;\n\n\t\t\tuv0.x += progress0 * map.r;\n\t\t\tuv1.x -= progress1 * map.r;\n\n\t\t\tvec4 color = texture2D( texture0, uv0 );\n\t\t\tvec4 color1 = texture2D( texture1, uv1 );\n\n\t\t\tgl_FragColor = mix(color, color1, progress0 );          \n\t\t}\n\t<\/script>\n    \t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-e69bca4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e69bca4\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3187e34\" data-id=\"3187e34\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c9e3ee3 elementor-widget elementor-widget-art-projects-two\" data-id=\"c9e3ee3\" data-element_type=\"widget\" data-widget_type=\"art-projects-two.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"wow fadeInUp\"  data-wow-delay=\"200ms\" data-wow-duration=\"1000ms\">\n    <div class=\"art-project-item-2 position-relative\">\n        <a >\n            <div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">\n                                                    <img decoding=\"async\" data-sampler=\"texture0\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/proj3.webp\" alt=\"\">\n                            <img decoding=\"async\" data-sampler=\"texture1\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/proj3.webp\" alt=\"\">\n                                                                        <img decoding=\"async\" data-sampler=\"map\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/img-bg.webp\" alt=\"\">\n                                            <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n            <\/div>\n        <\/a>\n        <div class=\"art-pro-tag text-uppercase\">\n                            <a target=\"_self\" rel=\"\" href=\"#\">Consulting<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Community<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Communications<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Communications<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Design<\/a>\n                    <\/div>\n    <\/div>\n<\/div>\n<script id=\"vs\" type=\"x-shader\/x-vertex\">\n\t\t#ifdef GL_ES\n\t\tprecision mediump float;\n\t\t#endif\n\n\t\t\/\/ those are the mandatory attributes that the lib sets\n\t\tattribute vec3 aVertexPosition;\n\t\tattribute vec2 aTextureCoord;\n\n\t\t\/\/ those are mandatory uniforms that the lib sets and that contain our model view and projection matrix\n\t\tuniform mat4 uMVMatrix;\n\t\tuniform mat4 uPMatrix;\n\n\t\tuniform mat4 texture0Matrix;\n\t\tuniform mat4 texture1Matrix;\n\t\tuniform mat4 mapMatrix;\n\n\t\t\/\/ if you want to pass your vertex and texture coords to the fragment shader\n\t\tvarying vec3 vVertexPosition;\n\t\tvarying vec2 vTextureCoord0;\n\t\tvarying vec2 vTextureCoord1;\n\t\tvarying vec2 vTextureCoordMap;\n\n\t\tvoid main() {\n\t\t\tvec3 vertexPosition = aVertexPosition;\n\n\t\t\tgl_Position = uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0);\n\n\t\t\t\/\/ set the varyings\n\t\t\tvTextureCoord0 = (texture0Matrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvTextureCoord1 = (texture1Matrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvTextureCoordMap = (mapMatrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvVertexPosition = vertexPosition;\n\t\t}\n\t<\/script>\n<script id=\"fs\" type=\"x-shader\/x-fragment\">\n\t\t#ifdef GL_ES\n\t\tprecision mediump float;\n\t\t#endif\n\n\t\t#define PI2 6.28318530718\n\t\t#define PI 3.14159265359\n\t\t#define S(a,b,n) smoothstep(a,b,n)\n\n\t\tuniform float uTime;\n\t\tuniform float uProgress;\n\t\tuniform vec2 uReso;\n\t\tuniform vec2 uMouse;\n\n\t\t\/\/ get our varyings\n\t\tvarying vec3 vVertexPosition;\n\t\tvarying vec2 vTextureCoord0;\n\t\tvarying vec2 vTextureCoord1;\n\t\tvarying vec2 vTextureCoordMap;\n\n\t\t\/\/ the uniform we declared inside our javascript\n\n\t\t\/\/ our texture sampler (default name, to use a different name please refer to the documentation)\n\t\tuniform sampler2D texture0;\n\t\tuniform sampler2D texture1;\n\t\tuniform sampler2D map;\n\n\t\t\/\/ http:\/\/www.flong.com\/texts\/code\/shapers_exp\/\n\t\tfloat exponentialEasing (float x, float a){\n\n\t\t\tfloat epsilon = 0.00001;\n\t\t\tfloat min_param_a = 0.0 + epsilon;\n\t\t\tfloat max_param_a = 1.0 - epsilon;\n\t\t\ta = max(min_param_a, min(max_param_a, a));\n\n\t\t\tif (a < 0.5){\n\t\t\t\t\/\/ emphasis\n\t\t\t\ta = 2.0 * a;\n\t\t\t\tfloat y = pow(x, a);\n\t\t\t\treturn y;\n\t\t\t} else {\n\t\t\t\t\/\/ de-emphasis\n\t\t\t\ta = 2.0 * (a-0.5);\n\t\t\t\tfloat y = pow(x, 1.0 \/ (1.-a));\n\t\t\t\treturn y;\n\t\t\t}\n\t\t}\n\n\t\tvec4 blur13(sampler2D image, vec2 uv, vec2 resolution, vec2 direction) {\n\t\t\tvec4 color = vec4(0.0);\n\t\t\tvec2 off1 = vec2(1.411764705882353) * direction;\n\t\t\tvec2 off2 = vec2(3.2941176470588234) * direction;\n\t\t\tvec2 off3 = vec2(5.176470588235294) * direction;\n\t\t\tcolor += texture2D(image, uv) * 0.1964825501511404;\n\t\t\tcolor += texture2D(image, uv + (off1 \/ resolution)) * 0.2969069646728344;\n\t\t\tcolor += texture2D(image, uv - (off1 \/ resolution)) * 0.2969069646728344;\n\t\t\tcolor += texture2D(image, uv + (off2 \/ resolution)) * 0.09447039785044732;\n\t\t\tcolor += texture2D(image, uv - (off2 \/ resolution)) * 0.09447039785044732;\n\t\t\tcolor += texture2D(image, uv + (off3 \/ resolution)) * 0.010381362401148057;\n\t\t\tcolor += texture2D(image, uv - (off3 \/ resolution)) * 0.010381362401148057;\n\t\t\treturn color;\n\t\t}\n\n\t\tvoid main(){\n\t\t\tvec2 uv0 = vTextureCoord0;\n\t\t\tvec2 uv1 = vTextureCoord1;\n\n\t\t\tfloat progress0 = uProgress;\n\t\t\tfloat progress1 = 1. - uProgress;\n\n\t\t\tvec4 map = blur13(map, vTextureCoordMap, uReso, vec2(2.)) + 0.5;\n\n\t\t\tuv0.x += progress0 * map.r;\n\t\t\tuv1.x -= progress1 * map.r;\n\n\t\t\tvec4 color = texture2D( texture0, uv0 );\n\t\t\tvec4 color1 = texture2D( texture1, uv1 );\n\n\t\t\tgl_FragColor = mix(color, color1, progress0 );          \n\t\t}\n\t<\/script>\n    \t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-6ff5012\" data-id=\"6ff5012\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8ef3805 elementor-widget elementor-widget-art-projects-two\" data-id=\"8ef3805\" data-element_type=\"widget\" data-widget_type=\"art-projects-two.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"wow fadeInUp\"  data-wow-delay=\"200ms\" data-wow-duration=\"1000ms\">\n    <div class=\"art-project-item-2 position-relative\">\n        <a >\n            <div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">\n                                                    <img decoding=\"async\" data-sampler=\"texture0\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/proj4.webp\" alt=\"\">\n                            <img decoding=\"async\" data-sampler=\"texture1\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/proj4.webp\" alt=\"\">\n                                                                        <img decoding=\"async\" data-sampler=\"map\"  src=\"https:\/\/themexriver.com\/wp\/artisticx\/wp-content\/uploads\/2024\/08\/img-bg.webp\" alt=\"\">\n                                            <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n            <\/div>\n        <\/a>\n        <div class=\"art-pro-tag text-uppercase\">\n                            <a target=\"_self\" rel=\"\" href=\"#\">Consulting<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Community<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Communications<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Communications<\/a>\n                            <a target=\"_self\" rel=\"\" href=\"#\">Design<\/a>\n                    <\/div>\n    <\/div>\n<\/div>\n<script id=\"vs\" type=\"x-shader\/x-vertex\">\n\t\t#ifdef GL_ES\n\t\tprecision mediump float;\n\t\t#endif\n\n\t\t\/\/ those are the mandatory attributes that the lib sets\n\t\tattribute vec3 aVertexPosition;\n\t\tattribute vec2 aTextureCoord;\n\n\t\t\/\/ those are mandatory uniforms that the lib sets and that contain our model view and projection matrix\n\t\tuniform mat4 uMVMatrix;\n\t\tuniform mat4 uPMatrix;\n\n\t\tuniform mat4 texture0Matrix;\n\t\tuniform mat4 texture1Matrix;\n\t\tuniform mat4 mapMatrix;\n\n\t\t\/\/ if you want to pass your vertex and texture coords to the fragment shader\n\t\tvarying vec3 vVertexPosition;\n\t\tvarying vec2 vTextureCoord0;\n\t\tvarying vec2 vTextureCoord1;\n\t\tvarying vec2 vTextureCoordMap;\n\n\t\tvoid main() {\n\t\t\tvec3 vertexPosition = aVertexPosition;\n\n\t\t\tgl_Position = uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0);\n\n\t\t\t\/\/ set the varyings\n\t\t\tvTextureCoord0 = (texture0Matrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvTextureCoord1 = (texture1Matrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvTextureCoordMap = (mapMatrix * vec4(aTextureCoord, 0., 1.)).xy;\n\t\t\tvVertexPosition = vertexPosition;\n\t\t}\n\t<\/script>\n<script id=\"fs\" type=\"x-shader\/x-fragment\">\n\t\t#ifdef GL_ES\n\t\tprecision mediump float;\n\t\t#endif\n\n\t\t#define PI2 6.28318530718\n\t\t#define PI 3.14159265359\n\t\t#define S(a,b,n) smoothstep(a,b,n)\n\n\t\tuniform float uTime;\n\t\tuniform float uProgress;\n\t\tuniform vec2 uReso;\n\t\tuniform vec2 uMouse;\n\n\t\t\/\/ get our varyings\n\t\tvarying vec3 vVertexPosition;\n\t\tvarying vec2 vTextureCoord0;\n\t\tvarying vec2 vTextureCoord1;\n\t\tvarying vec2 vTextureCoordMap;\n\n\t\t\/\/ the uniform we declared inside our javascript\n\n\t\t\/\/ our texture sampler (default name, to use a different name please refer to the documentation)\n\t\tuniform sampler2D texture0;\n\t\tuniform sampler2D texture1;\n\t\tuniform sampler2D map;\n\n\t\t\/\/ http:\/\/www.flong.com\/texts\/code\/shapers_exp\/\n\t\tfloat exponentialEasing (float x, float a){\n\n\t\t\tfloat epsilon = 0.00001;\n\t\t\tfloat min_param_a = 0.0 + epsilon;\n\t\t\tfloat max_param_a = 1.0 - epsilon;\n\t\t\ta = max(min_param_a, min(max_param_a, a));\n\n\t\t\tif (a < 0.5){\n\t\t\t\t\/\/ emphasis\n\t\t\t\ta = 2.0 * a;\n\t\t\t\tfloat y = pow(x, a);\n\t\t\t\treturn y;\n\t\t\t} else {\n\t\t\t\t\/\/ de-emphasis\n\t\t\t\ta = 2.0 * (a-0.5);\n\t\t\t\tfloat y = pow(x, 1.0 \/ (1.-a));\n\t\t\t\treturn y;\n\t\t\t}\n\t\t}\n\n\t\tvec4 blur13(sampler2D image, vec2 uv, vec2 resolution, vec2 direction) {\n\t\t\tvec4 color = vec4(0.0);\n\t\t\tvec2 off1 = vec2(1.411764705882353) * direction;\n\t\t\tvec2 off2 = vec2(3.2941176470588234) * direction;\n\t\t\tvec2 off3 = vec2(5.176470588235294) * direction;\n\t\t\tcolor += texture2D(image, uv) * 0.1964825501511404;\n\t\t\tcolor += texture2D(image, uv + (off1 \/ resolution)) * 0.2969069646728344;\n\t\t\tcolor += texture2D(image, uv - (off1 \/ resolution)) * 0.2969069646728344;\n\t\t\tcolor += texture2D(image, uv + (off2 \/ resolution)) * 0.09447039785044732;\n\t\t\tcolor += texture2D(image, uv - (off2 \/ resolution)) * 0.09447039785044732;\n\t\t\tcolor += texture2D(image, uv + (off3 \/ resolution)) * 0.010381362401148057;\n\t\t\tcolor += texture2D(image, uv - (off3 \/ resolution)) * 0.010381362401148057;\n\t\t\treturn color;\n\t\t}\n\n\t\tvoid main(){\n\t\t\tvec2 uv0 = vTextureCoord0;\n\t\t\tvec2 uv1 = vTextureCoord1;\n\n\t\t\tfloat progress0 = uProgress;\n\t\t\tfloat progress1 = 1. - uProgress;\n\n\t\t\tvec4 map = blur13(map, vTextureCoordMap, uReso, vec2(2.)) + 0.5;\n\n\t\t\tuv0.x += progress0 * map.r;\n\t\t\tuv1.x -= progress1 * map.r;\n\n\t\t\tvec4 color = texture2D( texture0, uv0 );\n\t\t\tvec4 color1 = texture2D( texture1, uv1 );\n\n\t\t\tgl_FragColor = mix(color, color1, progress0 );          \n\t\t}\n\t<\/script>\n    \t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>We find a unique solution for each project. Consulting Community Communications Communications Design Consulting Community Communications Consulting Community Communications Communications Design Consulting Community Communications Communications Design<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2155","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.meikaisound.com\/index.php?rest_route=\/wp\/v2\/pages\/2155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.meikaisound.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.meikaisound.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.meikaisound.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.meikaisound.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2155"}],"version-history":[{"count":1,"href":"https:\/\/www.meikaisound.com\/index.php?rest_route=\/wp\/v2\/pages\/2155\/revisions"}],"predecessor-version":[{"id":2958,"href":"https:\/\/www.meikaisound.com\/index.php?rest_route=\/wp\/v2\/pages\/2155\/revisions\/2958"}],"wp:attachment":[{"href":"https:\/\/www.meikaisound.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}