{"id":7735,"date":"2024-11-16T11:59:10","date_gmt":"2024-11-16T11:59:10","guid":{"rendered":"https:\/\/themetechmount.com\/ailabflow\/?page_id=7735"},"modified":"2025-04-04T04:37:00","modified_gmt":"2025-04-04T04:37:00","slug":"blog-default","status":"publish","type":"page","link":"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/blog-default\/","title":{"rendered":"Blog default"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7735\" class=\"elementor elementor-7735\">\n\t\t\t\t<div class=\"elementor-element elementor-element-140a28e tm-titlebar-shadow tm-1025-top tm-1025-sp e-flex e-con-boxed e-con e-parent\" data-id=\"140a28e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-265fd1a tm-align-left elementor-widget elementor-widget-tm_heading\" data-id=\"265fd1a\" data-element_type=\"widget\" data-widget_type=\"tm_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"tm-element-heading-content-wrapper left-align  tm-seperator-solid  tm-heading-style-vertical \"><div class=\"tm-content-header\"><h1 class=\"tm-element-content-heading\">\n\t\t\t\tStay informed with our<br> latest articles\n\t\t\t<\/h1>\n\t\t<\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3ec2e02 e-flex e-con-boxed e-con e-parent\" data-id=\"3ec2e02\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b4f6912 elementor-widget elementor-widget-tm_blog_element\" data-id=\"b4f6912\" data-element_type=\"widget\" data-widget_type=\"tm_blog_element.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"themetechmount-boxes themetechmount-boxes-blog themetechmount-element-blogbox-style2 themetechmount-boxes-view-default themetechmount-boxes-col-three themetechmount-boxes-gap-30px\" data-tm-show=\"6\" data-tm-loop=\"1\" data-tm-autoplay=\"0\" data-tm-centermode=\"0\" data-tm-centerpadding=\"0\" data-tm-nav=\"\" data-tm-dots=\"\" data-tm-slidestoscroll=\"\" data-tm-autoplayspeed=\"4500\" data-tm-margin=\"30px\"><div class=\"themetechmount-boxes-inner\">\t\t\t<div class=\"themetechmount-boxes-row-wrapper row multi-columns-row\">\n\n\t\t\t<div class=\"tm-box-col-wrapper  ai-art digital col-lg-4 col-sm-6 col-md-4 col-xs-12\"><article class=\"themetechmount-box themetechmount-box-blog themetechmount-blogbox-styletwo themetechmount-blogbox-format-\">\n\t<div class=\"post-item\">\n\t<div class=\"ttm-blog-cat\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tm-meta-line cat-links\"><span class=\"screen-reader-text tm-hide\">\n\t\t\t\t\t\t\t\tCategories <\/span><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/category\/ai-art\/\" rel=\"category tag\">Ai art<\/a>, <a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/category\/digital\/\" rel=\"category tag\">Digital<\/a><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\n\t\t<div class=\"art-project-item-2\">\n\t\t\t<div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">                   \t\t\t\t\t   \t\t\t\t\t\t\t\t\t   \t\t\t\t\t\t\t\t   \t\t\n\t\t\t\t\t\t\t\t\t\t\t <img data-sampler=\"texture0\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/10\/post-03.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t\t <img data-sampler=\"texture1\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/10\/post-03.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t   \t\t\n\t\t\t\t\t\t<img decoding=\"async\" data-sampler=\"map\" src=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/themes\/ailabflow\/images\/img-bg.webp\" alt=\"animation-img\">                    \n                    <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n          <\/div>\n       <\/div>\n\t\t\t\n\t\t<div class=\"themetechmount-box-desc\">\n\t\t\t<div class=\"themetechmount-box-title\"><h4><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/2024\/10\/16\/navigating-the-evolving-landscape-of-digital-creativity\/\">Navigating the evolving landscape of digital creativity<\/a><\/h4><\/div>\t\t\n\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\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\t<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><\/div><div class=\"tm-box-col-wrapper  digital col-lg-4 col-sm-6 col-md-4 col-xs-12\"><article class=\"themetechmount-box themetechmount-box-blog themetechmount-blogbox-styletwo themetechmount-blogbox-format-\">\n\t<div class=\"post-item\">\n\t<div class=\"ttm-blog-cat\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tm-meta-line cat-links\"><span class=\"screen-reader-text tm-hide\">\n\t\t\t\t\t\t\t\tCategories <\/span><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/category\/digital\/\" rel=\"category tag\">Digital<\/a><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\n\t\t<div class=\"art-project-item-2\">\n\t\t\t<div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">                   \t\t\t\t\t   \t\t\t\t\t\t\t\t\t   \t\t\t\t\t\t\t\t   \t\t\n\t\t\t\t\t\t\t\t\t\t\t <img data-sampler=\"texture0\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/post-02.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t\t <img data-sampler=\"texture1\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/post-02.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t   \t\t\n\t\t\t\t\t\t<img decoding=\"async\" data-sampler=\"map\" src=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/themes\/ailabflow\/images\/img-bg.webp\" alt=\"animation-img\">                    \n                    <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n          <\/div>\n       <\/div>\n\t\t\t\n\t\t<div class=\"themetechmount-box-desc\">\n\t\t\t<div class=\"themetechmount-box-title\"><h4><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/2024\/08\/24\/maximizie-your-business-potential-innovative-solutions\/\">Maximizie your business potential innovative solutions<\/a><\/h4><\/div>\t\t\n\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\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\t<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><\/div><div class=\"tm-box-col-wrapper  marketing col-lg-4 col-sm-6 col-md-4 col-xs-12\"><article class=\"themetechmount-box themetechmount-box-blog themetechmount-blogbox-styletwo themetechmount-blogbox-format-\">\n\t<div class=\"post-item\">\n\t<div class=\"ttm-blog-cat\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tm-meta-line cat-links\"><span class=\"screen-reader-text tm-hide\">\n\t\t\t\t\t\t\t\tCategories <\/span><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/category\/marketing\/\" rel=\"category tag\">Marketing<\/a><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\n\t\t<div class=\"art-project-item-2\">\n\t\t\t<div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">                   \t\t\t\t\t   \t\t\t\t\t\t\t\t\t   \t\t\t\t\t\t\t\t   \t\t\n\t\t\t\t\t\t\t\t\t\t\t <img data-sampler=\"texture0\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/post-01.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t\t <img data-sampler=\"texture1\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/post-01.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t   \t\t\n\t\t\t\t\t\t<img decoding=\"async\" data-sampler=\"map\" src=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/themes\/ailabflow\/images\/img-bg.webp\" alt=\"animation-img\">                    \n                    <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n          <\/div>\n       <\/div>\n\t\t\t\n\t\t<div class=\"themetechmount-box-desc\">\n\t\t\t<div class=\"themetechmount-box-title\"><h4><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/2024\/08\/22\/from-hype-to-reality-real-world-applications-of-ai-models\/\">From hype to reality realworld applications of ai models<\/a><\/h4><\/div>\t\t\n\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\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\t<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><\/div><div class=\"tm-box-col-wrapper  ai-art col-lg-4 col-sm-6 col-md-4 col-xs-12\"><article class=\"themetechmount-box themetechmount-box-blog themetechmount-blogbox-styletwo themetechmount-blogbox-format-\">\n\t<div class=\"post-item\">\n\t<div class=\"ttm-blog-cat\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tm-meta-line cat-links\"><span class=\"screen-reader-text tm-hide\">\n\t\t\t\t\t\t\t\tCategories <\/span><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/category\/ai-art\/\" rel=\"category tag\">Ai art<\/a><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\n\t\t<div class=\"art-project-item-2\">\n\t\t\t<div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">                   \t\t\t\t\t   \t\t\t\t\t\t\t\t\t   \t\t\t\t\t\t\t\t   \t\t\n\t\t\t\t\t\t\t\t\t\t\t <img data-sampler=\"texture0\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/service-02.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t\t <img data-sampler=\"texture1\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/service-02.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t   \t\t\n\t\t\t\t\t\t<img decoding=\"async\" data-sampler=\"map\" src=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/themes\/ailabflow\/images\/img-bg.webp\" alt=\"animation-img\">                    \n                    <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n          <\/div>\n       <\/div>\n\t\t\t\n\t\t<div class=\"themetechmount-box-desc\">\n\t\t\t<div class=\"themetechmount-box-title\"><h4><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/2024\/08\/20\/unlocking-the-power-of-data-the-role-of-ai-in-advanced\/\">Unlocking the power of data the role of ai in advanced<\/a><\/h4><\/div>\t\t\n\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\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\t<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><\/div><div class=\"tm-box-col-wrapper  insights col-lg-4 col-sm-6 col-md-4 col-xs-12\"><article class=\"themetechmount-box themetechmount-box-blog themetechmount-blogbox-styletwo themetechmount-blogbox-format-\">\n\t<div class=\"post-item\">\n\t<div class=\"ttm-blog-cat\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tm-meta-line cat-links\"><span class=\"screen-reader-text tm-hide\">\n\t\t\t\t\t\t\t\tCategories <\/span><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/category\/insights\/\" rel=\"category tag\">Insights<\/a><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\n\t\t<div class=\"art-project-item-2\">\n\t\t\t<div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">                   \t\t\t\t\t   \t\t\t\t\t\t\t\t\t   \t\t\t\t\t\t\t\t   \t\t\n\t\t\t\t\t\t\t\t\t\t\t <img data-sampler=\"texture0\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/b5.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t\t <img data-sampler=\"texture1\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/b5.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t   \t\t\n\t\t\t\t\t\t<img decoding=\"async\" data-sampler=\"map\" src=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/themes\/ailabflow\/images\/img-bg.webp\" alt=\"animation-img\">                    \n                    <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n          <\/div>\n       <\/div>\n\t\t\t\n\t\t<div class=\"themetechmount-box-desc\">\n\t\t\t<div class=\"themetechmount-box-title\"><h4><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/2024\/08\/17\/the-future-of-business-digital-transformation-insights\/\">The future of business digital transformation insights<\/a><\/h4><\/div>\t\t\n\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\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\t<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><\/div><div class=\"tm-box-col-wrapper  news col-lg-4 col-sm-6 col-md-4 col-xs-12\"><article class=\"themetechmount-box themetechmount-box-blog themetechmount-blogbox-styletwo themetechmount-blogbox-format-\">\n\t<div class=\"post-item\">\n\t<div class=\"ttm-blog-cat\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tm-meta-line cat-links\"><span class=\"screen-reader-text tm-hide\">\n\t\t\t\t\t\t\t\tCategories <\/span><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/category\/news\/\" rel=\"category tag\">News<\/a><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\n\t\t<div class=\"art-project-item-2\">\n\t\t\t<div class=\"item-img\">\n                <div class=\"project_img\">\n                    <div class=\"hover_area\">                   \t\t\t\t\t   \t\t\t\t\t\t\t\t\t   \t\t\t\t\t\t\t\t   \t\t\n\t\t\t\t\t\t\t\t\t\t\t <img data-sampler=\"texture0\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/blog04.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t\t <img data-sampler=\"texture1\"  src=https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/uploads\/sites\/9\/2024\/08\/blog04.jpg class=\"attachment-full size-full wp-image\" alt=\"port-img\">\n\t\t\t\t\t   \t\t\n\t\t\t\t\t\t<img decoding=\"async\" data-sampler=\"map\" src=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-content\/themes\/ailabflow\/images\/img-bg.webp\" alt=\"animation-img\">                    \n                    <\/div>\n                    <div class=\"canvas\"><\/div>\n                <\/div>\n          <\/div>\n       <\/div>\n\t\t\t\n\t\t<div class=\"themetechmount-box-desc\">\n\t\t\t<div class=\"themetechmount-box-title\"><h4><a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/2024\/08\/10\/mastering-digital-business-strategies-for-success\/\">Mastering digital business strategies for success<\/a><\/h4><\/div>\t\t\n\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\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\t<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><\/div>\n\t\t\t<\/div>\n\n\t\t\t<\/div><!-- .themetechmount-boxes-inner -->   <\/div><!-- .themetechmount-boxes -->  \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Stay informed with our latest articles Categories Ai art, Digital Navigating the evolving landscape of digital creativity Categories Digital Maximizie your business potential innovative solutions Categories Marketing From hype to reality realworld applications of ai models Categories Ai art Unlocking the power of data the role of ai in advanced Categories Insights The future of &hellip; <a href=\"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/2024\/08\/10\/mastering-digital-business-strategies-for-success\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Mastering digital business strategies for success<\/span><\/a><\/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-7735","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-json\/wp\/v2\/pages\/7735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-json\/wp\/v2\/comments?post=7735"}],"version-history":[{"count":0,"href":"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-json\/wp\/v2\/pages\/7735\/revisions"}],"wp:attachment":[{"href":"https:\/\/themetechmount.com\/demos\/ailabflow\/demo1\/wp-json\/wp\/v2\/media?parent=7735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}