# WasVisible: query visibility of scenes and shapes, RobustNegativeScale: support lighting with negative scales

**URL:** https://forum.castle-engine.io/t/wasvisible-query-visibility-of-scenes-and-shapes-robustnegativescale-support-lighting-with-negative-scales/566
**Category:** News
**Created:** [April 10, 2022, 2:05pm UTC](https://forum.castle-engine.io/t/wasvisible-query-visibility-of-scenes-and-shapes-robustnegativescale-support-lighting-with-negative-scales/566 "2022-04-10T14:05:04Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [April 10, 2022, 2:05pm UTC](https://forum.castle-engine.io/t/wasvisible-query-visibility-of-scenes-and-shapes-robustnegativescale-support-lighting-with-negative-scales/566/1 "2022-04-10T14:05:04Z")

</div>

| [![Detect visibility](https://castle-engine.io/wp/wp-content/uploads/2022/04/4ef3ec81330f590e73f09a1648b035a979cf02b4-200x118.png)](https://castle-engine.io/wp/wp-content/uploads/2022/04/4ef3ec81330f590e73f09a1648b035a979cf02b4.png "Detect visibility") |

1. You can easily query whether the scene or shape was (potentially, at least partially) visible in the last rendering event. This accounts for both frustum culling and [occlusion culling](https://castle-engine.io/occlusion_query).

2. You can use [TCastleRenderOptions.RobustNegativeScale](https://castle-engine.io/apidoc-unstable/html/CastleRenderOptions.TCastleRenderOptions.html#RobustNegativeScale) to make lighting work correctly even when combined with negative scale. By default, using negative scale causes trouble for lit objects (as the normal vectors are not coming from the right side) and backface culling. Using the `RobustNegativeScale` makes them reliable (at a small cost at rendering time).
