Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Water appearing as a gray texture on Linux! #68

Open
OldaysStudios opened this issue Mar 6, 2018 · 10 comments
Open

Water appearing as a gray texture on Linux! #68

OldaysStudios opened this issue Mar 6, 2018 · 10 comments
Assignees

Comments

@OldaysStudios
Copy link

OldaysStudios commented Mar 6, 2018

When we package our game for Linux after applying "M_Inst_Ocean_Nogerstber" to a plane mesh, the material turns into a gray texture upon opening the game, while packaging there are no errors in the logs.

Picture of the issue: https://i.imgur.com/AhaIAdI.png

Can anyone help us make this work? [Using Unreal 4.17]

@EvoPulseGaming
Copy link
Member

Is this SM5, OpenGL 3 or 4?
https://answers.unrealengine.com/questions/352034/bug-report-sm5-on-linux-is-limited-to-16-texture-s.html

While generally there is an error, you never know. (Check your warnings)

Also try changing the feature levels (switch between SM 4/5 OpenGL 3/4 ect) and report back results.

@EvoPulseGaming
Copy link
Member

Visit me on slack:
https://join.slack.com/t/oceanandwea...DMyZjIwMzZiNmE
After work, 5pm central time

@OldaysStudios
Copy link
Author

I tried many combinations, the log does not give me any warnings and doesn't tell me it did anything to the water, I deleted a sampler (from 17 to 16) since it gave me an error at 17, but not at 16, but even at 16 it makes the water gray. I also seem to be unable to visit you on slack, it gives me an error.

@TheZoc
Copy link
Contributor

TheZoc commented Mar 10, 2018

Hello :)

I've had similar issues when attempting to use this plugin on macOS... Sadly, I didn't find a solution yet.

My initial guess is that some of the custom nodes has code that could be potentially problematic when converted to OpenGL Shader Model, thought I couldn't pinpoint either what's wrong.
Maybe @dotcamdev has more info about it, but I don't know if he is able to check this right now.

Your investigation of this issue is very much welcome!

Also, if you guys end up going to slack, I'd really appreciate if you could post your experiences and results here! It may help other people to find and solve the issue and maybe encourage more people to join :)

I'm sorry that I can't do much to investigate this right now, mostly due to time constraints on my side... Hopefully I'll be able to in near future! 😄

@TheZoc TheZoc added the Bug label Mar 22, 2018
@EvoPulseGaming
Copy link
Member

EvoPulseGaming commented Mar 25, 2018

It appears that while 16 texture samples are the limit for opengl, lighting uses some depending if static or dynamic is used. Look into reducing the samplers

Apart from that, I don't see gray water, what I see a bunch of green. You need to provide a picture without the green fog.

Also another thing I am noticing, is that it appears that the fog or whatever that is, is thicker on linux than windows, but until we can get a clearer picture I can't help.

@dotcamdev
Copy link
Member

Hey guys,

As @saschaelble noted, the Ocean material makes use of shared texture samplers (a DirectX 11 only feature) due to the number of samplers that get used up by dynamic lighting (among others).

OpenGL support is something I wanted to add before I had to take time off., It will require some compromises in order to get it working due to the limited samplers (8) for OpenGL. It may end up impacting the end result, but there may be some optimizations possible, so I will see what I can do.

I'm working on fixing up errors in the project and some de-bloating at the moment, but I promise this will be the next thing I work on after pushing an update in a couple days.

Thanks!

@dotcamdev dotcamdev self-assigned this May 8, 2018
@dotcamdev
Copy link
Member

@NilsonFLima
Copy link
Collaborator

My 1st thought on this is to check all the texture samplers if all of them are marked as Shared:Clamped, but might also be necessary to check the samplers on all the library functions being in use, so if they are not marked as shared it will require to create a separate copy of that function renamed with the correct option on samplers. I remember doing this on the Water Planes assets in order to have the translucency water to work on OpenGL and Vulkan, which worked.

@EvoPulseGaming
Copy link
Member

Just a fact update, the limit is due to MacOS OpenGL, which apparently has a 16 shader limit, but somehow is actually only 12. I have no idea if this was fixed or not, as OpenGL4 is supposed to support 32 shaders min.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants