0 votes

Hi.
I'm currently experince some major rendering flaws.

The tree on the left renders just fine in every aspect. I only wanted to reduce the amount of drawcalls and merged the trunk and leafes to one texture atlas.
The second tree does not have a shadow when i use alpha scissor. It renders a shadow when i use opaque pre-pass but that doubles the draw calls again. Also i have to turn of mipmapping for the texture atlas because it glitches with the z ordering.

I' not quiet sure why a alpha scisssor rendering should need a pre pass, that should only be necessary when rendering transparent objects.

Does anybody experience the same problems? I would suggest this is a bug. Or does anyone has a explenation for this behaviour?

Image embeding doe not seems to work ... link to image

Three trees

Update:
after looking deeper into godot ... alpha scissor seems to be linked with transparency. Wich does not make sense to me, i thought we use scissor to not use expensive transparency. But in the shader you can only use scissor with an alpha value wich makes the shader to a transparent shader. Imho this requires the objets to be sorted and so on ... this drops the performance.

Am i wrong?

Update 2:
A simple

    if( albedo_tex.a <= alpha_scissor_threshold ){
    discard;
}

in the shader fixes the problem.

BUT ... this keeps me thinking how the godot render pipeline works. Especially in the means of shadow mapping. I would love to have a detailed explaintion of the render process to understand whats happening.

Godot version 3.4.1
in Engine by (4,078 points)
edited by

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.