Merge branch 'master' of gitorious.org:fg/fgdata
This commit is contained in:
commit
4d327e86ba
2 changed files with 4 additions and 4 deletions
|
@ -94,7 +94,7 @@ void main(void)
|
||||||
float fogCoord = length(vec3(gl_ModelViewMatrix * vec4(gl_Color.x, gl_Color.y, gl_Color.z, 1.0)));
|
float fogCoord = length(vec3(gl_ModelViewMatrix * vec4(gl_Color.x, gl_Color.y, gl_Color.z, 1.0)));
|
||||||
float center_dist = length(vec3(gl_ModelViewMatrix * vec4(0.0,0.0,0.0,1.0)));
|
float center_dist = length(vec3(gl_ModelViewMatrix * vec4(0.0,0.0,0.0,1.0)));
|
||||||
|
|
||||||
if ((fogCoord > detail_range) && (fogCoord > center_dist)) {
|
if ((fogCoord > detail_range) && (fogCoord > center_dist) && (shade_factor < 0.7)) {
|
||||||
// More than detail_range away, so discard all sprites on opposite side of
|
// More than detail_range away, so discard all sprites on opposite side of
|
||||||
// cloud center by shifting them beyond the view fustrum
|
// cloud center by shifting them beyond the view fustrum
|
||||||
gl_Position = vec4(0.0,0.0,10.0,1.0);
|
gl_Position = vec4(0.0,0.0,10.0,1.0);
|
||||||
|
@ -176,7 +176,7 @@ void main(void)
|
||||||
//gl_FrontColor.a = 1.0;
|
//gl_FrontColor.a = 1.0;
|
||||||
//light_diffuse+ gl_FrontLightModelProduct.sceneColor;// * shade ;//+ gl_FrontLightModelProduct.sceneColor;
|
//light_diffuse+ gl_FrontLightModelProduct.sceneColor;// * shade ;//+ gl_FrontLightModelProduct.sceneColor;
|
||||||
|
|
||||||
if ((fogCoord > (0.9 * detail_range)) && (fogCoord > center_dist)) {
|
if ((fogCoord > (0.9 * detail_range)) && (fogCoord > center_dist) && (shade_factor < 0.7)) {
|
||||||
// cloudlet is almost at the detail range, so fade it out.
|
// cloudlet is almost at the detail range, so fade it out.
|
||||||
gl_FrontColor.a = 1.0 - smoothstep(0.9 * detail_range, detail_range, fogCoord);
|
gl_FrontColor.a = 1.0 - smoothstep(0.9 * detail_range, detail_range, fogCoord);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -44,7 +44,7 @@ void main(void)
|
||||||
float fogCoord = length(vec3(gl_ModelViewMatrix * vec4(gl_Color.x, gl_Color.y, gl_Color.z, 1.0)));
|
float fogCoord = length(vec3(gl_ModelViewMatrix * vec4(gl_Color.x, gl_Color.y, gl_Color.z, 1.0)));
|
||||||
float center_dist = length(vec3(gl_ModelViewMatrix * vec4(0.0,0.0,0.0,1.0)));
|
float center_dist = length(vec3(gl_ModelViewMatrix * vec4(0.0,0.0,0.0,1.0)));
|
||||||
|
|
||||||
if ((fogCoord > detail_range) && (fogCoord > center_dist)) {
|
if ((fogCoord > detail_range) && (fogCoord > center_dist) && (shade_factor < 0.7)) {
|
||||||
// More than detail_range away, so discard all sprites on opposite side of
|
// More than detail_range away, so discard all sprites on opposite side of
|
||||||
// cloud center by shifting them beyond the view fustrum
|
// cloud center by shifting them beyond the view fustrum
|
||||||
gl_Position = vec4(0.0,0.0,10.0,1.0);
|
gl_Position = vec4(0.0,0.0,10.0,1.0);
|
||||||
|
@ -72,7 +72,7 @@ void main(void)
|
||||||
gl_Position = gl_ModelViewProjectionMatrix * gl_Position;
|
gl_Position = gl_ModelViewProjectionMatrix * gl_Position;
|
||||||
gl_FrontColor = gl_LightSource[0].diffuse * shade + gl_FrontLightModelProduct.sceneColor;
|
gl_FrontColor = gl_LightSource[0].diffuse * shade + gl_FrontLightModelProduct.sceneColor;
|
||||||
|
|
||||||
if ((fogCoord > (0.9 * detail_range)) && (fogCoord > center_dist)) {
|
if ((fogCoord > (0.9 * detail_range)) && (fogCoord > center_dist) && (shade_factor < 0.7)) {
|
||||||
// cloudlet is almost at the detail range, so fade it out.
|
// cloudlet is almost at the detail range, so fade it out.
|
||||||
gl_FrontColor.a = 1.0 - smoothstep(0.9 * detail_range, detail_range, fogCoord);
|
gl_FrontColor.a = 1.0 - smoothstep(0.9 * detail_range, detail_range, fogCoord);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Reference in a new issue