Attempt to fix transparency problem

This commit is contained in:
hodasemi 2025-03-12 08:27:36 +01:00
parent 7d8f24a463
commit 627e31820e
2 changed files with 4 additions and 3 deletions

View file

@ -34,6 +34,7 @@ void own_implementation() {
vec3 diffuse = tmp.xyz; vec3 diffuse = tmp.xyz;
float alpha = tmp.w; float alpha = tmp.w;
float max_alpha = alpha;
// get normal // get normal
vec3 normal = normal(triangle); vec3 normal = normal(triangle);
@ -165,12 +166,14 @@ void own_implementation() {
pay_load.depth--; pay_load.depth--;
object_color = mix(pay_load.color.xyz, object_color, alpha); object_color = mix(pay_load.color.xyz, object_color, alpha);
alpha = pay_load.color.w;
max_alpha = max(max_alpha, alpha);
} }
// color is at least emissive factor color // color is at least emissive factor color
vec3 resulting_color = max(object_color, diffuse * emissive_factor); vec3 resulting_color = max(object_color, diffuse * emissive_factor);
pay_load.color = vec4(resulting_color, alpha); pay_load.color = vec4(resulting_color, max_alpha);
pay_load.distance = gl_HitTEXT; pay_load.distance = gl_HitTEXT;
} }

View file

@ -59,8 +59,6 @@ void main()
pay_load_index pay_load_index
); );
vec3 position; vec3 position;
if (pay_load.distance == -1.0) { if (pay_load.distance == -1.0) {