When I started working in theatre as a design assistant/scene painter I was free to explore the stage and its facilities in a way that is not possible today. It was a magical place full of wonderful people and eccentric machinery whose purpose was to make real live magic in front of the eyes of an audience. Apart from my own responsibilities I was welcome to intrude and help out in all other aspects of the theatre. I hung from hemp fly lines as heavier-than-me scenery lifted me off my feet. Twirled the wheels of a Strand Grandmaster as the chief electrician sat back snoozing with a cup of tea. I played my latest Beatles LPs over a system that comprised Quad valve amplifiers and huge Tannoy speakers, our very own Beatles concert while we painted floors and scenery long into the night. This is how I learned my trade craft as a collaborator in a medium that had many different facets to it that came together to extend belief, live, over an afternoon or evening. My particular contributions were scene painting, set and costume design. My enjoyment came from the sum total of and the privilege of working with some very fine actors, directors, lighting designers, sound designers, stage engineers, stage crew, costume makers, wig makers, prop makers, set builders and scene painters.
I was also lucky enough to work on the development of theatre stages. I co-designed the Stratford Wooden 'O' of 1975, I helped to develop the Barbican Theatre stage and was instrumental in the development of the stages of The Other Place, The Warehouse and The Pit theatres.
My design work includes 40+ plays for the Royal Shakespeare Company over a 20 year period and theatre and opera for companies such as Royal National Theatre, The Royal Opera House, English National Opera, Scottish Opera, Chicago Lyric, Teatro alla Scala, Opera de Paris Bastille, Toho, Shochiku, The English Shakespeare Company and The Stratford Festival of Canada, in cities like London, Paris, New York, Chicago, Tokyo, Milan, Cologne and Hamburg.
I became interested in computers in the mid eighties and was immediately drawn to 3D modeling. I progressed from a BBC 'B' to an AMIGA and then on to PCs. I programmed from the very beginning using a variety of languages and used a wide range of CAD and modeling programs. I tried using some in the design modeling process but with fairly disastrous results creatively, in particular a production of "Annie" at Coventry proved a salutary lesson in what computers can and can't do. CAD proved the most useful and most readily acceptable by other departments. 3D modeling programs were available, such as 3D Studio Max, and you can make excellent models and visuals from them. Practice though, told me that I needed something that was instant, that visualized as quickly as I thought and could be interactive and changeable when discussing a design with a director. It was not until the mid nineties and the development of OpenGL and then VRML that interactive 3D modeling became possible for me. With the help of a research grant from Central Saint Martins College of Art I developed a package called "Virtual-Stages" the direct forerunner of "OpenStages". Virtual-Stages was developed using a third party 3D visualizer. This proved to be costly so I started OpenStages, programming directly in C+ and OpenGL in the year 2000.
I have tried to give the user a little of my experience of theatre and included a few of the stages I have worked on and models of some of the designs. I hope you enjoy the program, please get in touch if you need help or have suggestions on how I might improve it.
Chris Dyer
RSC Honorary Associate Designer
Prague Golden Troika winner in 1979
Course Director, Wimbledon College of Art, University of the Arts London
e-mail

