Good news for those of us annoyed by the poor OpenGL performance of games built with Unity, as the Unity engine will have a unified OpenGL rendering system.
What the hell does that mean?
Currently Unity has OpenGL desktop which is stuck on OpenGL 2.1, OpenGL ES 2.0 and one for OpenGL ES 3.0. You can imagine how annoying that is.
The great news for us, is that with the new unified OpenGL system, games can scale from OpenGL ES 2 all the way up to OpenGL 4.5. So, not only will games in future Unity versions use a much more modern OpenGL, this is also a high point:
QuoteWe do not need to maintain separate diverging codebases, bugs need to only be fixed once and all optimizations we do benefit all the platforms simultaneously.
There's a lot of other work going on, as they are trying to get OpenGL to work more like DirectX 11. A lot of the blog post is very technical, but one fun thing is that some of the work they are using is based upon Icculus work with Mojoshader as their HLSL to GLSL shader language translator uses code from it.
This has me cautiously excited for Unity games built on Unity 5.1+, it would need to be at least Unity 5.1 as that's where this experimental OpenGL code for the desktop currently resides.
This is one of the good things about Android and iOS being so popular as they use a form of OpenGL (OpenGL ES), and we probably wouldn't be getting these improvements if mobile wasn't so popular.
See their blog post on it here.
Some you may have missed, popular articles from the last month:
QuoteCurrently Unity has OpenGL desktop which is stuck on OpenGL 2.1This doesn't have much to do with overall performance, but rather to do with supported OpenGL features.
However, the cleanup and move toward supporting modern OpenGL core profiles means that we can start to get away from places where everything had to be structured in a certain way in order to make fallbacks possible for the lowest common denominator, etc., and as the blog post mentions, the fact that we're sharing a lot more code between desktop GL and GLESs means that we'll get the same optimizations and fixes across all these platforms instantaneously.
Additionally, Unity 5.2 will also contain some Linux-specific improvements to multithreaded rendering.
As far as new OpenGL features, like compute/geometry/tessellation shaders, we'll start getting those as soon as the experimental GL core mode is enabled for Linux (which will be sometime after Unity 5.1, as the blog post states).
2 Likes, Who?
Quoting: TakQuoteCurrently Unity has OpenGL desktop which is stuck on OpenGL 2.1This doesn't have much to do with overall performance, but rather to do with supported OpenGL features.
As far as I am aware, a lot of performance related issues are on old OpenGL features, and the whole zero driver overhead stuff can only be used with modern OpenGL.
1 Likes, Who?
I think this is very good news. Having proper OpenGL support with such scaling is awesome idea for any engine to have.
0 Likes
Hopefully future versions of Unity will take advantage of Vulkan.
2 Likes, Who?
Quoting: KeyrockHopefully future versions of Unity will take advantage of Vulkan.Yes, we're definitely very interested in Vulkan, as might be evidenced by https://www.khronos.org/assets/uploads/developers/library/2015-gdc/Valve-Vulkan-Session-GDC_Mar15.pdf and http://aras-p.info/blog/2015/03/13/thoughts-on-explicit-graphics-apis
5 Likes, Who?
[quote=Guest]
Quoting: liamdaweStuff like FBOs and VBOs are already in heavy use (via extensions) - various newer things from the "zero driver overhead" talks have been adopted as well, but of course it will be more/nicer/cleaner in the unified backend.Quoting: TakQuoteCurrently Unity has OpenGL desktop which is stuck on OpenGL 2.1This doesn't have much to do with overall performance, but rather to do with supported OpenGL features.
Pretty much. Modern OpenGL allows for much reduced driver overhead, and also exposes a lot more features that can be used by default (e.g. frame buffer objects, allowing "off-screen" rendering to be done much easier).
1 Likes, Who?
I have a question: Euro Truck Simulator 2 is an Unity engine game?
0 Likes
Quoting: leillo1975I have a question: Euro Truck Simulator 2 is an Unity engine game?
No, they use Prism3D. http://www.scssoft.com/techno.php
0 Likes
Thank yo
Thanks for your information.
Quoting: GlennhNo, they use Prism3D. http://www.scssoft.com/techno.php
Thanks for your information.
0 Likes
The problem is that my laptop supports until OpenGL 3.1 and directx 10 :/ So seems to be no Unity 5.1 for me.
0 Likes
See more from me