… | |
… | |
103 | if (fd < -rad) |
103 | if (fd < -rad) |
104 | { |
104 | { |
105 | if (fd < -rad * 3.F) |
105 | if (fd < -rad * 3.F) |
106 | return; |
106 | return; |
107 | |
107 | |
|
|
108 | if (vs.visibility == visibility_state::UNKNOWN) |
|
|
109 | { |
108 | ctx.farlist.push_back (this); |
110 | ctx.farlist.push_back (this); |
109 | return; |
111 | return; |
|
|
112 | } |
110 | } |
113 | } |
111 | } |
114 | } |
112 | |
115 | |
113 | if (vs.visibility == visibility_state::UNKNOWN) |
116 | if (vs.visibility == visibility_state::UNKNOWN) |
114 | vs.visibility = visibility_state::FULL; |
117 | vs.visibility = visibility_state::FULL; |
… | |
… | |
176 | void octant::event (occ_query &ev) |
179 | void octant::event (occ_query &ev) |
177 | { |
180 | { |
178 | if (ev.r <= 5) |
181 | if (ev.r <= 5) |
179 | return; |
182 | return; |
180 | |
183 | |
181 | //ev.v.vismap[this].visibility = visibility_state::FULL; |
184 | ev.v.vismap[this].visibility = visibility_state::FULL; |
182 | ev.v.far = ev.v.near + ev.v.frustum.n.distance (orig); |
185 | ev.v.far = ev.v.near + ev.v.frustum.n.distance (orig); |
183 | printf ("OCT(%x,%x,%x+%x) samples %d\n", orig.x, orig.y, orig.z, extent, ev.r); |
186 | printf ("OCT(%x,%x,%x+%x) samples %d\n", orig.x, orig.y, orig.z, extent, ev.r); |
184 | } |
187 | } |
185 | |
188 | |