OpenStages is being developed by a teacher and practitioner of set and costume design for the theatre. OpenStages came about from a desire to introduce students to the space and mechanics of theatres, to produce a tool that allows quick and accurate 3D sketching, and a tool that adds the elements of time and movement to the formulation of production and design ideas. Though set designers traditionally produce a three dimensional scale card model of the stage and their settings, openStages is not seen as a replacement but as an additional tool. A combination of the traditional theatre model and the opportunities that virtual reality technology offered. It has very quickly proved that it is not just a designers tool but that it has uses for all technicians and artistes who use performance spaces.
OpenStages is an interactive 3-D computer model of any theatre or performance space into which are placed the systems usually associated with performance; lights, sound, fly bars, revolves and trucks etc. It is possible to hang cloths on bars, position flats, floorcloths, rostrums and revolves on stage. There are basic scenic elements as well as building blocks of basic geometric shapes that can be resized and used as scenery. From a library it is possible to pull in custom made pieces of scenery. Period and modern actors can be costumed and blocked into scenes. All these elements can then be lit and manipulated in real time just as it would be possible with real scenery in a real theatrical space.
OpenStages is based on the OpenGL 3D library and it is derived from an earlier project entitled virtual_Stages that was developed with help from Central Saint Martins College of Art & Design and The London Institute.
OpenStages' primary use is as a teaching tool for all theatre disciplines. It is recognised that this technology will eventually be used by professionals. It is not a lighting design program or a scene design program, but it can be used to help these and all other stage disciplines. Its strength is that it uses all the stage disciplines and looks at individual disciplines in relation to all the parts that go to make up a stage event. It is collaborative and forces the user to appreciate the contributions of all.
Visually, no undue effort has been made to make the visual output realistic. It is preferred to keep the output simple and like a 3D sketch rather than go for absolute realism. There will always be a limit to realism and it can be argued that as computer modeling gets more realistic it throws the differences between virtual and reality more clearly into relief. The program does not try to impose a visual style other than the natural output of a computer using OpenGL.
The interface has been developed to be similar to the interface of theatre. It is being kept simple but at the same time implementing the essential systems used in theatre. The intention is that students should get a good working knowledge of all the elements of technical theatre. It should be a good working model of basic current theatre practice but no more complex.
The future of openStages depends on what it proves to be useful for and will depend on demand and feedback. A server based version is possible where a production team may jointly develop ideas, create scenery and lighting and then stage a virtual technical rehearsal where each team member is in control of their own speciality. It may be possible to implement a ray tracer so that a moment from a scene can be rendered with a more accurate sense of lighting
* This software is not a 3D modeler and cannot be used to create a model of a space or scenery from scratch. It uses pre-built 3D elements and manipulates them in terms of size, colour and texture. It is possible to use model objects saved in the VRML .wrl format and to load images for textures.
All objects are made up from triangular facets. If the object is flat and square, such as a table, then the facets will not be apparent. If the object is rounded, such as a sphere or face, then the triangular nature of the underlying structure will be become apparent. The finer the structure (the more triangles there are) the less apparent this will be. A high number of facets will slow the program down. Object smoothness is therefore a tradeoff between the number of facets and the speed of the program. A good 3D graphics card is recommended. Most modern cards with OpenGL facility for 3D gaming will work with openStages.
Lighting is limited by OpenGL's restriction to eight light sources. The first source is used as a general flood positioned over the stage. This gives a general ambient light. The next seven have to be patched through to chosen spotlights for the duration of a project. They can be repatched, but it means that all cues in the project are repatched. It is possible to manually repatch part way through a project. There are twenty spotlights hung on Fly Bars and Booms that can be accessed through the Patch Panel.
The lighting in OpenGL works by calculating which vertex of a plane surface polygon is closer to the light and makes that brighter than the other points. The surface gradually darkens toward the other points. If a stage floor was one square polygon and a spotlight was pointed toward the middle of it, it would not show unless the circle of the spotlight crossed one of the corners. The solution to this is to divide the stage floor up into many smaller polygons. Those which fall within the circle of the spotlight then appear to be lit and it is possible to see the circle of light from the spotlight. The more finely the stage floor is divided into polygons the more realistic the lighting will look. Unfortunately the more polygons there are then the slower the lighting calculations become. The fineness of detail in the program is a balance between quality of image and speed of operation.
The program is currently being developed on a 2.4 MHz machine with 512 Mb RAM and a 64 Mb NVIDIA GeForce4 display card. The operating system software is Windows 2000 Professional.
Objects and environments in 3D computer modeling usually use the Cartesian coordinate system to mathematically describe the three dimensional geometry used. A point in space is measured in relation to three imaginary plane surfaces, X, Y and Z. The planes are each perpendicular to each other and the point at which the three intersect is known as the origin. Each plane has an axis at its origin that is perpendicular to that plane. Please see the image below. The coordinates for any given point are given as three numbers, XYZ, and the origin's coordinates are 0, 0, 0. Measurements are given as positive or negative numbers depending on what side of the plane they are taken. All measurements in relation to a particular plane are taken parallel to that plane's axis (perpendicular to the relevant plane). A point that is 2000mm on the right of the X plane (positive), 500mm above the Y plane (positive) and 1500mm behind the Z plane (negative), would be given as 2000, 500, -1500.

