Looks like OSX is going to stick to 4.1 for OpenGL in Yosemite, which will likely be around for a year or so. There are a number of features that are currently not available in OSX, mostly because available only when using Shader Model 5 (which relies on OpenGL 4.3, as far as I understand), e.g. Tesselletion - World displacement - Reflections on translucent materials - Fracture Mesh.
As this answer reports, there are currently no plans to support these features without OpenGL 4.3
Would it be possible to add support for these features without OpenGL4.3 at least in the wish list of the UE4 Roadmap?
I’m starting a new project, and understanding if these feature are going to be available or not in the next few months makes a strong difference in the development/deployment platforms I’m going to choose for my work.
Sorry! It’s not 100% sure I guess, since the final version of Yosemite is not released yet. Nevertheless, up to now as far as I know all the betas are and unfortunately changes like this are kind of unlikely to happen so late in the OS development (though, of course, I’d be happy to be wrong)
There’s official feedback in the link you posted on Answerhub. Those features such as Tessellation, Displacement, Reflections etc. are supported exclusively by OpenGL 4.3 (or whatever version it says on there), it’s not an OSX problem, it’s just that earlier incarnations of OpenGL such as 4.1 don’t support this stuff, they don’t know anything about it. It’s done inside OpenGL itself, not inside Unreal.
It’s a hard problem to explain, but basically it’s not that it’s not planned, it’s more that it’s not possible.
Thank you for your response, @TheJamsh, but is not linked to OpenGL 4.3, as far as I understand from the answer, just “there are no plans to expose support on OS X right now.”
As concern reflections on transulcent materials, I understand the current implementation is linked to the Shader Model 5 render path, but since there are many other older game engines (e.g. Unity) supporting translucent materials with reflections on OSX, I would suppose there are ways to implement this without OpenGL 4.3, and if so I’d like a fallback for OSX to be added in the wishlist of the roadmap if possible. Glass is almost unusable without reflections, and this is a real bummer for architectural rendering.
Does this make sense? In any case, a clear feedback of what is really impossible, and what “not currently planned” would be very appreciated.
ok, the in the current OpenGL implementation actually ueses features of OpenGL4.2 and 4.3, as discussed in this post:
“Unfortunately in order to use in the current UE4 OpenGL implementation we need some 4.2 & 4.3 features/extensions that aren’t present on the Mac (yet). This is something I intend to look at & get working, but there’s no timescale.”
Again, I’m definitely interested in what @marksatt-pitbull says he intends to look at
Yosemite AFAIK is still OpenGL 4.1, if they were going to update it then I’d have expected them to announce it at WWDC.
To be clear - OS X’s OpenGL 4.1 supports Tessellation. However, UE4 only supports as part of its Shader Model 5 rendering path, which also requires compute shaders and a few other bits & pieces. Since decoupling this is pretty tricky and isn’t regarded as a super important feature to expose on OS X right at the moment, UE4 on Mac doesn’t compile or run any of the shaders. World displacement is dependent on in order to work, so it naturally follows that this is stuck waiting for support to arrive. In essence, it is not a high priority to get support working on the Mac, so it won’t arrive anytime soon. It will be supported eventually, but much, much later.
There are no plans that I am aware of to reimplement Reflections on Translucent Materials for Shader Model 4, but that work would fall outside my domain, so I could be wrong.
Thank you marksatt-pitbull, very clear and informative response. Pretty stark perspective, though, this means that likely these features will be missing on OSX for at least all the next year.
Anyway, I’ll post the request for adding the features to the roadmap in the thread you suggest, even though it is probably a bit pointless for any short term project.