Viewing 3D Rooms with Backface Culling for Walls

Viewing 3D objects are a challenge in current 2D viewing devices from desktop monitors, phones and tablets. In the recent past, 3D was viewed through different strategies from isometric views, fixed or limited camera positioning to manage the third person external viewer.


I prefer to have full camera control instead of locked isometric or chase cameras –it’s a 3D scene so I want to freely look around and this introduces interesting view and control challenges.


I’ll start with a simple room example — with walls, which ends up blocking the view. A simple solution is to take advantage of backface culling by constructing inner walls facing the room and outer walls that can be enabled as needed.


The camera mode can also be switched between perspective and orthographic to match the viewpoint.


An interactive WebGL demo is available at:

Camera View Control using Arrow Keys
Up/Down – control camera pitch
Left/Right – control camera yaw to vehicle
“[” “]” (Brackets) – zoom in/out

X – Toggle the Outer Wall Visibility
O – Toggle Camera Type


For questions, comments or contact – follow/message me on Twitter @rlozada