Scenery position on stage is measured in a similar way. A line called the Setting Line is drawn across the stage from the back of one side of the proscenium arch to the other. A second line called the Centre Line is drawn perpendicular to and through the centre of the Setting Line. The Setting Line and the Centre Line become the horizontal references from which measurements are taken when positioning scenery on the stage. A third reference called the Datum is used, this is usually the surface of the stage floor and all vertical measurements are taken from this. The Setting Line, Centre Line and Datum are the equivalent to the Cartesian X axis, Z axis and Y plane respectively. The origin in a theatre is at the point that the Setting and Centre Lines cross on the surface of the stage floor.

The openStages environment has a coordinate system which based on the Cartesian model corresponds to the theatre scenery layout method. Objects such as actors or scenery have their own separate coordinate systems. Most objects have their origin at the centre of their base. On loading, a new object will appear with its own origin placed on the environment origin. Subsequent repositioning moves the object's origin to the coordinates indicated on the Position Panel. Rotation happens about an object's origin. An actor's origin is at the centre of the soles of its feet. Moving a 1500mm tall actor to 500mm above the stage will mean that the top of the actor will be 2000mm above the stage. Rotating an actor around its Z axis will cause the feet to stay in the same position while the rest of the body and head wheel around the feet.
The relationship of objects to each other is like a tree with the theatre space as the tree trunk. Objects loaded into the space are then attached to the trunk like branches. Further objects can be attached to the trunk or branches. Another analogy is parents and children. The stage is the parent and added objects are the children. Objects can have objects attached to them. An example is the 3D actor which has a head that is attached as a child object. The different levels of attachment are like generations. There is a maximum of five generations possible in openStages. An example of this would be the head(5) of an actor(4) standing on the platter(3) of a revolve rostrum(2) placed on the stage(1). All subsequent generations move with their parent but a child cannot move a parent. A dog can wag its tail but the tail cannot wag the dog.
OpenStages defaults to millimetres as the unit of measurement. Starting a new project file gives a choice of using different units. Millimetres, centimetres, metres and decimal feet & inches are available. It is not possible to change units once a project has started. UK theatre uses millimetres, German theatre uses centimetres and North American theatre uses feet & inches. Metres are included because this is the default unit of VRML. VRML object files made in different units can be converted on loading if the scale is known.
Virtual Reality Modeling Language 2.0 or VRML 97 files are the file standard that openStages object files are based on. OpenStages will read single object VRML files only. If an object has many parts then either split them up into separate files or combine them into one object. OpenStages will not recognise basic VRML objects such as "box" or "sphere" but needs objects described with "coord" and "coordIndex" data. Texture information in the file will be ignored but the file must include "texture coordinates" to have texture applied in openStages.
Theatres use a referencing system for positioning on the stage.

