1
0
Fork 0

Fix random buildings shader errors

This commit is contained in:
Fernando García Liñán 2021-04-16 07:45:48 +02:00
parent 019e33655b
commit 23f908665f
3 changed files with 40 additions and 0 deletions

View file

@ -204,10 +204,13 @@
<pass>
<program>
<vertex-shader>Shaders/building-ALS.vert</vertex-shader>
<vertex-shader>Shaders/shadows-include.vert</vertex-shader>
<fragment-shader>Shaders/terrain-ALS-base.frag</fragment-shader>
<fragment-shader>Shaders/hazes.frag</fragment-shader>
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
<fragment-shader>Shaders/noise.frag</fragment-shader>
<fragment-shader>Shaders/shadows-include.frag</fragment-shader>
<fragment-shader>Shaders/clustered-include.frag</fragment-shader>
<attribute>
<name>instancePosition</name>
<index>10</index>
@ -235,9 +238,12 @@
</vertex-program-two-side>
<program n="0">
<vertex-shader n="1">Shaders/building-default.vert</vertex-shader>
<vertex-shader n="2">Shaders/shadows-include.vert</vertex-shader>
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
<!--fog include-->
<fragment-shader n="1">Shaders/default.frag</fragment-shader>
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
<attribute>
<name>instancePosition</name>
<index>10</index>
@ -338,9 +344,12 @@
</vertex-program-two-side>
<program n="0">
<vertex-shader n="0">Shaders/building-default.vert</vertex-shader>
<vertex-shader n="1">Shaders/shadows-include.vert</vertex-shader>
<fragment-shader n="0">Shaders/include_fog.frag</fragment-shader>
<!--fog include-->
<fragment-shader n="1">Shaders/default.frag</fragment-shader>
<fragment-shader n="2">Shaders/shadows-include.frag</fragment-shader>
<fragment-shader n="3">Shaders/clustered-include.frag</fragment-shader>
<attribute>
<name>instancePosition</name>
<index>10</index>
@ -382,6 +391,27 @@
<use>material/color-mode-uniform</use>
</value>
</uniform>
<!-- BEGIN shadows include -->
<uniform>
<name>shadow_tex</name>
<type>sampler-2d</type>
<value type="int">10</value>
</uniform>
<uniform>
<name>shadows_enabled</name>
<type>bool</type>
<value>
<use>shadows_enabled</use>
</value>
</uniform>
<uniform>
<name>sun_atlas_size</name>
<type>int</type>
<value>
<use>sun_atlas_size</use>
</value>
</uniform>
<!-- END shadows include -->
</pass>
</technique>

View file

@ -28,6 +28,7 @@ attribute vec3 attrib2;
varying vec4 diffuse_term;
varying vec3 normal;
varying vec3 relPos;
varying vec4 ecPosition;
//varying float earthShade;
//varying float yprime;
@ -55,6 +56,7 @@ const float terminator_width = 200000.0;
float earthShade;
//float mie_angle;
void setupShadows(vec4 eyeSpacePos);
float light_func (in float x, in float a, in float b, in float c, in float d, in float e)
{
@ -308,4 +310,7 @@ if (use_IR_vision)
gl_FrontColor.rgb = constant_term.rgb;
gl_BackColor.rgb = constant_term.rgb;
//gl_FrontColor.a = mie_angle; gl_BackColor.a = mie_angle;
ecPosition = gl_ModelViewMatrix * vec4(position, 1.0);
setupShadows(ecPosition);
}

View file

@ -24,6 +24,7 @@ attribute vec3 attrib2;
// bugs with gl_FrontFacing in the fragment shader.
varying vec4 diffuse_term;
varying vec3 normal;
varying vec4 ecPosition;
uniform int colorMode;
@ -33,6 +34,8 @@ uniform int colorMode;
//void fog_Func(int type);
/////////////////////////
void setupShadows(vec4 eyeSpacePos);
const float c_precision = 128.0;
const float c_precisionp1 = c_precision + 1.0;
@ -132,4 +135,6 @@ void main()
gl_BackColor.rgb = constant_term.rgb; gl_BackColor.a = 0.0;
//fogCoord = abs(ecPosition.z / ecPosition.w);
//fog_Func(fogType);
ecPosition = gl_ModelViewMatrix * vec4(position, 1.0);
setupShadows(ecPosition);
}