Attempt to fix transparency problem
This commit is contained in:
parent
7d8f24a463
commit
627e31820e
2 changed files with 4 additions and 3 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue