{"id":185,"date":"2020-04-30T12:39:57","date_gmt":"2020-04-30T12:39:57","guid":{"rendered":"http:\/\/rawengine.dev\/?p=185"},"modified":"2023-02-07T18:17:31","modified_gmt":"2023-02-07T18:17:31","slug":"in-development","status":"publish","type":"post","link":"https:\/\/rawengine.dev\/index.php\/2020\/04\/30\/in-development\/","title":{"rendered":"In-development"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_66594\"  width=\"770\" height=\"433\"  data-origwidth=\"770\" data-origheight=\"433\" src=\"https:\/\/www.youtube.com\/embed\/nY2C2aaVsV8?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> Just a short update video of some stuff that&#8217;s still in progress for the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a>. Added support for the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23raycast\">#raycast<\/a> vehicles. Added some basic weapon and the player control systems. <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_21248\"  width=\"770\" height=\"433\"  data-origwidth=\"770\" data-origheight=\"433\" src=\"https:\/\/www.youtube.com\/embed\/6ck2drxRFMc?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> The &#8220;Model Importer&#8221; is an integral part of the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a> editor. It is mainly using the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23Assimp\">#Assimp<\/a> library for the waraity of supported model formats. But for the FBX models I&#8217;m using the Autodesk FBX SDK. <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_63515\"  width=\"770\" height=\"433\"  data-origwidth=\"770\" data-origheight=\"433\" src=\"https:\/\/www.youtube.com\/embed\/iLPe0Zn0MnQ?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> The goal is to be able to support some older device that lacks the VTF (Vertex Texture Fetch) hardware feature. In this case I found the &#8220;GeoMipMapping&#8221; to be the most suitable LOD algorithm. For the newer devices I would consider using the CDLOD algorithm. This video just shows some ruff implementation. There is still some work that needs to be done. There are still some seams visable. Still need to do some optimizations and implement some LOD morphing stuff. The GeoMipMapping LOD algorithm is based on the document: &#8220;Fast Terrain Rendering Using Geometrical MipMapping&#8221;  <a rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/redirect?redir_token=fEXX_29w3l41K97rYydbnk0LaxJ8MTU4ODMzNjczNUAxNTg4MjUwMzM1&amp;q=https%3A%2F%2Fwww.flipcode.com%2Farchives%2Farticle_geomipmaps.pdf&amp;v=iLPe0Zn0MnQ&amp;event=video_description\" target=\"_blank\">https:\/\/www.flipcode.com\/archives\/art&#8230;<\/a> <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_51382\"  width=\"770\" height=\"433\"  data-origwidth=\"770\" data-origheight=\"433\" src=\"https:\/\/www.youtube.com\/embed\/q_BDZrU4vWo?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> Landscape and Android platform testing.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_40188\"  width=\"770\" height=\"433\"  data-origwidth=\"770\" data-origheight=\"433\" src=\"https:\/\/www.youtube.com\/embed\/AjwD2ZvdFpI?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> A short video of the in-development <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a> <a href=\"https:\/\/www.youtube.com\/results?search_query=%23Editor\">#Editor<\/a> that is being written in C++ using the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23Qt\">#Qt<\/a> framework.<br><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_68295\"  width=\"770\" height=\"433\"  data-origwidth=\"770\" data-origheight=\"433\" src=\"https:\/\/www.youtube.com\/embed\/_-Aox2S0EvI?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> Some early experimentation on implementing neworking support for the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a> project. In the left side you can see a vanilla <a href=\"https:\/\/www.youtube.com\/results?search_query=%23Quake2\">#Quake2<\/a> and the player character that is actually controlled from the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a> client (window on the right) connected to the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23Quake2\">#Quake2<\/a> server. The goal of all this is just to have some quick starting point for experimentation, inspiration and fun. <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a> does not use any of the actual <a href=\"https:\/\/www.youtube.com\/results?search_query=%23Quake2\">#Quake2<\/a> code. It is just using the same networking protocol rules. The <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a> will use it&#8217;s own networking protocol in the near future. Disclaimer: In the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23Quake2\">#Quake2<\/a> window you can see that the player character is able to crouch and jump, but in the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a> client window player is not performing those actions. This is because the visual side of those actions are not implemented on the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a>, but actual commands are still sent to the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23Quake2\">#Quake2<\/a> server. <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_70889\"  width=\"770\" height=\"433\"  data-origwidth=\"770\" data-origheight=\"433\" src=\"https:\/\/www.youtube.com\/embed\/MATGsFKiQ_Q?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> A short video from the <a href=\"https:\/\/www.youtube.com\/results?search_query=%23RAWEngine\">#RAWEngine<\/a> in-development landscape system using camera frustum bounded infinite chunks.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_64602\"  width=\"770\" height=\"578\"  data-origwidth=\"770\" data-origheight=\"578\" src=\"https:\/\/www.youtube.com\/embed\/k-Un-T2wu8s?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_94887\"  width=\"770\" height=\"578\"  data-origwidth=\"770\" data-origheight=\"578\" src=\"https:\/\/www.youtube.com\/embed\/jka1Yk_FgYU?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> Camera frustum bounded infinite chunks (Update 2)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe  id=\"_ytid_72793\"  width=\"770\" height=\"578\"  data-origwidth=\"770\" data-origheight=\"578\" src=\"https:\/\/www.youtube.com\/embed\/Ve9TvMxXGa4?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;modestbranding=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><figcaption> Camera frustum bounded infinite chunks<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0},"categories":[12],"tags":[],"_links":{"self":[{"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/posts\/185"}],"collection":[{"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/comments?post=185"}],"version-history":[{"count":4,"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/posts\/185\/revisions"}],"predecessor-version":[{"id":336,"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/posts\/185\/revisions\/336"}],"wp:attachment":[{"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/media?parent=185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/categories?post=185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rawengine.dev\/index.php\/wp-json\/wp\/v2\/tags?post=185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}