what does that mean for ogre? the new gl3 system into the bucket? One renderer for all systems? Even for mobile? Any plans?Waiting for Vulkan
As many of you know, Vulkan will be the next open and multi platform rendering 2D and 3D API. While many claim it will just be an additional API, those of us who have been in the industry for long enough know well that Vulkan will make other APIs obsolete.
CAD and 3D DCC applications will most likely continue to using OpenGL, but for anything related to games OpenGL will be no more.
Vulkan will work on all PC platforms: Windows, OSX and Linux. It will also work on any modern mobile devices, iOS and Android. Vulkan will run in so many platforms that even the idea of using DirectX in the future is starting to look unfamiliar for large studios. It also fixes most of the gripes everyone has with modern OpenGL: Better drivers (due to much less intrinsic complexity) and much larger industry backing. Industry backing for Vulkan is, in fact, so big that everyone but Microsoft is on board.
As this will be undoubtedly the new, de facto, 3D API for games, all work on improving the current 3D renderer has been halted until drivers and API reference are published (which will be this year at some point).
Godot developers love 3D programming, and can’t wait to begin working on a new, awesome backend, with support for physically based rendering, modern global illumination, etc. But this will have to be sometime later this year or beginning of next, otherwise all the work will go to the trashbin once Vulkan comes out.
Vulkan
- Thyrion
- Goblin
- Posts: 224
- Joined: Wed Jul 31, 2013 1:58 pm
- Location: germany
- x 8
Vulkan
I've just read the article at the godot site ...
-
- OGRE Expert User
- Posts: 1227
- Joined: Thu Dec 11, 2008 7:56 pm
- Location: Bristol, UK
- x 157
Re: Vulkan
As far as I am aware there will be another render system, actually probably 2 as there will be one for DirectX12. The ogre team, especially dark_sylinc, are well versed on the new rendering APIs and the new changes in 2.1 are all done with them in mind.
-
- Goblin
- Posts: 253
- Joined: Sat Sep 28, 2013 3:46 pm
- x 10
Re: Vulkan
Glad to hear that. Nice to hear Ogre3d keeps up with technology
- dark_sylinc
- OGRE Team Member
- Posts: 5296
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1278
- Contact:
Re: Vulkan
Regarding the subject:
Pretty much what the Godot guys say, with a couple remarks:
We have a news post coming about the uav branch so stay tuned on the main page.
Pretty much what the Godot guys say, with a couple remarks:
- Significant work is being done in the 2.1-uav branch to support asynchronous shaders and resource transitions in an efficient manner that are required by both D3D12 & Vulkan.
- I'm not so confident about Vulkan on the Apple ecosystems, because they've been very clearly showing in the open they want to force everyone into using Metal for their own closed system; just the same business moves they do on everything else. I hope I'm wrong.
- We won't move to Vulkan/D3D12 right away just for the sake of moving or putting a 12 stamp instead of 11 (because you know, 12 is bigger than 11!). The main benefits from using these new APIs is lower API overhead, and since Ogre 2.1 used an AZDO approach, we're now severely GPU bound. We also don't have infinite man power.
- Nonetheless, the main reasons to support Vulkan/D3D12 is because they're the best way to get mobile support (Android, Win Phone), GLES just sucks for AZDO or any sort of low level overhead rendering; and there are a few GPU performance enhancements that can be taken advantage once you code for them, like asynchronous shaders and cross-GPU talk e.g. do the rendering on dedicated GPU, postprocessing on the integrated GPU (note I made a comment and I was wrong, the other guy was right: there is an extra frame of latency introduced by this technique); render 3 shadow maps in the dedicated GPU, while the integrated GPU renders 1 shadow map; render 4 faces of an env. map on the dGPU while the iGPU renders 2 faces, etc.
- Update: I disagree that they should halt work until on their renderer until the new APIs are revealed (unless of course they have other things in their TODO list). Vulkan is similar Mantle with a few twists, and the manual is already there in the open and the API reverse engineered. Also D3D12's docs have already been published. OpenGL with persistent mapping + MultiDrawIndirect rendering and a command buffer rendering model mimics a lot how these new APIs will work (because you write the commands directly to GPU memory and you have to synchronize explicitly). While you may not be able to fully test your changes until the API is made public, you can do a lot of architecture changes in your codebase to be ready when it's out, just like we're doing with the 2.1-uav branch. I keep repeating this a lot but a lot of people keep ignoring it: These new APIs are very different. They drastically modify how the GPU is being treated, most existing engine architectures need important changes to actually take advantage of them (without doing the work D3D11 & GL were doing under the hood for us) and they place a lot of responsibility on us, the devs. You can crash the GPU very easily! I see a lot of people underestimating the amount of work required (except for the console guys). If you aren't careful, you will find yourself hitting the reset button a lot.
We have a news post coming about the uav branch so stay tuned on the main page.
-
- Gnome
- Posts: 379
- Joined: Fri Sep 16, 2011 4:54 pm
- x 10
Re: Vulkan
I sow Vulkan in action at SigGraph in two separate occasions. It looks very impressing.
- Thyrion
- Goblin
- Posts: 224
- Joined: Wed Jul 31, 2013 1:58 pm
- Location: germany
- x 8
-
- OGRE Expert User
- Posts: 1148
- Joined: Sat Jul 06, 2013 10:59 pm
- Location: Chile
- x 168
Re: Vulkan
OMG! amazing! I hope we get vulkan in Ogre soon =D!
- Thyrion
- Goblin
- Posts: 224
- Joined: Wed Jul 31, 2013 1:58 pm
- Location: germany
- x 8
Re: Vulkan
^ is that you in real?
-
- OGRE Expert User
- Posts: 1148
- Joined: Sat Jul 06, 2013 10:59 pm
- Location: Chile
- x 168
Re: Vulkan
hell no xD thats jonah hill, I am super skinny more like this:Thyrion wrote:^ is that you in real?
I hope dark_sylinc is also excited for this news.. since he's da man!
-
- OGRE Expert User
- Posts: 1067
- Joined: Mon Mar 29, 2004 8:49 pm
- Location: the Netherlands
- x 43
- Contact:
Re: Vulkan
Really curious to see how good driver and platform support for Vulkan will truly be. Support for OpenGL is currently so bad that doing a PC game OpenGL-only is begging for support problems: we ended up adding a DirectX renderer to the Awesomenauts engine just because of all the crappy OpenGL drivers that people have. If Microsoft still isn't on board with Vulkan then it might become similarly problematic.
Anyway, excited to try out this new API!
Anyway, excited to try out this new API!
I'm a console dev but our in-house console engine definitely doesn't map well to the new APIs. Maybe that's because the main inspiration for our core architecture was Ogre...dark_sylinc wrote:... doesn't really map well to the new APIs (on our advantage, probably nobody's engine does, unless you're a console dev) ...
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
-
- OGRE Expert User
- Posts: 1148
- Joined: Sat Jul 06, 2013 10:59 pm
- Location: Chile
- x 168
Re: Vulkan
I have faith in valve/steamOS, if they made the right moves we will soon get more linux gaming, and probably using vulkan. Sadly I was hopping steam machines where cheaper, they are very expensive, at least in Chile. So that's not a right moveOogst wrote:If Microsoft still isn't on board with Vulkan then it might become similarly problematic.
-
- OGRE Expert User
- Posts: 1067
- Joined: Mon Mar 29, 2004 8:49 pm
- Location: the Netherlands
- x 43
- Contact:
Re: Vulkan
Less than 1% of all Steam users play on Linux (source). SteamOS is still relatively new so this might change, but so far it isn't making much of a dent yet.xrgo wrote:I have faith in valve/steamOS, if they made the right moves we will soon get more linux gaming ...
My dev blog
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
Awesomenauts: platforming MOBA (PC/Mac/Linux/XBox360/X1/PS3/PS4)
Blightbound: coop online dungeon crawler (PC)
Swords & Soldiers: side-scrolling RTS (Switch/PS3/Wii/PC/Mac/Linux/iPhone/iPad/Android)
Proun: abstract racing game (PC)
Cello Fortress: mixing game and live cello performance
The Ageless Gate: cello album
- dark_sylinc
- OGRE Team Member
- Posts: 5296
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1278
- Contact:
Re: Vulkan
If you pay close attention the UAV branch with its resource transition has the notion of separate read & write access bits to be prepared for Vulkan.xrgo wrote:OMG! amazing! I hope we get vulkan in Ogre soon =D!
However we have two issues before going for DX12 & Vulkan:
- Textures need a refactor because their weird separation & relationship with "RenderTargets" and "HardwarePixelBuffer" is orthogonal to how Vulkan & DX12 treat them (they just interpret them as reinterpret_cast'ed regions of memory via resource transition barriers)
- Our main bottleneck right now is the GPU. Vulkan mostly reduces CPU overhead (though GPU side improvements include async shader and cross vendor communication for multi-GPU)
However I don't think we'll support it soon unless we get a massive boost in resources (in other words, time and money).
Steam machines are nothing more than regular PCs. If Valve at least had been selling exactly the same hardware or at least tier configurations, it would've made sense. But honestly they're just selling arbitrary custom-build PCs with SteamOS preinstalled.Sadly I was hopping steam machines where cheaper, they are very expensive, at least in Chile
Vulkan does play a big role in Linux gaming though. And btw X11 needs to die in a fire. It's causing a huge load of problems that Wayland doesn't have (bad VSync, skipped frames, high latency, framerate stutter, framerate slowdown, inaccurate GPU profiling).
- c6burns
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 138
Re: Vulkan
lol steam machines. It went from "omg valve is making their own console that's linux based" and then years later ended up being "3rd party hardware vendors sell you a regular PC without windows on it". What a revolution in gaming
-
- Greenskin
- Posts: 140
- Joined: Sun Feb 03, 2013 6:32 pm
- x 8
Re: Vulkan
I think that Vulkan's future success can come to exist if either Apple supports it own their platforms or current consoles support it (one of them is owned by MS that owns D3D though). I'm not so cynical about Apple right now but otherwise politically Vulkan will just be a renovated OpenGL.
Check out my projects: https://github.com/NotCamelCase
- dark_sylinc
- OGRE Team Member
- Posts: 5296
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1278
- Contact:
Re: Vulkan
As with all technology, what really will define the success of Vulkan is the entire ecosystem. Valve is pouring a lot of money into it which helps a lot.
Right now:
Unfortunately right now to target all platforms, you still need to write for D3D11/12, OpenGL, GLES, Metal, & Vulkan. It's a headache.
Right now:
- The debug layer is open sourced.
- RenderDoc supports Vulkan (a HUGE plus)
- Its performance against GLES in mobile is orders of magnitude apart
Unfortunately right now to target all platforms, you still need to write for D3D11/12, OpenGL, GLES, Metal, & Vulkan. It's a headache.
- Thyrion
- Goblin
- Posts: 224
- Joined: Wed Jul 31, 2013 1:58 pm
- Location: germany
- x 8
Re: Vulkan
So Vulkan isn't supported on OSX, will there be a Metal Renderer for Ogre? Is one in the making?
-
- OGRE Expert User
- Posts: 1148
- Joined: Sat Jul 06, 2013 10:59 pm
- Location: Chile
- x 168
Re: Vulkan
dark_sylinc wrote: But on desktop there won't be much to gain.
T____Tdark_sylinc wrote:However I don't think we'll support it soon unless we get a massive boost in resources (in other words, time and money).
- Thyrion
- Goblin
- Posts: 224
- Joined: Wed Jul 31, 2013 1:58 pm
- Location: germany
- x 8
-
- Gnoblar
- Posts: 2
- Joined: Wed May 18, 2016 8:21 pm
- Location: Germany
Re: Vulkan
[quote="dark_sylinc"]
Well, OpenGL and GLES is not really needed, in some way, cause if my thoughts are right u can target Vulkan to those APIs, ifim not wrong!?
So it will be just Two API's in summary DX 11/12 & Vulkan, right?!
Well, OpenGL and GLES is not really needed, in some way, cause if my thoughts are right u can target Vulkan to those APIs, ifim not wrong!?
So it will be just Two API's in summary DX 11/12 & Vulkan, right?!
-
- Gnoblar
- Posts: 2
- Joined: Wed May 18, 2016 8:21 pm
- Location: Germany
Re: Vulkan
What about a new branch for a Ogre Version 3.x version?
Let's say it is:
+ completely based on Vulkan, MetalAPI & DirectX 12
+
so we have two of them a old Version and a new Version! Maybe completely overhault!
Let's say it is:
+ completely based on Vulkan, MetalAPI & DirectX 12
+
so we have two of them a old Version and a new Version! Maybe completely overhault!
- dark_sylinc
- OGRE Team Member
- Posts: 5296
- Joined: Sat Jul 21, 2007 4:55 pm
- Location: Buenos Aires, Argentina
- x 1278
- Contact:
Re: Vulkan
No. Many GLES3 devices can't do Vulkan. And a lot of GLES3 devices that could do Vulkan will never really support Vulkan because there will be no official OS/driver update due to how most Android business models work (ie. Samsung sells a new device, supports it for 6 months, drops it; then focus on a new model which is mostly a rebranded version of the previous one).OliverK1 wrote:Well, OpenGL and GLES is not really needed, in some way, cause if my thoughts are right u can target Vulkan to those APIs, ifim not wrong!?
We can still use OpenGL to target DX10 hardware (i.e. GeForce 8000-280). Vulkan is not supported there.
No. That's 3 APIs. DX11 is nothing like 12.OliverK1 wrote:So it will be just Two API's in summary DX 11/12 & Vulkan, right?!
2.1 isn't finished yet and you're thinking on 3.x?OliverK1 wrote:What about a new branch for a Ogre Version 3.x version?
+ completely based on Vulkan, MetalAPI & DirectX 12
Anyway, 2.1 was thought to be ready for those APIs; but we're not focusing on those APIs because it is a lot of work and there is very little to gain.
Focusing on stability and support on our existing codepaths (DX11 & GL) takes priority; then Metal & GLES3; then GLES2; then Vulkan & DX12.