Require /sim/rendering/experimental-lighting to be true before using
experimental lighting rendering (which is very expensive on my machine, for example). To use distance attenuation, /sim/rendering/distance-attenuation must also be true.
This commit is contained in:
parent
8e60042052
commit
7cc894be4b
1 changed files with 26 additions and 21 deletions
|
@ -738,21 +738,24 @@ void fgRenderFrame() {
|
|||
glFogf (GL_FOG_DENSITY, rwy_exp2_punch_through);
|
||||
ssgSetNearFar( scene_nearplane, scene_farplane );
|
||||
|
||||
// Enable states for drawing points with GL_extension
|
||||
glEnable(GL_POINT_SMOOTH);
|
||||
if (fgGetBool("/sim/rendering/experimental-lighting")) {
|
||||
|
||||
if ( fgGetBool("/sim/rendering/distance-attenuation")
|
||||
&& glutExtensionSupported("GL_EXT_point_parameters") )
|
||||
{
|
||||
float quadratic[3] = {1.0, 0.001, 0.0000001};
|
||||
// makes the points fade as they move away
|
||||
glPointParameterfvEXT(GL_DISTANCE_ATTENUATION_EXT, quadratic);
|
||||
glPointParameterfEXT(GL_POINT_SIZE_MIN_EXT, 1.0);
|
||||
}
|
||||
glPointSize(4.0);
|
||||
// Enable states for drawing points with GL_extension
|
||||
glEnable(GL_POINT_SMOOTH);
|
||||
|
||||
// blending function for runway lights
|
||||
glBlendFunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ;
|
||||
if ( fgGetBool("/sim/rendering/distance-attenuation")
|
||||
&& glutExtensionSupported("GL_EXT_point_parameters") )
|
||||
{
|
||||
float quadratic[3] = {1.0, 0.001, 0.0000001};
|
||||
// makes the points fade as they move away
|
||||
glPointParameterfvEXT(GL_DISTANCE_ATTENUATION_EXT, quadratic);
|
||||
glPointParameterfEXT(GL_POINT_SIZE_MIN_EXT, 1.0);
|
||||
}
|
||||
glPointSize(4.0);
|
||||
|
||||
// blending function for runway lights
|
||||
glBlendFunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ;
|
||||
}
|
||||
|
||||
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
|
||||
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
|
||||
|
@ -785,15 +788,17 @@ void fgRenderFrame() {
|
|||
//_frame_count++;
|
||||
|
||||
|
||||
if ( fgGetBool("/sim/rendering/distance-attenuation")
|
||||
&& glutExtensionSupported("GL_EXT_point_parameters") )
|
||||
{
|
||||
glPointParameterfvEXT(GL_DISTANCE_ATTENUATION_EXT,
|
||||
default_attenuation);
|
||||
}
|
||||
if (fgGetBool("/sim/rendering/experimental-lighting")) {
|
||||
if ( fgGetBool("/sim/rendering/distance-attenuation")
|
||||
&& glutExtensionSupported("GL_EXT_point_parameters") )
|
||||
{
|
||||
glPointParameterfvEXT(GL_DISTANCE_ATTENUATION_EXT,
|
||||
default_attenuation);
|
||||
}
|
||||
|
||||
glPointSize(1.0);
|
||||
glDisable(GL_POINT_SMOOTH);
|
||||
glPointSize(1.0);
|
||||
glDisable(GL_POINT_SMOOTH);
|
||||
}
|
||||
|
||||
// draw ground lighting
|
||||
glFogf (GL_FOG_DENSITY, ground_exp2_punch_through);
|
||||
|
|
Loading…
Add table
Reference in a new issue