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

Old intel cards don't do LOD correctly, and certain types of fur are corrupt (hard black blotches) #4

Open
Poikilos opened this issue Sep 5, 2021 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@Poikilos
Copy link

Poikilos commented Sep 5, 2021

Describe the bug
1.a. There is some sort of LOD effect (or perhaps just a glitch--I can't tell) even when close to an object where the texture reverts to some sort of static rendering of fur that doesn't go past the edge of the object.
1.b. When further away, a "shaved" version of the object appears--that couldn't possibly look right ever, unless very far away or on mobile (and if the texture matched the fur better).
2. The peaks on the moss have hard black edges, and when further away, other types of fur have it--some sort of missing range limiting call perhaps.

The glitch flashes on and off randomly, more or less than once per second, except the black which stays that way and seems to depend on distance (more distance also changes glitch 1a above to 1b). Getting very close to the moss doesn't fix the black clipping on the moss though getting somewhat close to other objects fixes the black clipping.

Though 3 of the screenshots are in the editor and 1 is running the mobile scene, the glitches are the same when running the demo_desktop scene. The glitch also occurs when clicking "Run" from the main Godot menu, even though the FPS goes up to 60 average due to the editor not being open.

To Reproduce
Steps to reproduce the behavior:

  1. Open the demo scene using old Intel integrated GPU that has a very low FPS (~10 or so) in the editor.

Expected behavior

  1. The LOD should always revert to some sort of static rendering of the fur (screenshot A, but ideally hanging off the object rather than limited by it) rather than "shaved" (screenshot set B; perhaps optionally) and never reduce the quality when close (screenshot A).
  2. The peaks should be smooth rather than black on the moss.

Screenshots
A. Some sort of LOD effect occurs even when close:
image
B. Only when further away from the object, sometimes it reverts to the "shaved" look. Also, peaks are black for the moss, and sometimes for other things:
image
image
image

Environment

  • OS: Debian 10
  • OpenGL ES 3.0 Renderer: Mesa DRI Intel(R) Haswell Desktop;
  • Godot Engine v3.3.2.stable.mono.official
  • Plugin version (or commit hash if you got it from Github directly)
  • Renderer used: OpenGL ES 3.0; OpenGL ES Batching: ON
@Poikilos Poikilos added the bug Something isn't working label Sep 5, 2021
@Arnklit
Copy link
Owner

Arnklit commented Sep 5, 2021

Thanks for the bug. I've had someone else report similar issues, so I've tried to change how the alpha is done. It's difficult for me to test though as I don't see the issues myself on any of my hardware. Would you mind testing the fix from the dev branch?

Just replace the two shader files in addons/shell_fur/shaders with the two from in here. https://github.com/Arnklit/ShellFurGodot/tree/dev/addons/shell_fur/shaders

@Poikilos
Copy link
Author

Poikilos commented Sep 5, 2021

It is getting better!
Screenshot from 2021-09-05 18-33-52

  1. The desktop scene is almost perfect
  • When the sphere says "LOD 2" it has no fur but I assume that's expected on the sphere and it doesn't happen randomly nor to the other objects anymore
  • The sky seems to show through the hair between the roots on the sphere when close to it.
  • Only the purple guy: Appears "shaved" sometimes regardless of distance.
  1. the mobile scene has some black glittering on edges; and on the roof and moss.

@Poikilos
Copy link
Author

Poikilos commented Sep 8, 2021

Here's a screenshot of desktop. I may have misspoke before when describing the desktop version status (regarding the shader files from git tested for my previous post). It appears to be perfect other than the fur fading in and out (it happens even if I stand still, so it may yet be a LOD issue):
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants