{"id":109,"date":"2026-07-25T10:02:02","date_gmt":"2026-07-25T10:02:02","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2026\/07\/25\/surreal-engine-cpp-webassembly-port\/"},"modified":"2026-07-25T13:21:32","modified_gmt":"2026-07-25T13:21:32","slug":"surreal-engine-cpp-webassembly-port","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/hi\/2026\/07\/25\/surreal-engine-cpp-webassembly-port\/","title":{"rendered":"Surreal \u0907\u0902\u091c\u0928 C++ \u0915\u094b WebAssembly \u092e\u0947\u0902 \u092a\u094b\u0930\u094d\u091f \u0915\u0930\u0928\u093e"},"content":{"rendered":"<p>\u0907\u0938 \u092a\u094b\u0938\u094d\u091f \u092e\u0947\u0902 \u092e\u0948\u0902 \u092c\u0924\u093e\u090a\u0902\u0917\u093e \u0915\u093f \u0915\u0948\u0938\u0947 \u092e\u0948\u0902\u0928\u0947 Surreal \u0907\u0902\u091c\u0928 \u0917\u0947\u092e \u0907\u0902\u091c\u0928 \u0915\u094b WebAssembly \u092e\u0947\u0902 \u092a\u094b\u0930\u094d\u091f \u0915\u093f\u092f\u093e\u0964<br \/>\n<a href=\"https:\/\/demensdeum.com\/demos\/SurrealEngine\/\"\" rel=\"noopener\" target=\"_blank\">https:\/\/demensdeum.com\/demos\/SurrealEngine\/&#8221;<\/a><br \/>\n\u0905\u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0907\u0902\u091c\u0928 &#8211; \u090f\u0915 \u0917\u0947\u092e \u0907\u0902\u091c\u0928 \u091c\u094b \u0905\u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u0907\u0902\u091c\u0928 1 \u0915\u0940 \u0905\u0927\u093f\u0915\u093e\u0902\u0936 \u0915\u093e\u0930\u094d\u092f\u0915\u094d\u0937\u092e\u0924\u093e \u0915\u094b \u0932\u093e\u0917\u0942 \u0915\u0930\u0924\u093e \u0939\u0948, \u0907\u0938 \u0907\u0902\u091c\u0928 \u092a\u0930 \u092a\u094d\u0930\u0938\u093f\u0926\u094d\u0927 \u0917\u0947\u092e &#8211; \u0905\u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u091f\u0942\u0930\u094d\u0928\u093e\u092e\u0947\u0902\u091f 99, \u0905\u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915, \u0921\u094d\u092f\u0942\u0938 \u090f\u0915\u094d\u0938, \u0905\u0928\u0921\u093e\u0907\u0902\u0917\u0964 \u092f\u0939 \u0915\u094d\u0932\u093e\u0938\u093f\u0915 \u0907\u0902\u091c\u0928\u094b\u0902 \u0915\u094b \u0938\u0902\u0926\u0930\u094d\u092d\u093f\u0924 \u0915\u0930\u0924\u093e \u0939\u0948 \u091c\u094b \u092e\u0941\u0916\u094d\u092f \u0930\u0942\u092a \u0938\u0947 \u090f\u0915\u0932-\u0925\u094d\u0930\u0947\u0921\u0947\u0921 \u0928\u093f\u0937\u094d\u092a\u093e\u0926\u0928 \u0935\u093e\u0924\u093e\u0935\u0930\u0923 \u092e\u0947\u0902 \u0915\u093e\u092e \u0915\u0930\u0924\u0947 \u0939\u0948\u0902\u0964<br \/>\n\u092e\u0942\u0932 \u0930\u0942\u092a \u0938\u0947 \u092e\u0947\u0930\u0947 \u092e\u0928 \u092e\u0947\u0902 \u090f\u0915 \u0910\u0938\u0947 \u092a\u094d\u0930\u094b\u091c\u0947\u0915\u094d\u091f \u0915\u094b \u0932\u0947\u0928\u0947 \u0915\u093e \u0935\u093f\u091a\u093e\u0930 \u0925\u093e \u091c\u093f\u0938\u0947 \u092e\u0948\u0902 \u0915\u093f\u0938\u0940 \u092d\u0940 \u0909\u091a\u093f\u0924 \u0938\u092e\u092f \u0938\u0940\u092e\u093e \u092e\u0947\u0902 \u092a\u0942\u0930\u093e \u0928\u0939\u0940\u0902 \u0915\u0930 \u0938\u0915\u093e, \u0907\u0938 \u092a\u094d\u0930\u0915\u093e\u0930 \u092e\u0948\u0902\u0928\u0947 \u0905\u092a\u0928\u0947 \u091f\u094d\u0935\u093f\u091a \u0905\u0928\u0941\u092f\u093e\u092f\u093f\u092f\u094b\u0902 \u0915\u094b \u0926\u093f\u0916\u093e\u092f\u093e \u0915\u093f \u0910\u0938\u0947 \u092a\u094d\u0930\u094b\u091c\u0947\u0915\u094d\u091f \u092d\u0940 \u0939\u0948\u0902 \u091c\u093f\u0928\u094d\u0939\u0947\u0902 \u092e\u0948\u0902 \u092d\u0940 \u0928\u0939\u0940\u0902 \u0915\u0930 \u0938\u0915\u0924\u093e\u0964 \u0905\u092a\u0928\u0940 \u092a\u0939\u0932\u0940 \u0938\u094d\u091f\u094d\u0930\u0940\u092e \u0915\u0947 \u0926\u094c\u0930\u093e\u0928, \u092e\u0941\u091d\u0947 \u0905\u091a\u093e\u0928\u0915 \u090f\u0939\u0938\u093e\u0938 \u0939\u0941\u0906 \u0915\u093f Emscripten \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 Surreal \u0907\u0902\u091c\u0928 C++ \u0915\u094b WebAssembly \u092e\u0947\u0902 \u092a\u094b\u0930\u094d\u091f \u0915\u0930\u0928\u0947 \u0915\u093e \u0915\u093e\u0930\u094d\u092f \u0938\u0902\u092d\u0935 \u0925\u093e\u0964<\/p>\n<p>\u090f\u0915 \u092e\u0939\u0940\u0928\u0947 \u092c\u093e\u0926, \u092e\u0948\u0902 WebAssembly \u092a\u0930 \u0905\u092a\u0928\u093e \u092b\u093c\u094b\u0930\u094d\u0915 \u0914\u0930 \u0907\u0902\u091c\u0928 \u0905\u0938\u0947\u0902\u092c\u0932\u0940 \u092a\u094d\u0930\u0926\u0930\u094d\u0936\u093f\u0924 \u0915\u0930 \u0938\u0915\u0924\u093e \u0939\u0942\u0901:<br \/>\n<a href=\"https:\/\/demensdeum.com\/demos\/SurrealEngine\/\" rel=\"noopener\" target=\"_blank\">https:\/\/demensdeum.com\/demos\/SurrealEngine\/<\/a><br \/>\n\u0928\u093f\u092f\u0902\u0924\u094d\u0930\u0923, \u092e\u0942\u0932 \u0915\u0940 \u0924\u0930\u0939, \u0915\u0940\u092c\u094b\u0930\u094d\u0921 \u0924\u0940\u0930\u094b\u0902 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948\u0964 \u0907\u0938\u0915\u0947 \u092c\u093e\u0926, \u092e\u0948\u0902 \u0907\u0938\u0947 \u092e\u094b\u092c\u093e\u0907\u0932 \u0928\u093f\u092f\u0902\u0924\u094d\u0930\u0923 (\u091f\u0948\u091a\u0940) \u0915\u0947 \u0932\u093f\u090f \u0905\u0928\u0941\u0915\u0942\u0932\u093f\u0924 \u0915\u0930\u0928\u0947 \u0915\u0940 \u092f\u094b\u091c\u0928\u093e \u092c\u0928\u093e \u0930\u0939\u093e \u0939\u0942\u0902, \u091c\u093f\u0938\u092e\u0947\u0902 \u0938\u0939\u0940 \u092a\u094d\u0930\u0915\u093e\u0936 \u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e \u0914\u0930 \u0905\u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u091f\u0942\u0930\u094d\u0928\u093e\u092e\u0947\u0902\u091f 99 \u0930\u0947\u0902\u0921\u0930 \u0915\u0940 \u0905\u0928\u094d\u092f \u0917\u094d\u0930\u093e\u092b\u093f\u0915 \u0935\u093f\u0936\u0947\u0937\u0924\u093e\u090f\u0902 \u0936\u093e\u092e\u093f\u0932 \u0939\u0948\u0902\u0964<\/p>\n<h3>\u0915\u0939\u093e\u0902 \u0938\u0947 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902?<\/h3>\n<p>\u092a\u0939\u0932\u0940 \u092c\u093e\u0924 \u091c\u094b \u092e\u0948\u0902 \u0915\u0939\u0928\u093e \u091a\u093e\u0939\u0924\u093e \u0939\u0942\u0902 \u0935\u0939 \u092f\u0939 \u0939\u0948 \u0915\u093f \u0915\u093f\u0938\u0940 \u092d\u0940 \u092a\u094d\u0930\u094b\u091c\u0947\u0915\u094d\u091f \u0915\u094b Emscripten \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 C++ \u0938\u0947 WebAssembly \u092e\u0947\u0902 \u092a\u094b\u0930\u094d\u091f \u0915\u093f\u092f\u093e \u091c\u093e \u0938\u0915\u0924\u093e \u0939\u0948, \u090f\u0915\u092e\u093e\u0924\u094d\u0930 \u0938\u0935\u093e\u0932 \u092f\u0939 \u0939\u0948 \u0915\u093f \u0915\u093e\u0930\u094d\u092f\u0915\u094d\u0937\u092e\u0924\u093e \u0915\u093f\u0924\u0928\u0940 \u092a\u0942\u0930\u094d\u0923 \u0939\u094b\u0917\u0940\u0964 \u0910\u0938\u093e \u092a\u094d\u0930\u094b\u091c\u0947\u0915\u094d\u091f \u091a\u0941\u0928\u0947\u0902 \u091c\u093f\u0938\u0915\u0947 \u0932\u093e\u0907\u092c\u094d\u0930\u0947\u0930\u0940 \u092a\u094b\u0930\u094d\u091f \u090f\u092e\u094d\u0938\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f\u0947\u0928 \u0915\u0947 \u0932\u093f\u090f \u092a\u0939\u0932\u0947 \u0938\u0947 \u0939\u0940 \u0909\u092a\u0932\u092c\u094d\u0927 \u0939\u094b\u0902; Surreal \u0907\u0902\u091c\u0928 \u0915\u0947 \u092e\u093e\u092e\u0932\u0947 \u092e\u0947\u0902, \u0906\u092a \u092c\u0939\u0941\u0924 \u092d\u093e\u0917\u094d\u092f\u0936\u093e\u0932\u0940 \u0939\u0948\u0902, \u0915\u094d\u092f\u094b\u0902\u0915\u093f \u0907\u0902\u091c\u0928 SDL 2, OpenAL &#8211; \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0924\u093e \u0939\u0948\u0964 \u092a\u0941\u0938\u094d\u0924\u0915\u093e\u0932\u092f. \u0935\u0947 \u0926\u094b\u0928\u094b\u0902 \u090f\u092e\u094d\u0938\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f\u0947\u0928 \u092e\u0947\u0902 \u092a\u094b\u0930\u094d\u091f \u0915\u093f\u090f \u0917\u090f \u0939\u0948\u0902\u0964 \u0939\u093e\u0932\u093e\u0901\u0915\u093f, \u0935\u0932\u094d\u0915\u0928 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0917\u094d\u0930\u093e\u092b\u093f\u0915\u094d\u0938 \u090f\u092a\u0940\u0906\u0908 \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948, \u091c\u094b \u0935\u0930\u094d\u0924\u092e\u093e\u0928 \u092e\u0947\u0902 HTML5 \u0915\u0947 \u0932\u093f\u090f \u0909\u092a\u0932\u092c\u094d\u0927 \u0928\u0939\u0940\u0902 \u0939\u0948, WebGPU \u0915\u094b \u0932\u093e\u0917\u0942 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0915\u093e\u092e \u091a\u0932 \u0930\u0939\u093e \u0939\u0948, \u0932\u0947\u0915\u093f\u0928 \u092f\u0939 \u0921\u094d\u0930\u093e\u092b\u094d\u091f \u091a\u0930\u0923 \u092e\u0947\u0902 \u092d\u0940 \u0939\u0948, \u0914\u0930 \u092f\u0939 \u092d\u0940 \u0905\u091c\u094d\u091e\u093e\u0924 \u0939\u0948 \u0915\u093f \u092a\u0942\u0930\u0940 \u0924\u0930\u0939 \u0938\u0947 \u092e\u093e\u0928\u0915\u0940\u0915\u0943\u0924 \u0939\u094b\u0928\u0947 \u0915\u0947 \u092c\u093e\u0926 Vulkan \u0938\u0947 WebGPU \u0924\u0915 \u0915\u093e \u092a\u094b\u0930\u094d\u091f \u0915\u093f\u0924\u0928\u093e \u0938\u0930\u0932 \u0939\u094b\u0917\u093e\u0964 \u0907\u0938\u0932\u093f\u090f, \u092e\u0941\u091d\u0947 Surreal \u0907\u0902\u091c\u0928 \u0915\u0947 \u0932\u093f\u090f \u0905\u092a\u0928\u093e \u0938\u094d\u0935\u092f\u0902 \u0915\u093e \u092e\u0942\u0932 OpenGL-ES\/WebGL \u0930\u0947\u0902\u0921\u0930\u0930 \u0932\u093f\u0916\u0928\u093e \u092a\u0921\u093c\u093e\u0964<\/p>\n<h3>\u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e \u0915\u093e \u0928\u093f\u0930\u094d\u092e\u093e\u0923<\/h3>\n<p>Surreal \u0907\u0902\u091c\u0928 \u092e\u0947\u0902 \u0938\u093f\u0938\u094d\u091f\u092e \u092c\u0928\u093e\u090f\u0901 &#8211; \u0938\u0940\u090f\u092e\u0915\u0947, \u091c\u094b \u092a\u094b\u0930\u094d\u091f\u093f\u0902\u0917 \u0915\u094b \u092d\u0940 \u0938\u0930\u0932 \u092c\u0928\u093e\u0924\u093e \u0939\u0948, \u0915\u094d\u092f\u094b\u0902\u0915\u093f \u090f\u092e\u094d\u0938\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f\u0928 \u0905\u092a\u0928\u0947 \u092e\u0942\u0932 \u092c\u093f\u0932\u094d\u0921\u0930\u094b\u0902 \u0915\u094b \u092a\u094d\u0930\u0926\u093e\u0928 \u0915\u0930\u0924\u093e \u0939\u0948 &#8211; \u090f\u092e\u092e\u0947\u0915, \u090f\u092e\u092e\u0947\u0915\u0964<br \/>\nSurreal \u0907\u0902\u091c\u0928 \u092a\u094b\u0930\u094d\u091f WebGL\/OpenGL ES \u0914\u0930 C++ \u092e\u0947\u0902 \u0921\u0947\u0925-\u092e\u093e\u0938\u094d\u0915 \u0928\u093e\u092e\u0915 \u092e\u0947\u0930\u0947 \u0928\u0935\u0940\u0928\u0924\u092e \u0917\u0947\u092e \u0915\u0947 \u0915\u094b\u0921 \u092a\u0930 \u0906\u0927\u093e\u0930\u093f\u0924 \u0925\u093e, \u0907\u0938 \u0935\u091c\u0939 \u0938\u0947 \u0935\u093f\u0915\u093e\u0938 \u092c\u0939\u0941\u0924 \u0938\u0930\u0932 \u0925\u093e, \u092e\u0947\u0930\u0947 \u092a\u093e\u0938 \u0938\u092d\u0940 \u0906\u0935\u0936\u094d\u092f\u0915 \u092c\u093f\u0932\u094d\u0921 \u092b\u093c\u094d\u0932\u0948\u0917 \u0914\u0930 \u0915\u094b\u0921 \u0909\u0926\u093e\u0939\u0930\u0923 \u0925\u0947\u0964<br \/>\nCMakeLists.txt \u092e\u0947\u0902 \u0938\u092c\u0938\u0947 \u092e\u0939\u0924\u094d\u0935\u092a\u0942\u0930\u094d\u0923 \u092c\u093f\u0902\u0926\u0941\u0913\u0902 \u092e\u0947\u0902 \u0938\u0947 \u090f\u0915 Emscripten \u0915\u0947 \u0932\u093f\u090f \u092c\u093f\u0932\u094d\u0921 \u092b\u093c\u094d\u0932\u0948\u0917 \u0939\u0948, \u0928\u0940\u091a\u0947 \u092a\u094d\u0930\u094b\u091c\u0947\u0915\u094d\u091f \u092b\u093c\u093e\u0907\u0932 \u0938\u0947 \u090f\u0915 \u0909\u0926\u093e\u0939\u0930\u0923 \u0926\u093f\u092f\u093e \u0917\u092f\u093e \u0939\u0948:<\/p>\n<div class='hcb_wrap'>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>set(CMAKE_CXX_FLAGS \"-s MIN_WEBGL_VERSION=2 \n-s MAX_WEBGL_VERSION=2 \n-s EXCEPTION_DEBUG \n-fexceptions \n--preload-file UnrealTournament\/ \n--preload-file SurrealEngine.pk3 \n--bind \n--use-preload-plugins \n-Wall \n-Wextra \n-Werror=return-type \n-s USE_SDL=2 \n-s ASSERTIONS=1 \n-w \n-g4 \n-s DISABLE_EXCEPTION_CATCHING=0 \n-O3 \n--no-heap-copy \n-s ALLOW_MEMORY_GROWTH=1 \n-s EXIT_RUNTIME=1\")\n<\/code><\/pre>\n<\/div>\n<\/div>\n<p>\u092c\u093f\u0932\u094d\u0921 \u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f \u0938\u094d\u0935\u092f\u0902:<\/p>\n<div class='hcb_wrap'>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>clear\nemmake make -j 16\ncp SurrealEngine.data \/srv\/http\/SurrealEngine\/SurrealEngine.data\ncp SurrealEngine.js \/srv\/http\/SurrealEngine\/SurrealEngine.js\ncp SurrealEngine.wasm \/srv\/http\/SurrealEngine\/SurrealEngine.wasm\ncp ..\/buildScripts\/Emscripten\/index.html \/srv\/http\/SurrealEngine\/index.html\n<img decoding=\"async\" src=\"cp ..\/buildScripts\/Emscripten\/background.png \/srv\/http\/SurrealEngine\/background.png\"\/><\/code><\/pre>\n<\/div>\n<\/div>\n<p>\u0907\u0938\u0915\u0947 \u092c\u093e\u0926, \u0906\u0907\u090f <a href='https:\/\/github.com\/demensdeum\/SurrealEngine-Emscripten\/blob\/master\/buildScripts\/Emscripten\/index.html' target='_blank' rel='noopener'>index.html<\/a> \u0924\u0948\u092f\u093e\u0930 \u0915\u0930\u0947\u0902, \u091c\u093f\u0938\u092e\u0947\u0902 \u092a\u094d\u0930\u094b\u091c\u0947\u0915\u094d\u091f \u092b\u093c\u093e\u0907\u0932 \u0938\u093f\u0938\u094d\u091f\u092e \u092a\u094d\u0930\u0940\u0932\u094b\u0921\u0930 \u0936\u093e\u092e\u093f\u0932 \u0939\u0948\u0964 \u0935\u0947\u092c \u092a\u0930 \u0905\u092a\u0932\u094b\u0921 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f, \u092e\u0948\u0902\u0928\u0947 \u0905\u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u091f\u0942\u0930\u094d\u0928\u093e\u092e\u0947\u0902\u091f \u0921\u0947\u092e\u094b \u0938\u0902\u0938\u094d\u0915\u0930\u0923 338 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u093f\u092f\u093e\u0964 \u091c\u0948\u0938\u093e \u0915\u093f \u0906\u092a \u0938\u0940\u090f\u092e\u0915\u0947 \u092b\u093c\u093e\u0907\u0932 \u0938\u0947 \u0926\u0947\u0916 \u0938\u0915\u0924\u0947 \u0939\u0948\u0902, \u0905\u0928\u092a\u0948\u0915\u094d\u0921 \u0917\u0947\u092e \u092b\u093c\u094b\u0932\u094d\u0921\u0930 \u0915\u094b \u092c\u093f\u0932\u094d\u0921 \u0928\u093f\u0930\u094d\u0926\u0947\u0936\u093f\u0915\u093e \u092e\u0947\u0902 \u091c\u094b\u0921\u093c\u093e \u0917\u092f\u093e \u0925\u093e \u0914\u0930 \u090f\u092e\u094d\u0938\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f\u0947\u0928 \u0915\u0947 \u0932\u093f\u090f \u092a\u094d\u0930\u0940\u0932\u094b\u0921-\u092b\u093c\u093e\u0907\u0932 \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u0932\u093f\u0902\u0915 \u0915\u093f\u092f\u093e \u0917\u092f\u093e \u0925\u093e\u0964<\/p>\n<h3>\u092e\u0941\u0916\u094d\u092f \u0915\u094b\u0921 \u092a\u0930\u093f\u0935\u0930\u094d\u0924\u0928<\/h3>\n<p>\u092b\u093f\u0930 \u0939\u092e\u0947\u0902 \u0917\u0947\u092e \u0915\u0947 \u0917\u0947\u092e \u0932\u0942\u092a \u0915\u094b \u092c\u0926\u0932\u0928\u093e \u092a\u0921\u093c\u093e, \u0906\u092a \u090f\u0915 \u0905\u0902\u0924\u0939\u0940\u0928 \u0932\u0942\u092a \u0928\u0939\u0940\u0902 \u091a\u0932\u093e \u0938\u0915\u0924\u0947, \u0907\u0938\u0938\u0947 \u092c\u094d\u0930\u093e\u0909\u091c\u093c\u0930 \u092b\u093c\u094d\u0930\u0940\u091c\u093c \u0939\u094b \u091c\u093e\u0924\u093e \u0939\u0948, \u0907\u0938\u0915\u0947 \u092c\u091c\u093e\u092f \u0906\u092a\u0915\u094b emscripten_set_main_loop \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0928\u0947 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0939\u0948, \u092e\u0948\u0902\u0928\u0947 \u0907\u0938 \u0938\u0941\u0935\u093f\u0927\u093e \u0915\u0947 \u092c\u093e\u0930\u0947 \u092e\u0947\u0902 \u0905\u092a\u0928\u0947 2017 \u0928\u094b\u091f \u092e\u0947\u0902 \u0932\u093f\u0916\u093e \u0925\u093e &#8221; target=&#8217;_blank&#8217;>SDL C++ \u0917\u0947\u092e\u094d\u0938 \u0915\u094b HTML5 (Emscripten) \u092e\u0947\u0902 \u092a\u094b\u0930\u094d\u091f \u0915\u0930\u0928\u093e<\/a>\u201d<br \/>\n\u0939\u092e while \u0932\u0942\u092a \u0938\u0947 \u092c\u093e\u0939\u0930 \u0928\u093f\u0915\u0932\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0915\u094b\u0921 \u0915\u094b if \u092e\u0947\u0902 \u092c\u0926\u0932\u0924\u0947 \u0939\u0948\u0902, \u092b\u093f\u0930 \u0939\u092e \u0917\u0947\u092e \u0907\u0902\u091c\u0928 \u0915\u0947 \u092e\u0941\u0916\u094d\u092f \u0935\u0930\u094d\u0917 \u0915\u094b \u092a\u094d\u0930\u0926\u0930\u094d\u0936\u093f\u0924 \u0915\u0930\u0924\u0947 \u0939\u0948\u0902, \u091c\u093f\u0938\u092e\u0947\u0902 \u0917\u0947\u092e \u0932\u0942\u092a \u0939\u094b\u0924\u093e \u0939\u0948, \u0935\u0948\u0936\u094d\u0935\u093f\u0915 \u0926\u093e\u092f\u0930\u0947 \u092e\u0947\u0902, \u0914\u0930 \u090f\u0915 \u0935\u0948\u0936\u094d\u0935\u093f\u0915 \u092b\u093c\u0902\u0915\u094d\u0936\u0928 \u0932\u093f\u0916\u0924\u0947 \u0939\u0948\u0902 \u091c\u094b \u0935\u0948\u0936\u094d\u0935\u093f\u0915 \u0911\u092c\u094d\u091c\u0947\u0915\u094d\u091f \u0938\u0947 \u0917\u0947\u092e \u0932\u0942\u092a \u091a\u0930\u0923 \u0915\u094b \u0915\u0949\u0932 \u0915\u0930\u0947\u0917\u093e:<\/p>\n<div class='hcb_wrap'>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>#if __EMSCRIPTEN__\n#include &lt;emscripten.h&gt;\nEngine *EMSCRIPTEN_GLOBAL_GAME_ENGINE = nullptr;\nvoid emscripten_game_loop_step() {\n\tEMSCRIPTEN_GLOBAL_GAME_ENGINE-&gt;Run();\n}\n#endif\n<\/code><\/pre>\n<\/div>\n<\/div>\n<p>\u0907\u0938\u0915\u0947 \u092c\u093e\u0926, \u0906\u092a\u0915\u094b \u092f\u0939 \u0938\u0941\u0928\u093f\u0936\u094d\u091a\u093f\u0924 \u0915\u0930\u0928\u093e \u0939\u094b\u0917\u093e \u0915\u093f \u090f\u092a\u094d\u0932\u093f\u0915\u0947\u0936\u0928 \u092e\u0947\u0902 \u0915\u094b\u0908 \u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f \u0925\u094d\u0930\u0947\u0921 \u0928\u0939\u0940\u0902 \u0939\u0948\u0902; \u092f\u0926\u093f \u0939\u0948\u0902, \u0924\u094b \u090f\u0915\u0932-\u0925\u094d\u0930\u0947\u0921\u0947\u0921 \u0928\u093f\u0937\u094d\u092a\u093e\u0926\u0928 \u0915\u0947 \u0932\u093f\u090f \u0909\u0928\u094d\u0939\u0947\u0902 \u092b\u093f\u0930 \u0938\u0947 \u0932\u093f\u0916\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0924\u0948\u092f\u093e\u0930 \u0939\u094b \u091c\u093e\u090f\u0902, \u092f\u093e \u090f\u092e\u094d\u0938\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f\u0928 \u092e\u0947\u0902 phtread \u0932\u093e\u0907\u092c\u094d\u0930\u0947\u0930\u0940 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902\u0964<br \/>\nSurreal \u0907\u0902\u091c\u0928 \u092e\u0947\u0902 \u092c\u0948\u0915\u0917\u094d\u0930\u093e\u0909\u0902\u0921 \u0925\u094d\u0930\u0947\u0921 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0938\u0902\u0917\u0940\u0924 \u091a\u0932\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948, \u092e\u0941\u0916\u094d\u092f \u0907\u0902\u091c\u0928 \u0925\u094d\u0930\u0947\u0921 \u0938\u0947 \u0935\u0930\u094d\u0924\u092e\u093e\u0928 \u091f\u094d\u0930\u0948\u0915, \u0938\u0902\u0917\u0940\u0924 \u091a\u0932\u093e\u0928\u0947 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u092f\u093e \u0909\u0938\u0915\u0940 \u0905\u0928\u0941\u092a\u0938\u094d\u0925\u093f\u0924\u093f \u0915\u0947 \u092c\u093e\u0930\u0947 \u092e\u0947\u0902 \u0921\u0947\u091f\u093e \u0906\u0924\u093e \u0939\u0948, \u092b\u093f\u0930 \u092c\u0948\u0915\u0917\u094d\u0930\u093e\u0909\u0902\u0921 \u0925\u094d\u0930\u0947\u0921 \u092e\u094d\u092f\u0942\u091f\u0947\u0915\u094d\u0938 \u0915\u0947 \u092e\u093e\u0927\u094d\u092f\u092e \u0938\u0947 \u090f\u0915 \u0928\u0908 \u0938\u094d\u0925\u093f\u0924\u093f \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0915\u0930\u0924\u093e \u0939\u0948 \u0914\u0930 \u0928\u092f\u093e \u0938\u0902\u0917\u0940\u0924 \u092c\u091c\u093e\u0928\u093e \u0936\u0941\u0930\u0942 \u0915\u0930 \u0926\u0947\u0924\u093e \u0939\u0948, \u092f\u093e \u0930\u0941\u0915 \u091c\u093e\u0924\u093e \u0939\u0948\u0964 \u092a\u094d\u0932\u0947\u092c\u0948\u0915 \u0915\u0947 \u0926\u094c\u0930\u093e\u0928 \u0938\u0902\u0917\u0940\u0924 \u0915\u094b \u092c\u092b\u093c\u0930 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u092c\u0948\u0915\u0917\u094d\u0930\u093e\u0909\u0902\u0921 \u0925\u094d\u0930\u0947\u0921 \u0915\u093e \u092d\u0940 \u0909\u092a\u092f\u094b\u0917 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948\u0964<br \/>\n\u092a\u093e\u0925\u094d\u0930\u0947\u0921 \u0915\u0947 \u0938\u093e\u0925 \u090f\u092e\u094d\u0938\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f\u0947\u0928 \u0915\u0947 \u0932\u093f\u090f \u0938\u0930\u0930\u093f\u092f\u0932 \u0907\u0902\u091c\u0928 \u092c\u0928\u093e\u0928\u0947 \u0915\u0947 \u092e\u0947\u0930\u0947 \u092a\u094d\u0930\u092f\u093e\u0938 \u0905\u0938\u092b\u0932 \u0930\u0939\u0947, \u0915\u094d\u092f\u094b\u0902\u0915\u093f \u090f\u0938\u0921\u0940\u090f\u09322 \u0914\u0930 \u0913\u092a\u0928\u090f\u090f\u0932 \u092a\u094b\u0930\u094d\u091f \u092c\u093f\u0928\u093e \u092a\u093e\u0925\u094d\u0930\u0947\u0921 \u0938\u092e\u0930\u094d\u0925\u0928 \u0915\u0947 \u092c\u0928\u093e\u090f \u0917\u090f \u0925\u0947, \u0914\u0930 \u092e\u0948\u0902 \u0938\u0902\u0917\u0940\u0924 \u0915\u0947 \u0932\u093f\u090f \u0909\u0928\u0915\u093e \u092a\u0941\u0928\u0930\u094d\u0928\u093f\u0930\u094d\u092e\u093e\u0923 \u0928\u0939\u0940\u0902 \u0915\u0930\u0928\u093e \u091a\u093e\u0939\u0924\u093e \u0925\u093e\u0964 \u0907\u0938\u0932\u093f\u090f, \u092e\u0948\u0902\u0928\u0947 \u0932\u0942\u092a \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 \u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f \u0938\u0902\u0917\u0940\u0924 \u0938\u094d\u091f\u094d\u0930\u0940\u092e \u0915\u0940 \u0915\u093e\u0930\u094d\u092f\u0915\u094d\u0937\u092e\u0924\u093e \u0915\u094b \u090f\u0915\u0932-\u0925\u094d\u0930\u0947\u0921\u0947\u0921 \u0928\u093f\u0937\u094d\u092a\u093e\u0926\u0928 \u092e\u0947\u0902 \u0938\u094d\u0925\u093e\u0928\u093e\u0902\u0924\u0930\u093f\u0924 \u0915\u0930 \u0926\u093f\u092f\u093e\u0964 C++ \u0915\u094b\u0921 \u0938\u0947 pthread \u0915\u0949\u0932\u094d\u0938 \u0915\u094b \u0939\u091f\u093e\u0915\u0930, \u092e\u0948\u0902\u0928\u0947 \u092c\u092b\u093c\u0930\u093f\u0902\u0917 \u0914\u0930 \u0938\u0902\u0917\u0940\u0924 \u092a\u094d\u0932\u0947\u092c\u0948\u0915 \u0915\u094b \u092e\u0941\u0916\u094d\u092f \u0925\u094d\u0930\u0947\u0921 \u092e\u0947\u0902 \u0938\u094d\u0925\u093e\u0928\u093e\u0902\u0924\u0930\u093f\u0924 \u0915\u0930 \u0926\u093f\u092f\u093e, \u0924\u093e\u0915\u093f \u0915\u094b\u0908 \u0926\u0947\u0930\u0940 \u0928 \u0939\u094b, \u092e\u0948\u0902\u0928\u0947 \u092c\u092b\u093c\u0930 \u0915\u094b \u0915\u0941\u091b \u0938\u0947\u0915\u0902\u0921 \u0924\u0915 \u092c\u0922\u093c\u093e \u0926\u093f\u092f\u093e\u0964<br \/>\n\u0906\u0917\u0947, \u092e\u0948\u0902 \u0917\u094d\u0930\u093e\u092b\u093f\u0915\u094d\u0938 \u0914\u0930 \u0927\u094d\u0935\u0928\u093f \u0915\u0947 \u0935\u093f\u0936\u093f\u0937\u094d\u091f \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u0915\u093e \u0935\u0930\u094d\u0923\u0928 \u0915\u0930\u0942\u0902\u0917\u093e\u0964<\/p>\n<h3>\u0935\u0932\u094d\u0915\u0928 \u0938\u092e\u0930\u094d\u0925\u093f\u0924 \u0928\u0939\u0940\u0902 \u0939\u0948!<\/h3>\n<p>\u0939\u093e\u0901, Vulkan HTML5 \u092e\u0947\u0902 \u0938\u092e\u0930\u094d\u0925\u093f\u0924 \u0928\u0939\u0940\u0902 \u0939\u0948, \u0939\u093e\u0932\u093e\u0901\u0915\u093f \u0938\u092d\u0940 \u092e\u093e\u0930\u094d\u0915\u0947\u091f\u093f\u0902\u0917 \u092c\u094d\u0930\u094b\u0936\u0930 Vulkan \u0915\u0947 \u092e\u0941\u0916\u094d\u092f \u0932\u093e\u092d \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u0915\u094d\u0930\u0949\u0938-\u092a\u094d\u0932\u0947\u091f\u092b\u093c\u0949\u0930\u094d\u092e \u0914\u0930 \u0935\u094d\u092f\u093e\u092a\u0915 \u092a\u094d\u0932\u0947\u091f\u092b\u093c\u0949\u0930\u094d\u092e \u0938\u092e\u0930\u094d\u0925\u0928 \u092a\u094d\u0930\u0938\u094d\u0924\u0941\u0924 \u0915\u0930\u0924\u0947 \u0939\u0948\u0902\u0964 \u0907\u0938 \u0915\u093e\u0930\u0923 \u0938\u0947, \u092e\u0941\u091d\u0947 \u0938\u0930\u0932\u0940\u0915\u0943\u0924 OpenGL \u092a\u094d\u0930\u0915\u093e\u0930 &#8211; \u0915\u0947 \u0932\u093f\u090f \u0905\u092a\u0928\u093e \u0938\u094d\u0935\u092f\u0902 \u0915\u093e \u092e\u0942\u0932 \u0917\u094d\u0930\u093e\u092b\u093c\u093f\u0915\u094d\u0938 \u0930\u0947\u0902\u0921\u0930\u0930 \u0932\u093f\u0916\u0928\u093e \u092a\u0921\u093c\u093e\u0964 \u0908\u090f\u0938, \u0907\u0938\u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u092e\u094b\u092c\u093e\u0907\u0932 \u0909\u092a\u0915\u0930\u0923\u094b\u0902 \u092a\u0930 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948, \u0915\u092d\u0940-\u0915\u092d\u0940 \u0907\u0938\u092e\u0947\u0902 \u0906\u0927\u0941\u0928\u093f\u0915 \u0913\u092a\u0928\u091c\u0940\u090f\u0932 \u0915\u0940 \u092b\u0948\u0936\u0928\u0947\u092c\u0932 \u0935\u093f\u0936\u0947\u0937\u0924\u093e\u090f\u0902 \u0936\u093e\u092e\u093f\u0932 \u0928\u0939\u0940\u0902 \u0939\u094b\u0924\u0940 \u0939\u0948\u0902, \u0932\u0947\u0915\u093f\u0928 \u092f\u0939 \u0935\u0947\u092c\u091c\u0940\u090f\u0932 \u0915\u094b \u092c\u0939\u0941\u0924 \u0905\u091a\u094d\u091b\u0940 \u0924\u0930\u0939 \u0938\u0947 \u092a\u094b\u0930\u094d\u091f \u0915\u0930\u0924\u093e \u0939\u0948, \u091c\u094b \u0915\u093f \u090f\u092e\u094d\u0938\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f\u0947\u0928 \u0932\u093e\u0917\u0942 \u0915\u0930\u0924\u093e \u0939\u0948\u0964 \u0938\u092c\u0938\u0947 \u0938\u0930\u0932 \u091c\u0940\u092f\u0942\u0906\u0908 \u0921\u093f\u0938\u094d\u092a\u094d\u0932\u0947 \u0915\u0947 \u0932\u093f\u090f \u092c\u0941\u0928\u093f\u092f\u093e\u0926\u0940 \u091f\u093e\u0907\u0932 \u0930\u0947\u0902\u0921\u0930\u093f\u0902\u0917, \u092c\u0940\u090f\u0938\u092a\u0940 \u0930\u0947\u0902\u0921\u0930\u093f\u0902\u0917 \u0932\u093f\u0916\u0928\u093e \u0914\u0930 \u092e\u0949\u0921\u0932 + \u092e\u0948\u092a \u0930\u0947\u0902\u0921\u0930 \u0915\u0930\u0928\u093e \u0926\u094b \u0938\u092a\u094d\u0924\u093e\u0939 \u092e\u0947\u0902 \u092a\u0942\u0930\u093e \u0939\u094b \u0917\u092f\u093e\u0964 \u092f\u0939 \u0936\u093e\u092f\u0926 \u092a\u0930\u093f\u092f\u094b\u091c\u0928\u093e \u0915\u093e \u0938\u092c\u0938\u0947 \u0915\u0920\u093f\u0928 \u0939\u093f\u0938\u094d\u0938\u093e \u0925\u093e\u0964 Surreal \u0907\u0902\u091c\u0928 \u0930\u0947\u0902\u0921\u0930\u093f\u0902\u0917 \u0915\u0940 \u092a\u0942\u0930\u094d\u0923 \u0915\u093e\u0930\u094d\u092f\u0915\u094d\u0937\u092e\u0924\u093e \u0915\u094b \u0932\u093e\u0917\u0942 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0905\u092d\u0940 \u092d\u0940 \u092c\u0939\u0941\u0924 \u0915\u093e\u092e \u092c\u093e\u0915\u0940 \u0939\u0948, \u0907\u0938\u0932\u093f\u090f \u0915\u094b\u0921 \u0914\u0930 \u092a\u0941\u0932 \u0905\u0928\u0941\u0930\u094b\u0927\u094b\u0902 \u0915\u0947 \u0930\u0942\u092a \u092e\u0947\u0902 \u092a\u093e\u0920\u0915\u094b\u0902 \u0915\u0940 \u0915\u093f\u0938\u0940 \u092d\u0940 \u092e\u0926\u0926 \u0915\u093e \u0938\u094d\u0935\u093e\u0917\u0924 \u0939\u0948\u0964<\/p>\n<h3>OpenAL \u0938\u092e\u0930\u094d\u0925\u093f\u0924!<\/h3>\n<p>\u092c\u0921\u093c\u0940 \u0915\u093f\u0938\u094d\u092e\u0924 \u092f\u0939 \u0939\u0948 \u0915\u093f Surreal \u0907\u0902\u091c\u0928 \u0911\u0921\u093f\u092f\u094b \u0906\u0909\u091f\u092a\u0941\u091f \u0915\u0947 \u0932\u093f\u090f OpenAL \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0924\u093e \u0939\u0948\u0964 OpenAL \u092e\u0947\u0902 \u090f\u0915 \u0938\u0930\u0932 \u0939\u0948\u0932\u094b \u0935\u0930\u094d\u0932\u094d\u0921 \u0932\u093f\u0916\u0928\u0947 \u0914\u0930 \u0907\u0938\u0947 Emscripten \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 WebAssembly \u092e\u0947\u0902 \u0907\u0915\u091f\u094d\u0920\u093e \u0915\u0930\u0928\u0947 \u0915\u0947 \u092c\u093e\u0926, \u092e\u0941\u091d\u0947 \u092f\u0939 \u0938\u094d\u092a\u0937\u094d\u091f \u0939\u094b \u0917\u092f\u093e \u0915\u093f \u0938\u092c \u0915\u0941\u091b \u0915\u093f\u0924\u0928\u093e \u0938\u0930\u0932 \u0925\u093e, \u0914\u0930 \u092e\u0948\u0902\u0928\u0947 \u0927\u094d\u0935\u0928\u093f \u0915\u094b \u092a\u094b\u0930\u094d\u091f \u0915\u0930\u0928\u093e \u0936\u0941\u0930\u0942 \u0915\u0930 \u0926\u093f\u092f\u093e\u0964<br \/>\n\u0915\u0908 \u0918\u0902\u091f\u094b\u0902 \u0915\u0940 \u0921\u093f\u092c\u0917\u093f\u0902\u0917 \u0915\u0947 \u092c\u093e\u0926, \u092f\u0939 \u0938\u094d\u092a\u0937\u094d\u091f \u0939\u094b \u0917\u092f\u093e \u0915\u093f \u090f\u092e\u094d\u0938\u0938\u094d\u0915\u094d\u0930\u093f\u092a\u094d\u091f\u0947\u0928 \u0915\u0947 \u0913\u092a\u0928\u090f\u090f\u0932 \u0915\u093e\u0930\u094d\u092f\u093e\u0928\u094d\u0935\u092f\u0928 \u092e\u0947\u0902 \u0915\u0908 \u092c\u0917 \u0939\u0948\u0902, \u0909\u0926\u093e\u0939\u0930\u0923 \u0915\u0947 \u0932\u093f\u090f, \u091c\u092c \u092e\u094b\u0928\u094b \u091a\u0948\u0928\u0932\u094b\u0902 \u0915\u0940 \u0938\u0902\u0916\u094d\u092f\u093e \u0915\u094b \u092a\u0922\u093c\u0928\u093e \u0936\u0941\u0930\u0942 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948, \u0924\u094b \u0935\u093f\u0927\u093f \u090f\u0915 \u0905\u0928\u0902\u0924 \u0938\u0902\u0916\u094d\u092f\u093e \u0932\u094c\u091f\u093e\u0924\u0940 \u0939\u0948, \u0914\u0930 \u0905\u0928\u0902\u0924 \u0906\u0915\u093e\u0930 \u0915\u0947 \u0935\u0947\u0915\u094d\u091f\u0930 \u0915\u094b \u092a\u094d\u0930\u093e\u0930\u0902\u092d \u0915\u0930\u0928\u0947 \u0915\u093e \u092a\u094d\u0930\u092f\u093e\u0938 \u0915\u0930\u0928\u0947 \u0915\u0947 \u092c\u093e\u0926, C++ \u0905\u092a\u0935\u093e\u0926 \u0935\u0947\u0915\u094d\u091f\u0930::\u0932\u0947\u0902\u0925_\u090f\u0930\u0930 \u0915\u0947 \u0938\u093e\u0925 \u0915\u094d\u0930\u0948\u0936 \u0939\u094b \u091c\u093e\u0924\u093e \u0939\u0948\u0964<br \/>\n\u0939\u092e \u092e\u094b\u0928\u094b \u091a\u0948\u0928\u0932\u094b\u0902 \u0915\u0940 \u0938\u0902\u0916\u094d\u092f\u093e \u0915\u094b 2048 \u0924\u0915 \u0939\u093e\u0930\u094d\u0921\u0915\u094b\u0921 \u0915\u0930\u0915\u0947 \u0907\u0938\u0938\u0947 \u0928\u093f\u091c\u093e\u0924 \u092a\u093e\u0928\u0947 \u092e\u0947\u0902 \u0915\u093e\u092e\u092f\u093e\u092c \u0930\u0939\u0947:<\/p>\n<div class='hcb_wrap'>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>\t\talcGetIntegerv(alDevice, ALC_MONO_SOURCES, 1, &amp;monoSources);\n\t\talcGetIntegerv(alDevice, ALC_STEREO_SOURCES, 1, &amp;stereoSources);\n\n#if __EMSCRIPTEN__\n\t\tmonoSources = 2048; \/\/ for some reason Emscripten's OpenAL gives infinite monoSources count, bug?\n#endif\n\n<\/code><\/pre>\n<\/div>\n<\/div>\n<h3>\u0915\u094d\u092f\u093e \u0915\u094b\u0908 \u0928\u0947\u091f\u0935\u0930\u094d\u0915 \u0939\u0948?<\/h3>\n<p>Surreal \u0907\u0902\u091c\u0928 \u0935\u0930\u094d\u0924\u092e\u093e\u0928 \u092e\u0947\u0902 \u0911\u0928\u0932\u093e\u0907\u0928 \u0916\u0947\u0932 \u0915\u093e \u0938\u092e\u0930\u094d\u0925\u0928 \u0928\u0939\u0940\u0902 \u0915\u0930\u0924\u093e \u0939\u0948, \u092c\u0949\u091f\u094d\u0938 \u0915\u0947 \u0938\u093e\u0925 \u0916\u0947\u0932\u0928\u093e \u0938\u092e\u0930\u094d\u0925\u093f\u0924 \u0939\u0948, \u0932\u0947\u0915\u093f\u0928 \u0939\u092e\u0947\u0902 \u0907\u0928 \u092c\u0949\u091f\u094d\u0938 \u0915\u0947 \u0932\u093f\u090f AI \u0932\u093f\u0916\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0915\u093f\u0938\u0940 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e \u0939\u0948\u0964 \u0938\u0948\u0926\u094d\u0927\u093e\u0902\u0924\u093f\u0915 \u0930\u0942\u092a \u0938\u0947, \u0906\u092a Websockets \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947 WebAssembly\/Emscripten \u092a\u0930 \u090f\u0915 \u0928\u0947\u091f\u0935\u0930\u094d\u0915 \u0917\u0947\u092e \u0932\u093e\u0917\u0942 \u0915\u0930 \u0938\u0915\u0924\u0947 \u0939\u0948\u0902\u0964<\/p>\n<h3>\u0928\u093f\u0937\u094d\u0915\u0930\u094d\u0937<\/h3>\n<p>\u0905\u0902\u0924 \u092e\u0947\u0902, \u092e\u0948\u0902 \u092f\u0939 \u0915\u0939\u0928\u093e \u091a\u093e\u0939\u0942\u0902\u0917\u093e \u0915\u093f \u092a\u0941\u0938\u094d\u0924\u0915\u093e\u0932\u092f\u094b\u0902 \u0915\u0947 \u0909\u092a\u092f\u094b\u0917 \u0915\u0947 \u0915\u093e\u0930\u0923 Surreal \u0907\u0902\u091c\u0928 \u0915\u0940 \u092a\u094b\u0930\u094d\u091f\u093f\u0902\u0917 \u0915\u093e\u092b\u0940 \u0938\u0941\u091a\u093e\u0930\u0942 \u0939\u094b \u0917\u0908, \u091c\u093f\u0938\u0915\u0947 \u0932\u093f\u090f Emscripten \u092a\u094b\u0930\u094d\u091f \u0939\u0948\u0902, \u0938\u093e\u0925 \u0939\u0940 Emscripten \u092a\u0930 WebAssembly \u0915\u0947 \u0932\u093f\u090f C++ \u092e\u0947\u0902 \u090f\u0915 \u0917\u0947\u092e \u0915\u094b \u0932\u093e\u0917\u0942 \u0915\u0930\u0928\u0947 \u0915\u093e \u092e\u0947\u0930\u093e \u092a\u093f\u091b\u0932\u093e \u0905\u0928\u0941\u092d\u0935 \u092d\u0940 \u0939\u0948\u0964 \u0935\u093f\u0937\u092f \u092a\u0930 \u091c\u094d\u091e\u093e\u0928 \u0915\u0947 \u0938\u094d\u0930\u094b\u0924\u094b\u0902 \u0914\u0930 \u092d\u0902\u0921\u093e\u0930\u094b\u0902 \u0915\u0947 \u0932\u093f\u0902\u0915 \u0928\u0940\u091a\u0947 \u0926\u093f\u090f \u0917\u090f \u0939\u0948\u0902\u0964<br \/>\n<strong>\u090f\u092e-\u090f\u092e-\u090f\u092e-\u0930\u093e\u0915\u094d\u0937\u0938 \u0939\u0924\u094d\u092f\u093e!<\/strong><br \/>\n\u0907\u0938\u0915\u0947 \u0905\u0932\u093e\u0935\u093e, \u092f\u0926\u093f \u0906\u092a \u092a\u094d\u0930\u094b\u091c\u0947\u0915\u094d\u091f \u092e\u0947\u0902 \u092e\u0926\u0926 \u0915\u0930\u0928\u093e \u091a\u093e\u0939\u0924\u0947 \u0939\u0948\u0902, \u0905\u0927\u093f\u092e\u093e\u0928\u0924\u0903 \u0935\u0947\u092c\u091c\u0940\u090f\u0932\/\u0913\u092a\u0928\u091c\u0940\u090f\u0932 \u0908\u090f\u0938 \u0930\u0947\u0902\u0921\u0930\u093f\u0902\u0917 \u0915\u094b\u0921 \u0915\u0947 \u0938\u093e\u0925, \u0924\u094b \u092e\u0941\u091d\u0947 \u091f\u0947\u0932\u0940\u0917\u094d\u0930\u093e\u092e \u092e\u0947\u0902 \u0932\u093f\u0916\u0947\u0902:<br \/>\n<a href=\"https:\/\/t.me\/demenscave\" target=\"_blank\" rel=\"noopener\">https:\/\/t.me\/demenscave<\/a><\/p>\n<h3>\u0932\u093f\u0902\u0915<\/h3>\n<p><a href=\"https:\/\/demensdeum.com\/demos\/SurrealEngine\/\" target=\"_blank\" rel=\"noopener\">https:\/\/demensdeum.com\/demos\/SurrealEngine\/<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/demensdeum\/SurrealEngine-Emscripten\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/demensdeum\/SurrealEngine-Emscripten<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/dpjudas\/SurrealEngine\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/dpjudas\/SurrealEngine<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0907\u0938 \u092a\u094b\u0938\u094d\u091f \u092e\u0947\u0902 \u092e\u0948\u0902 \u092c\u0924\u093e\u090a\u0902\u0917\u093e \u0915\u093f \u0915\u0948\u0938\u0947 \u092e\u0948\u0902\u0928\u0947 Surreal \u0907\u0902\u091c\u0928 \u0917\u0947\u092e \u0907\u0902\u091c\u0928 \u0915\u094b WebAssembly \u092e\u0947\u0902 \u092a\u094b\u0930\u094d\u091f \u0915\u093f\u092f\u093e\u0964<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-109","post","type-post","status-publish","format-standard","hentry","category-notes"],"translation":{"provider":"WPGlobus","version":"3.0.5","language":"hi","enabled_languages":["en","ru","zh","de","ja","fr","es","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"es":{"title":false,"content":false,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":true,"content":true,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/posts\/109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/comments?post=109"}],"version-history":[{"count":1,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/posts\/109\/revisions"}],"predecessor-version":[{"id":110,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/posts\/109\/revisions\/110"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/media?parent=109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/categories?post=109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/hi\/wp-json\/wp\/v2\/tags?post=109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}