This image gives the naming of the approximate areas. You can add to this the more general area names of US (Up Stage), DS (Down Stage), SR (Stage Right) and SL (Stage Left). The naming is based on the direction of the actor when facing an audience. So SL means to the left of an actor when Centre Stage and facing the audience. In the UK SL is sometimes known as PS (Prompt Side) and SR is known as OP (Opposite Prompt).
![]() |
comlear.osp A model of the Compass Theatre production of King Lear at the Theatre Royal Glasgow, 1987. There are two combined cues showing the first court scene and the general staging for the Heath and Dover. These first series of project files were part of a larger project comparing productions of the same play in three very different stage facilities, thrust, studio and proscenium. |
|
![]() |
festlear.osp A model of the Festival Theatre production of King Lear at the Festival Theatre, Stratford, Ontario, 1985. There are two combined cues showing the first court scene and the general staging for the heath and Dover. |
|
![]() |
toplear.osp A model of the RSC production of King Lear at The Other Place studio theatre, Stratford-upon-Avon, 1988. There are two combined cues showing the first court scene and the general staging for the heath and Dover as well as a prompt cued sequence showing the staging for the beginning of the production. |
|
![]() |
compare.osp A simple model comparing the overall volumes of the three theatres; Festival Theatre Ontario, the Glasgow Theatre Royal and The Other Place at Stratford-upon-Avon. |
|
![]() |
compare_stage.osp A simple model comparing the overall stage areas of the three theatres; Festival Theatre Ontario, the Glasgow Theatre Royal and The Other Place at Stratford-upon-Avon. |
|
![]() |
gunman.osp A speculative model for Sean O'Casey's The Shadow of a Gunman at the Cochrane Theatre. There is a prompt cued sequence showing the elements of the set coming together over a groundplan. Of particular note for OpenStage modeling is the way that the flattage is constructed around single pieces. The stage right wall is all attached to the fire hearth, the window wall to the flat between the windows and the stage left wall to the big downstage flat. |
|
![]() |
KL11.osp This is a finished version of the tutorial found in Production.htm |
|
![]() |
shadow.osp This is a playful experiment using the Cottesloe Theatre in adding shadows to the central actor and the staircase. It also uses smoky transparent screens to dirty down the walls. |
|
![]() |
shrew.osp This is a model of the 1978 production of Shakespeare's Taming of the Shrew by the RSC at Stratford-upon-Avon. As described in Dennis Kennedy's book 'Looking at Shakespeare', the classical Italian scenery is torn down by a drunken audience member to reveal a bleak modern metaphor for the play. This model has a list of prompt cues to take you through that transition. |
|
![]() |
shutter.osp This model uses prompt cues that combine flown borders and tracked wings to change the overall colour of the stage. A classic transformation. |
|
![]() |
twin_revolve.osp Using control cues, this model shows the effectiveness of a double revolve using simple shapes to elegantly suggest different places. |
|
![]() |
ludlow_2003.osp Along with a card model, this model was used by the Ludlow 2003 production team to develop the designs for the productions of 'The Merchant of Venice' and 'The Winter's Tale'. |
|
![]() |
travelling revolve.osp A simple model that uses a disc attached to a door attached to a track to make up a travelling revolve. As the revolve tracks in it can also revolve. The door attached to the track spigot provides the rotation. The door is reduced in size so that it cannot be seen. Only the objects that are attached to it are visible. |
On stage it is impossible to get an absolute black while in 3D computer programs, it is. Any object that is painted with black mixed as "0,0,0" will not reflect any light. It is better and more realistic to mix black as "10,10,10". This then allows you to create a black box space and still see where you are. More realistic still would be to make up a black texture that had subtle changes in colour and texture and apply this.
When two planes coincide or are close their colours and textures will interfere with each other. Move them apart and the interference will disappear. Typically this can be seen when a floorcloth is laid on the stage floor. For this reason the floorcloth is positioned 50mm above the stage.
Adjust the screen brightness. Theatre is a dark place and unless your screen is adjusted correctly it may be difficult to see what is happening on stage properly.
When working from an existing groundplan, scan or grab an image and turn it into a "Plan" texture map. (256 pixel square .BMP image) Add a floorcloth to the stage and apply the "Plan" texture. Resize the floorcloth to the overall dimensions covered by the "Plan" area. The resulting floorcloth image is the equivalent to a mark out of a set on a stage. You may now add scenery, using the plan for positioning. See the included example project file "gunman.osp".
When creating a block of objects start with an object that can be a root object and attach all other objects to this root. If the objects are identical then start with one that is attached to the root, give it the colour and texture that you want and then copy all the others from this or copied objects.