Skip to content
Permalink
Browse files

Darkness detection: Reduce chance of false positives darkening the sk…

…ybox

The getBackgroundBrightness() function detects darkness in the view direction
to decide when to make the skybox dark. The volume checked was too narrow and
missed the left and right edges of the view, too easily causing a dark skybox.

Widen the checked volume to match a FOV of 72 degrees and a 16:9 aspect ratio
game window.
  • Loading branch information...
lhofhansl authored and paramat committed Jul 22, 2017
1 parent 640ba77 commit d1a130488e5a5f3837479ad7f929beb4c43e81fb
Showing with 3 additions and 3 deletions.
  1. +3 −3 src/clientmap.cpp
@@ -596,11 +596,12 @@ int ClientMap::getBackgroundBrightness(float max_d, u32 daylight_factor,
};
if(z_directions[0].X < -99){
for(u32 i=0; i<sizeof(z_directions)/sizeof(*z_directions); i++){
// Assumes FOV of 72 and 16/9 aspect ratio
z_directions[i] = v3f(
0.01 * myrand_range(-100, 100),
0.02 * myrand_range(-100, 100),
1.0,
0.01 * myrand_range(-100, 100)
);
).normalize();
z_offsets[i] = 0.01 * myrand_range(0,100);
}
}
@@ -613,7 +614,6 @@ int ClientMap::getBackgroundBrightness(float max_d, u32 daylight_factor,
std::vector<int> values;
for(u32 i=0; i<sizeof(z_directions)/sizeof(*z_directions); i++){
v3f z_dir = z_directions[i];
z_dir.normalize();
core::CMatrix4<f32> a;
a.buildRotateFromTo(v3f(0,1,0), z_dir);
v3f dir = m_camera_direction;

0 comments on commit d1a1304

Please sign in to comment.
You can’t perform that action at this time.