Files
godot-website/blog/progress-report/7/index.html
2025-11-21 12:24:06 +00:00

53 lines
37 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang=en><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=author content="Godot Engine"><meta name=description content="Develop your 2D & 3D games, cross-platform projects, or even XR ideas!"><script defer data-domain=godotengine.org src=https://plausible.godot.foundation/js/script.file-downloads.outbound-links.js></script><meta property="og:site_name" content="Godot Engine"><meta property="og:url" content="https://godotengine.org/blog/progress-report/7/index.html"><meta property="og:type" content="website"><meta property="og:description" content="Develop your 2D & 3D games, cross-platform projects, or even XR ideas!"><meta property="og:image" content="https://godotengine.org/assets/share-image.webp"><meta name=twitter:card content="summary_large_image"><meta property="twitter:domain" content="godotengine.org"><meta property="twitter:url" content="https://godotengine.org/blog/progress-report/7/index.html"><meta property="og:title" content="Blog - Progress Report - Page 7 Godot Engine"><title>Blog - Progress Report - Page 7 Godot Engine</title>
<link rel=alternate type=application/rss+xml title="Godot News" href=/rss.xml><link rel=alternate type=application/json title="Godot News" href=/rss.json><link rel=alternate type=application/atom+xml title="Godot News" href=/atom.xml><link rel=icon href=/assets/favicon.png sizes=any><link rel=icon href=/assets/favicon.svg type=image/svg+xml><link rel=stylesheet href=/assets/css/main.css?121><link rel=stylesheet href=/assets/css/header.css?6><link rel=stylesheet href=/assets/css/tobii.min.css><link rel=preload as=font href=/assets/fonts/Montserrat-Italic-VariableFont_wght.woff2 crossorigin><link rel=preload as=font href=/assets/fonts/Montserrat-VariableFont_wght.woff2 crossorigin><link rel=me href=https://mastodon.gamedev.place/@godotengine><input type=checkbox id=nav_toggle_cb><header class="flex column"><div class="container flex align-center"><div id=nav_head><a href=/ id=logo-link><img class=nav-logo src=/assets/logo.svg width=136 height=48 alt="Godot Engine">
<img class="nav-logo dark-logo" src=/assets/logo_dark.svg width=136 height=48 alt="Godot Engine"></a><div class=mobile-links><span class="fund mobile"><a href=https://fund.godotengine.org><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width:13px;fill:#fff;margin-right:4px"><path d="M47.6 300.4 228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6.0 115.2.0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg> Donate</a></span>
<label for=nav_toggle_cb id=nav_toggle_btn><img src=/assets/icons/hamburger.svg width=24 height=24 alt="Main menu"></label></div></div><nav id=nav><ul class=left><li><a href=/features/ data-dropdown=features-dropdown>Features</a><li><a href=/showcase/>Showcase</a><li><a href=/blog/>Blog</a><li><a href=/community/ data-dropdown=community-dropdown>Community</a><li><a href=https://godotengine.org/asset-library/asset>Assets</a><li class=mobile-only><a href=/consoles/>Console support</a></ul><ul class=right><li><a href=/download/windows/ class=set-os-download-url>Download</a><li><a href=https://docs.godotengine.org>Docs</a><li><a href=https://contributing.godotengine.org/en/latest/organization/how_to_contribute.html>Contribute</a><li class="fund desktop"><a href=https://fund.godotengine.org><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width:13px;fill:#fff;margin-right:4px;top:1px;position:relative"><path d="M47.6 300.4 228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6.0 115.2.0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z"/></svg> Donate</a></ul></nav></div></header><div class=nav-dropdown-menu id=features-dropdown><a href=/features/ class=touch-only>Features</a>
<a href=/consoles/>Console support</a></div><div class=nav-dropdown-menu id=community-dropdown><a href=/community/ class=touch-only>Community</a>
<a href=https://forum.godotengine.org>Forum</a>
<a href=/events/>Events</a></div><script>document.addEventListener("DOMContentLoaded",function(){const e=document.querySelectorAll("[data-dropdown]");e.forEach(e=>{const n=e.getAttribute("data-dropdown"),t=document.getElementById(n);if(t){let n=-1;const i=()=>{if(n===-1)return;clearTimeout(n),n=-1},a=()=>t.style.display==="block",r=()=>{if(a())return;if(window.innerWidth<1200)return;i();const n=e.getBoundingClientRect();t.style.top=n.bottom+"px",t.style.left=n.left+"px",t.style.display="block",e.classList.add("dropdown-open")},s=({instant:s=!1}={})=>{if(!a())return;const o=()=>{i(),t.style.display="none",e.classList.remove("dropdown-open")};if(s){o();return}n=setTimeout(o,100)},l=e=>{if(window.innerWidth<1200)return;e.preventDefault(),a()?s({instant:!0}):r()},c=e=>t=>{t.pointerType==="touch"&&e(t)},o=e=>t=>{t.pointerType!=="touch"&&e(t)};e.addEventListener("pointerup",c(e=>l(e))),document.documentElement.addEventListener("pointerup",c(n=>{!e.contains(n.target)&&!t.contains(n.target)&&s({instant:!0})})),e.addEventListener("pointerenter",o(e=>r())),e.addEventListener("pointerleave",o(e=>s())),t.addEventListener("pointerenter",o(e=>i())),t.addEventListener("pointerleave",o(e=>s()))}})})</script><main><style>.posts{display:grid;grid-template-columns:1fr;gap:30px}@media(min-width:768px){.posts{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.posts{grid-template-columns:1fr 1fr 1fr}}.head .main{display:grid;gap:30px;padding:20px 0 39px}.head .main>:last-child,.head .main>:first-child{margin:0}@media(min-width:902px){.head .main{height:120px;grid-template-columns:1fr 1fr;align-content:center;padding:0}.head .main .search-bar{margin-top:6px;justify-self:end}}.tags{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tags h3{margin-top:1rem;display:inline-block;margin:0;font-size:19px}</style><div class=head><div class="container flex eqsize responsive"><div class=main><h1 class=intro-title>Blog</h1><form class=search-bar action=https://duckduckgo.com/><input type=hidden name=sites value=godotengine.org/article>
<input name=q maxlength=300 placeholder="Search articles">
<button class="btn search-bar-btn">
<img width=24 height=24 src=/assets/icons/search.svg alt=search title=search></button></form></div></div></div><div class=container><div class=tags><h3>Categories</h3><a href=/blog/ title="Show all categories"><div class="tag tag--default">All</div></a><a href=/blog/news title="General news that don't fit in other categories."><div class="tag tag--">News</div></a><a href=/blog/progress-report title="Progress report about a specific engine subsystem in Godot."><div class="tag tag-- active">Progress Report</div></a><a href=/blog/events title="Physical and online Godot-related event announcements."><div class="tag tag--">Events</div></a><a href=/blog/release title="Godot stable release announcements. See Pre-release category for alphas, betas and release candidates."><div class="tag tag--">Release</div></a><a href=/blog/pre-release title="Godot pre-release announcement (alpha, beta or release candidate)."><div class="tag tag--">Pre-release</div></a><a href=/blog/showcase title="Showreel video postings and showcase interviews. Showreel-related announcements are in the News category."><div class="tag tag--">Showcase</div></a></div><h3 style=margin-top:1rem>Filtered by: Progress Report</h3><div class="flex pagination"><a class=pagination-previous href=https://godotengine.org/blog/progress-report/6/>← Previous</a>
<a title="Blog - Progress Report - Page 4" href=https://godotengine.org/blog/progress-report/4/>4</a>
<a title="Blog - Progress Report - Page 5" href=https://godotengine.org/blog/progress-report/5/>5</a>
<a title="Blog - Progress Report - Page 6" href=https://godotengine.org/blog/progress-report/6/>6</a>
<a class=active title="Blog - Progress Report - Page 7" href=https://godotengine.org/blog/progress-report/7/>7</a>
<a title="Blog - Progress Report - Page 8" href=https://godotengine.org/blog/progress-report/8/>8</a>
<a class=pagination-next href=https://godotengine.org/blog/progress-report/8/>Next →</a></div><div class=posts><a href=/article/godot-gets-csg-support/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ae/4d0/8c6/5ae4d08c674b5082905650.png) href=/article/godot-gets-csg-support/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;28 April 2018</span></div><h3>Godot gets CSG support</h3><p class=excerpt>After years of discussion on how to implement CSG, Godot finally gets suport for it. This implementation is simple, but makes use of Godot's amazing architecture to shine.</div></article></a><a href=/article/godot-google-summer-code-2018/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ad/f38/7a8/5adf387a8d4f0692142419.png) href=/article/godot-google-summer-code-2018/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/vnen.webp alt="George Marques" loading=lazy>
<span class=by>George Marques </span><span class=date>&nbsp;-&nbsp;24 April 2018</span></div><h3>Godot in Google Summer of Code 2018</h3><p class=excerpt>Godot has been accepted into the Google Summer of Code program in 2018. This summer we will have 5 students working on new features to the engine.</div></article></a><a href=/article/handling-axis-godot/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ad/bb4/fc8/5adbb4fc8b26e174840743.png) href=/article/handling-axis-godot/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/groud.png alt="Gilles Roudiere" loading=lazy>
<span class=by>Gilles Roudiere </span><span class=date>&nbsp;-&nbsp;22 April 2018</span></div><h3>Introducing the new axis handling system</h3><p class=excerpt>For the past months, popular demand has been growing for a way to propery map controller axes in Godot. For a long time Godot was only able to map a single event to an action, making it impossible to deal with analog strengths. Today (after months of discussions), this problem has been solved, and it only took very little amount of changes to the current input mapping system!</div></article></a><a href=/article/gles2-and-gdnative-progress-report-4/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ad/505/3b6/5ad5053b6e0ad093497368.png) href=/article/gles2-and-gdnative-progress-report-4/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/default_avatar.svg alt=karroffel loading=lazy>
<span class=by>karroffel </span><span class=date>&nbsp;-&nbsp;16 April 2018</span></div><h3>GLES2 and GDNative, progress report #4</h3><p class=excerpt>Latest update on the GLES2 and GDNative developments. This month, a lot of time has been spend on refactoring the way materials work together with shaders, but also the C++ bindings got some nice new make-up!</div></article></a><a href=/article/gles2-and-gdnative-progress-report-3/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5ab/2db/729/5ab2db729bee7065606296.png) href=/article/gles2-and-gdnative-progress-report-3/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/default_avatar.svg alt=karroffel loading=lazy>
<span class=by>karroffel </span><span class=date>&nbsp;-&nbsp;21 March 2018</span></div><h3>GLES2 and GDNative, progress report #3</h3><p class=excerpt>Another month, another progress report! This time with the early beginnings of 3D rendering in GLES2 and some GDNative ecosystem updates.</div></article></a><a href=/article/update-on-recent-vr-developments/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5a8/aa0/2a3/5a8aa02a3024a585722524.png) href=/article/update-on-recent-vr-developments/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/bastiaan.jpg alt="Bastiaan Olij" loading=lazy>
<span class=by>Bastiaan Olij </span><span class=date>&nbsp;-&nbsp;21 February 2018</span></div><h3>Update on recent VR developments</h3><p class=excerpt>Godot VR support is slowly improving. The OpenVR drivers are now supplied through the asset library and we have the first version of our Oculus drivers available!</div></article></a><a href=/article/gles2-and-gdnative-progress-report-2/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5a8/20c/237/5a820c237c611332498492.png) href=/article/gles2-and-gdnative-progress-report-2/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/default_avatar.svg alt=karroffel loading=lazy>
<span class=by>karroffel </span><span class=date>&nbsp;-&nbsp;12 February 2018</span></div><h3>GLES2 and GDNative, progress report #2</h3><p class=excerpt>Because of the big release there have been many GDNative related tasks that needed to be addressed. Apart from that, the month was mostly spent on implementing more 2D items in the renderer as well as working on getting custom shaders running.</div></article></a><a href=/article/gles2-and-gdnative-progress-report-1/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5a6/7a3/a28/5a67a3a28fbaf611207753.png) href=/article/gles2-and-gdnative-progress-report-1/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/default_avatar.svg alt=karroffel loading=lazy>
<span class=by>karroffel </span><span class=date>&nbsp;-&nbsp;23 January 2018</span></div><h3>GLES2 and GDNative, progress report #1</h3><p class=excerpt>Thanks to our very supporting patrons I have the opportunity to work part-time on Godot! My work will be mostly about implementing an OpenGL ES 2.0 compatible rendering backend for Godot 3.1, as well as maintaining the GDNative system and bindings.
The first month I spent on getting started and familiar with the rendering in Godot.</div></article></a><a href=/article/look-gdnative-architecture/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5a4/bcf/c4a/5a4bcfc4a5874955869035.png) href=/article/look-gdnative-architecture/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/default_avatar.svg alt=karroffel loading=lazy>
<span class=by>karroffel </span><span class=date>&nbsp;-&nbsp; 2 January 2018</span></div><h3>A look at the GDNative architecture</h3><p class=excerpt>GDNative changed a lot since it was first introduced. From being a scripting-centered module it quickly became a more general purpose tool than we initially assumed. Here we present the way GDNative and related technologies work together.</div></article></a><a href=/article/introducing-new-last-minute-lightmapper/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5a3/27e/110/5a327e110ab39178158316.png) href=/article/introducing-new-last-minute-lightmapper/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;14 December 2017</span></div><h3>Introducing the new "last minute" lightmapper</h3><p class=excerpt>A considerable number of users requested a more efficient way to have GI (Global Illumination) in their projects. Godot 3.0 currenty offers the GIProbe node, which provides a real-time approximation to GI. This generally works and looks pretty, but it's quite shader intensive, which makes it not work on mobile or low end GPUs. The newly added VR support also suffers with GIProbe, as it has to render in very high resolutions.</div></article></a><a href=/article/introducing-onion-skinning-godot-game-engine/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5a1/b3d/3f2/5a1b3d3f23c11640221120.png) href=/article/introducing-onion-skinning-godot-game-engine/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;26 November 2017</span></div><h3>Introducing onion skinning for the Godot game engine</h3><p class=excerpt>Right on time before Beta Freeze, our superstar contributor Pedro Estebanez completed Onion Skinning support! This implementation is really good, and allows visualizing future and past frames. This helps animators have a much greater deal of control on repositioning objects on every frame.</div></article></a><a href=/article/godot-3-vr-and-ar-support/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/5a0/060/6e2/5a00606e2f006284076643.png) href=/article/godot-3-vr-and-ar-support/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/bastiaan.jpg alt="Bastiaan Olij" loading=lazy>
<span class=by>Bastiaan Olij </span><span class=date>&nbsp;-&nbsp; 6 November 2017</span></div><h3>Godot 3's VR and AR support</h3><p class=excerpt>The past year we've been hard at work behind the scenes adding support for AR and VR to Godot. Support for basic mobile VR and full support for OpenVR is ready for Alpha 2. OpenHMD support is being worked on and we have a working ARKit implementation.</div></article></a><a href=/article/godot-30-switches-bullet-3-physics/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/59f/f1b/66d/59ff1b66d1fbe773318157.png) href=/article/godot-30-switches-bullet-3-physics/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp; 5 November 2017</span></div><h3>Godot 3.0 switches to Bullet for physics</h3><p class=excerpt>When Godot started (a decade ago), there were not many good physics engine available and Godot always had quite demanding API requirements for them (such as Area nodes, KinematicBody, RayCast shapes, etc.), so they were not usable without a lot of modification. This led us to implementing our own custom engine. Now, thanks to the work of Andrea Catania, we are introducing Bullet as a new and better maintained backend for the 3D physics!</div></article></a><a href=/article/introducing-csharp-godot/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/59e/b96/e71/59eb96e712765766078430.png) href=/article/introducing-csharp-godot/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/ignacio.webp alt="Ignacio Roldán Etcheverry" loading=lazy>
<span class=by>Ignacio Roldán Etcheverry </span><span class=date>&nbsp;-&nbsp;21 October 2017</span></div><h3>Introducing C# in Godot</h3><p class=excerpt>The next alpha release of Godot 3.0 is about to be published and it will be the first version that ships with C# support. This post gives an introduction to C# scripting in Godot and how to use it in your project.</div></article></a><a href=/article/godot-3-renderer-design-explained/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/59c/821/f4a/59c821f4a5e6c895938383.jpg) href=/article/godot-3-renderer-design-explained/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;24 September 2017</span></div><h3>Godot 3's renderer design explained</h3><p class=excerpt>Godot uses a considerably different approach to rendering (and rendering abstraction) than other, popular, game engines. The motivation behind it was not to achieve the maximum performance in extreme use cases, but accomodate better to most user's needs.</div></article></a><a href=/article/progress-report-april-may-2017/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/594/103/ff1/594103ff1f172007468975.jpg) href=/article/progress-report-april-may-2017/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/akien.webp alt="Rémi Verschelde" loading=lazy>
<span class=by>Rémi Verschelde </span><span class=date>&nbsp;-&nbsp;14 June 2017</span></div><h3>Progress report April/May 2017</h3><p class=excerpt>The Godot Engine contributors were not idle during Juan's long holidays - lots of interesting features were implemented over the last two months, and they all converge towards making Godot 3.0 an impressive release! This progress reports covers the work done by all contributors apart from Juan, who will showcase his recent renderer improvements in the next progress report.</div></article></a><a href=/article/godot-30-progress-report-6/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/58e/c05/93c/58ec0593cf4c6287179572.gif) href=/article/godot-30-progress-report-6/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp; 9 April 2017</span></div><h3>Godot 3.0 progress report #6</h3><p class=excerpt>Another month of work, another progress report. This month work was divided into completing the exporters, GDNative (formerly DLScript) and the new particle system.</div></article></a><a href=/article/dlscript-here/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/58e/4eb/cb6/58e4ebcb63d98659868573.png) href=/article/dlscript-here/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/default_avatar.svg alt=karroffel loading=lazy>
<span class=by>karroffel </span><span class=date>&nbsp;-&nbsp; 5 April 2017</span></div><h3>GDNative is here!</h3><p class=excerpt>A short introduction to the new GDNative module (formerly DLScript) and how to use it in a project. This is a very early version, but the overall process will stay the same.</div></article></a><a href=/article/godot-30-new-progress-report-and-gdc/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/58c/800/19e/58c80019eb670861253577.jpg) href=/article/godot-30-new-progress-report-and-gdc/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;12 March 2017</span></div><h3>Godot 3.0, new progress report and GDC</h3><p class=excerpt>February was spent mostly rewriting the import and export workflow of Godot, so not many pretty visual features were added. At the end of the month, I also went to San Francisco for GDC.</div></article></a><a href=/article/godot-30-new-internals-progress-report-4/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/589/720/444/5897204442764550068699.png) href=/article/godot-30-new-internals-progress-report-4/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp; 4 February 2017</span></div><h3>Godot 3.0 new internals, progress report #4</h3><p class=excerpt>Most of the internal code in Godot was written over a decade ago, and many design decisions that were taken back then, did not stand the test of time. January was spent mostly updating Godot internals and breaking compatibility, now that we have the chance.</div></article></a><a href=/article/godots-new-renderer-progress-report-3/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/586/7a0/005/5867a0005ade3286241109.jpg) href=/article/godots-new-renderer-progress-report-3/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp;31 December 2016</span></div><h3>Godot's new renderer, progress report #3</h3><p class=excerpt>It's been a month since the second progress report, and progress continues towards the new Godot renderer. This milestone was (and will likely be) the most difficult, due to the techniques that had to be implemented.</div></article></a><a href=/article/godots-new-renderer-progress-report-2/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/584/4da/2c0/5844da2c08826494171869.png) href=/article/godots-new-renderer-progress-report-2/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp; 4 December 2016</span></div><h3>Godot's new renderer, progress report #2</h3><p class=excerpt>It's been a month since the first [progress report](https://godotengine.org/article/godots-new-renderer-progress-report-1), and progress continues towards the new Godot renderer. Little by little every system falls into place, and rendering starts feeling a lot more mature.</div></article></a><a href=/article/onward-new-3d-renderer/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/582/b4e/3d2/582b4e3d2aa2d842351907.jpg) href=/article/onward-new-3d-renderer/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/akien.webp alt="Rémi Verschelde" loading=lazy>
<span class=by>Rémi Verschelde </span><span class=date>&nbsp;-&nbsp;15 November 2016</span></div><h3>Onward to the new 3D renderer</h3><p class=excerpt>We decided to skip the planned 2.2 release to work at full steam on the upcoming Godot 3.0 and its new OpenGL ES 3.0 / OpenGL 3.3 renderer. We aim for a Godot 3.0 release in the first quarter of 2017, and it should bring an incredible load of features and improvements. Juan Linietsky will also be working full-time on Godot for the coming months thanks to the Mozilla MOSS award that we received earlier this year.</div></article></a><a href=/article/godots-new-renderer-progress-report-1/ style=text-decoration:none><article class=article-card><div class=thumbnail style=background-image:url(/storage/app/uploads/public/581/887/929/5818879291fdb843399564.png) href=/article/godots-new-renderer-progress-report-1/></div><div class=content><div class=info><img class=avatar width=25 height=25 src=/assets/images/authors/reduzio.webp alt="Juan Linietsky" loading=lazy>
<span class=by>Juan Linietsky </span><span class=date>&nbsp;-&nbsp; 1 November 2016</span></div><h3>Godot's new renderer, progress report #1</h3><p class=excerpt>As many of you have probably heard, a new rendering backend is being worked on for Godot. One of the most common comments when evaluating godot by potential users is that, for 2D, Godot is awesome but for 3D it's pretty far from the mainstream alternatives.
For Godot 3.0 (our new release being worked on) we are working hard to change this.</div></article></a></div><div class="flex pagination"><a class=pagination-previous href=https://godotengine.org/blog/progress-report/6/>← Previous</a>
<a title="Blog - Progress Report - Page 4" href=https://godotengine.org/blog/progress-report/4/>4</a>
<a title="Blog - Progress Report - Page 5" href=https://godotengine.org/blog/progress-report/5/>5</a>
<a title="Blog - Progress Report - Page 6" href=https://godotengine.org/blog/progress-report/6/>6</a>
<a class=active title="Blog - Progress Report - Page 7" href=https://godotengine.org/blog/progress-report/7/>7</a>
<a title="Blog - Progress Report - Page 8" href=https://godotengine.org/blog/progress-report/8/>8</a>
<a class=pagination-next href=https://godotengine.org/blog/progress-report/8/>Next →</a></div></div></main><footer class=footer-global><div class=wrapper><div class=columns><div class=col><h2>Godot Engine</h2><ul><li><a class=set-os-download-url href=/download>Download</a><li><a href=https://docs.godotengine.org>Documentation</a><li><a href=/features/>Features</a><li><a href=https://editor.godotengine.org/releases/latest/>Web editor</a><li><a href=/download/archive/>Release archive</a><li><a href=https://github.com/godotengine>Source code</a></ul></div><div class=col><h2>Project</h2><ul><li><a href=/blog/>Blog</a><li><a href=/code-of-conduct/>Code of conduct</a><li><a href=/governance/>Governance</a><li><a href=/teams/>Teams</a><li><a href=/priorities/>Priorities</a><li><a href=/community/>Communities</a></ul></div><div class=col><h2>Resources</h2><ul><li><a href=https://godotengine.org/asset-library/asset>Asset library</a><li><a href=/press/>Press kit</a><li><a href=/showcase/>Showcase</a><li><a href=/education/>Education</a><li><a href=/consoles/>Console support</a></ul></div><div class=col><h2>Foundation</h2><ul><li><a href=https://godot.foundation/>About</a><li><a href=https://fund.godotengine.org>Donate</a><li><a href=/license/>License</a><li><a href=/privacy-policy/>Privacy policy</a><li><a href=/contact/>Contact us</a></ul></div></div><hr><div class=credits-and-socials><p>© 2007-2025 Juan Linietsky, Ariel Manzur and <a href=https://github.com/godotengine/godot/blob/master/AUTHORS.md target=_blank rel=noopener>contributors</a>. Hosted by the <a href=https://godot.foundation/ target=_blank rel=noopener>Godot Foundation</a>. Website <a href=https://github.com/godotengine/godot-website target=_blank rel=noopener>source code on GitHub</a>.<div class=social><a href=https://github.com/godotengine target=_blank rel=noopener title=GitHub><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6.0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6.0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3.0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1.0-6.2-.3-40.4-.3-61.4.0.0-70 15-84.7-29.8.0.0-11.4-29.1-27.8-36.6.0.0-22.9-15.7 1.6-15.4.0.0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5.0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9.0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4.0 33.7-.3 75.4-.3 83.6.0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6.0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9.0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</a><a href=https://bsky.app/profile/godotengine.org target=_blank rel=noopener title=Bluesky><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M407.8 294.7c-3.3-.4-6.7-.8-10-1.3 3.4.4 6.7.9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3 61.6-9.4 37.5-1.7 21.6 5.5 3.3 13.8.0 41.9.0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7 3.3-.5 6.6-.9 10-1.4-3.3.5-6.6 1-10 1.4-93.9 14-177.3 48.2-67.9 169.9C220.6 589.1 265.1 437.8 288 361.1c22.9 76.7 49.2 222.5 185.6 103.4 102.4-103.4 28.1-156-65.8-169.9-3.3-.4-6.7-.8-10-1.3 3.4.4 6.7.9 10 1.3 64.1 7.1 133.6-15.1 153.2-80.7C566.9 194 576 75 576 58.4s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8C385.1 81.9 314.1 176.4 288 227.1z"/></svg>
</a><a href=https://mastodon.gamedev.place/@godotengine target=_blank rel=noopener title=Mastodon><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.6-28.4-290.5.0.0.0-63.7 28.5-63.7 125.7.0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54a102.5 102.5.0 01-.9-13.9c85.6 20.9 158.7 9.1 178.8 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zm-75.1 125.2h-46.6V190.1c0-49.7-64-51.6-64 6.9v62.5H201V197c0-58.5-64-56.6-64-6.9v114.2H90.2c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175z"/></svg>
</a><a href=https://discord.gg/godotengine target=_blank rel=noopener title=Discord><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M524.5 69.8a1.5 1.5.0 00-.8-.7A485.1 485.1.0 00404.1 32a1.8 1.8.0 00-1.9.9 337.5 337.5.0 00-14.9 30.6 447.8 447.8.0 00-134.4.0 309.5 309.5.0 00-15.1-30.6 1.9 1.9.0 00-1.9-.9A483.7 483.7.0 00116.1 69.1a1.7 1.7.0 00-.8.7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 00.8 1.4A487.7 487.7.0 00176 479.9a1.9 1.9.0 002.1-.7 348.2 348.2.0 0030-48.8 1.9 1.9.0 00-1-2.6 321.2 321.2.0 01-45.9-21.9 1.9 1.9.0 01-.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8.0 011.9-.3c96.2 43.9 200.4 43.9 295.5.0a1.8 1.8.0 011.9.2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9.0 01-.2 3.1 301.4 301.4.0 01-45.9 21.8 1.9 1.9.0 00-1 2.6 391.1 391.1.0 0030 48.8 1.9 1.9.0 002.1.7 486 486 0 00147.2-74.1 1.9 1.9.0 00.8-1.4c12.2-126.7-20.6-236.8-87-334.5zm-302 267.8c-29 0-52.8-26.6-52.8-59.2s23.4-59.3 52.8-59.3c29.7.0 53.3 26.8 52.8 59.2.0 32.7-23.4 59.3-52.8 59.3zm195.4.0c-29 0-52.8-26.6-52.8-59.2s23.3-59.3 52.8-59.3c29.7.0 53.3 26.8 52.8 59.2.0 32.7-23.2 59.3-52.8 59.3z"/></svg>
</a><a href=https://www.reddit.com/r/godot title=Reddit target=_blank rel=noopener><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 256C0 114.6 114.6.0 256 0S512 114.6 512 256 397.4 512 256 512H37.1c-13.7.0-20.5-16.5-10.9-26.2L75 437C28.7 390.7.0 326.7.0 256zM349.6 153.6c23.6.0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6.0-37.8 14.6-41.8 34-34.5 3.7-61.4 33-61.4 68.4v.2c-37.5 1.6-71.8 12.3-99 29.1-10.1-7.8-22.8-12.5-36.5-12.5-33 0-59.8 26.8-59.8 59.8.0 24 14.1 44.6 34.4 54.1 2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54 0-33-26.8-59.8-59.8-59.8-13.7.0-26.3 4.6-36.4 12.4-27.4-17-62.1-27.7-1e2-29.1v-.2c0-25.4 18.9-46.5 43.4-49.9 4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7.0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6-31.4-8.8-30.4-30.5S160.3 247 177 247zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9.8-6.2 3.9-6.5 18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1.3 5.1 3.6 3.9 6.5z"/></svg>
</a><a href=/rss.xml title=RSS target=_blank rel=noopener><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M64 32C28.7 32 0 60.7.0 96V416c0 35.3 28.7 64 64 64h320c35.3.0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 136c0-13.3 10.7-24 24-24 137 0 248 111 248 248 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-2e2-2e2-2e2-13.3.0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24 83.9.0 152 68.1 152 152 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104-13.3.0-24-10.7-24-24zm0 120a32 32 0 1164 0 32 32 0 11-64 0z"/></svg></a></div></div></div></footer><script defer src=/assets/js/localize.js?7></script><script defer src=/assets/js/tobii.min.js></script><script defer src=/assets/js/highlight.min.js?1></script><script defer src=/assets/js/highlight.gdscript.min.js?1></script><script>document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll("pre:not(.manual) code").forEach(e=>{hljs.highlightBlock(e)}),document.querySelectorAll("[data-post-date]").forEach(e=>{Date.parse(e.dataset.postDate)>Date.now()-1e3*60*60*48&&e.classList.add("post-recent-highlight")}),new Tobii({zoom:!1});const e=document.querySelectorAll(".set-os-download-url");for(let n=0;n<e.length;n++){const s=e[n];let o="download";"version"in s.dataset&&s.dataset.version==="3"&&(o="download/3.x");let t="windows";navigator.platform.indexOf("Mac")!==-1?t="macos":navigator.userAgent.indexOf("Android")!==-1?t="android":navigator.platform.indexOf("Linux")!==-1&&(t="linux"),s.href=`/${o}/${t}/`}})</script>