How to - Double face culling for circular effect

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By kris_bsx

Hi everyone,
I’m learning Godot Engine and I have a little question about the creation of a small circular effect.

I don’t know how to make sure that we see all the faces of the torus.

The model used to create the effect is a torus made in Blender, on which I applied a gradient texture (color to transparency), as you can see in this picture.

Blender torus

When I import the model into Godot Engine (in .dae format), the model does not appear as I would like.

I have tried different parameters on the Material but I cannot solve the problem. When i use CULL_DISABLED, i see all faces of the torus but the rendering is unsuitable.

You can see my problem in the following pictures.

CullMode = CULL_BACK
Cullmode CULL_BACK

CullMode = CULL_FRONT
Cullmode CULL_FRONT

CullMode = CULL_DISABLED
Cullmode CULL_DISABLED

You can see that using CULL_DISABLED is not good because, even if we can see all the faces of the torus, it is not correctly rendered. (Maybe i am doing something wrong here).

Obviously, my goal is to see all the faces of the torus, like in “Rendered Mode” in Blender.

Does someone have an idea of what I’m doing wrong or how to make all faces visible correctly?

(Note: I specify that I use GDScript to create an instance of the model when the effect should appear.)

Thank you in advance to those who will take the time to answer me!

:bust_in_silhouette: Reply From: kris_bsx

OK. Maybe I did find a solution myself .

Here are the settings i use for a solution:

CullMode = CULL_DISABLED (2).
DepthDrawMode = DEPTH_DRAW_OPAQUE_ONLY (0).
FEATURE_TRANSPARENT = TRUE

And for the 2D character/element on the center of the circle:

Interface > Inspector : Alpha Cut = Discard.
or
GDScript : get_node(“Node”).alpha_cut = 1

If anyone has a better idea, I thank them in advance.
Otherwise, I can consider this problem as resolved.

shader_type spatial;
render_mode cull_disabled, depth_draw_alpha_prepass;

this worked for me.

stronk | 2020-11-04 23:11