07-07-2019, 10:14 AM
Godot 4.0/Vulkan Renderer Update
<div><p>Over on the <a href="https://godotengine.org/">Godot</a> website and update on the status of the <a href="https://www.khronos.org/vulkan/">Vulkan</a> renderer that is the marquee feature of Godot 4.0. Vulkan is the <a href="https://www.khronos.org/">Khronos Group</a>’s new low level rendering alternative to OpenGL, that enables developers to get much closer to the metal than previous graphics APIs. Development of the new Vulkan renderer was started <a href="https://twitter.com/reduzio/status/1125392310819348480">back in May 2019</a> and has progressed rapidly since. Development is on Github under the <a href="https://github.com/godotengine/godot/tree/vulkan">vulkan code branch</a>.</p>
<p>Details from the <a href="https://godotengine.org/article/vulkan-progress-report-1">Godot news site</a>:</p>
<blockquote>
<p>One of the main features that will be present in Godot 4.0 is the new <a href="https://github.com/godotengine/godot/blob/vulkan/servers/visual/rendering_device.h"><code>RenderingDevice</code></a> abstraction. Up to now, it was impossible to do any internal modifications to how Godot does rendering. This means that if you wanted to run custom low-level rendering code to a texture or buffer, custom post-processing, custom drawing code (other than what Godot shaders allow), custom compute, etc., this was not possible without modifying Godot’s rendering backend.</p>
<p>-snip-</p>
</blockquote>
<blockquote>
<p>Currently, <code>RenderingDevice</code> is more or less complete (compute support is missing) and the 2D engine is halfway being ported. Work on 3D rendering will begin near the end of the month.</p>
</blockquote>
<p>There are a few ramifications for developers, but they are minimal.</p>
<blockquote>
<p>In modern rendering APIs, there are architecture changes that force us to break compatibility and do some things differently. The immediate one is that it is no longer possible to set repeat, filter, etc. flags on imported textures. In 2D, this will be set per canvas item (<code>Control</code> or <code>Node2D</code>) using a new set of options. It will be also be possible to specify this in the shader or the material options (or just globally, if you are making a pixel art game).</p>
</blockquote>
<p>Of course the question most people are probably asking is… when?</p>
<blockquote>
<p>The goal is to have a more or less complete rewrite of the existing Godot 3.x feature set by October (cross your fingers), hard work and long hours are being put towards this.</p>
</blockquote>
<p>Learn more, as well as how to get the Vulkan branch from GitHub in the <a href="https://youtu.be/b66LIFaZgS0">video</a> below. If you are interested in learning Godot, be sure to check out our Godot tutorial series <a href="https://www.gamefromscratch.com/page/Godot-3-Tutorial-Series-Index.aspx">available here</a>.</p>
<p align="center"><iframe class='youtube-player' type='text/html' width='853' height='480' src='https://www.youtube.com/embed/b66LIFaZgS0?version=3&rel=1&fs=1&autohide=2&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent' allowfullscreen='true' style='border:0;'></iframe></p>
<p class="under"> <span class="categories"><a href="https://www.gamefromscratch.com/category/GameDev-News.aspx">GameDev News</a></span> <span class="tags"><a href="https://www.gamefromscratch.com/?tag=/Godot" rel="tag">Godot</a></span> </p>
<hr>
</div>
<div><p>Over on the <a href="https://godotengine.org/">Godot</a> website and update on the status of the <a href="https://www.khronos.org/vulkan/">Vulkan</a> renderer that is the marquee feature of Godot 4.0. Vulkan is the <a href="https://www.khronos.org/">Khronos Group</a>’s new low level rendering alternative to OpenGL, that enables developers to get much closer to the metal than previous graphics APIs. Development of the new Vulkan renderer was started <a href="https://twitter.com/reduzio/status/1125392310819348480">back in May 2019</a> and has progressed rapidly since. Development is on Github under the <a href="https://github.com/godotengine/godot/tree/vulkan">vulkan code branch</a>.</p>
<p>Details from the <a href="https://godotengine.org/article/vulkan-progress-report-1">Godot news site</a>:</p>
<blockquote>
<p>One of the main features that will be present in Godot 4.0 is the new <a href="https://github.com/godotengine/godot/blob/vulkan/servers/visual/rendering_device.h"><code>RenderingDevice</code></a> abstraction. Up to now, it was impossible to do any internal modifications to how Godot does rendering. This means that if you wanted to run custom low-level rendering code to a texture or buffer, custom post-processing, custom drawing code (other than what Godot shaders allow), custom compute, etc., this was not possible without modifying Godot’s rendering backend.</p>
<p>-snip-</p>
</blockquote>
<blockquote>
<p>Currently, <code>RenderingDevice</code> is more or less complete (compute support is missing) and the 2D engine is halfway being ported. Work on 3D rendering will begin near the end of the month.</p>
</blockquote>
<p>There are a few ramifications for developers, but they are minimal.</p>
<blockquote>
<p>In modern rendering APIs, there are architecture changes that force us to break compatibility and do some things differently. The immediate one is that it is no longer possible to set repeat, filter, etc. flags on imported textures. In 2D, this will be set per canvas item (<code>Control</code> or <code>Node2D</code>) using a new set of options. It will be also be possible to specify this in the shader or the material options (or just globally, if you are making a pixel art game).</p>
</blockquote>
<p>Of course the question most people are probably asking is… when?</p>
<blockquote>
<p>The goal is to have a more or less complete rewrite of the existing Godot 3.x feature set by October (cross your fingers), hard work and long hours are being put towards this.</p>
</blockquote>
<p>Learn more, as well as how to get the Vulkan branch from GitHub in the <a href="https://youtu.be/b66LIFaZgS0">video</a> below. If you are interested in learning Godot, be sure to check out our Godot tutorial series <a href="https://www.gamefromscratch.com/page/Godot-3-Tutorial-Series-Index.aspx">available here</a>.</p>
<p align="center"><iframe class='youtube-player' type='text/html' width='853' height='480' src='https://www.youtube.com/embed/b66LIFaZgS0?version=3&rel=1&fs=1&autohide=2&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent' allowfullscreen='true' style='border:0;'></iframe></p>
<p class="under"> <span class="categories"><a href="https://www.gamefromscratch.com/category/GameDev-News.aspx">GameDev News</a></span> <span class="tags"><a href="https://www.gamefromscratch.com/?tag=/Godot" rel="tag">Godot</a></span> </p>
<hr>
</div>