FAQ: Spherical mirror projection
for hemispherical dome projection

Dome projection technique conceived by the author

Written by Paul Bourke


The following is an attempt to answer common questions people have when planning to implement wide field of view projection using a spherical mirror, generally for hemispherical domes. This technique is variously known as "mirrordome' or "Sphemir". If you have anything to add to this FAQ, or if you have a question not covered please email them to me. More information can be found here and through links at the bottom of this document.





Projector related


Can I use any data projector?

No. The key requirement that a data projector needs to meet is focus. For a 60cm spherical mirror the projector needs to be able to focus to an image that is between 40 and 50cm wide. Unfortunately this is not something a projector manufacturer generally quotes since their clients don't normally want such a small image. The only way to be sure of a particular projector is to test it, I strongly recommend not purchasing before testing whether it will focus. In my experience about 50% of commodity projectors will meet the focus requirement. [See other desirable projector requirements].


What is the difference between a projectors native resolution and maximum resolution?

The only thing of importance is the native resolution of the projector, this will typically be one of the following: 1024x768, 1280x1024, 1400x1050, 1920x1080. It is this resolution that the computer should be configured to output for optimal results. In particular, there is no point configuring the computer to output a resolution higher than the native resolution of the projector, indeed in most cases the image quality will be poorer.

This is often a point of confusion, to repeat, just because an XGA (1024x768) native projector can accept a higher resolution signal doesn't mean one gets a better result. Indeed because scalars in projectors are generally quite poor you will often get an inferior result than if you used the native resolution.


What are the projector characteristics I should look for?
In order of decreasing importance (personal preference).


Are some aspect ratios better than others?

Yes. Unlike fisheye lens projection where a square aspect ratio is better, for spherical mirror projection 16:9 (wide angle) aspect ratios give better pixel usage. This is convenient since the commodity projector market is increasingly supporting 16:9 aspect ratios.


What are some known projectors that will focus?

Assuming the standard 60cm spherical mirror, the author has used or is aware of the following projectors that work well with the spherical mirror approach. Please note that I do not recommend XGA (1024x768) resolution projectors so the prefered options are SXGA+ (1400x1050) and HD (1920x1080).

Make/Model Resolution Lumens (Rated) Technology Comments
DELL 5100MP SXGA+ 3300 DLP The lowest priced SXGA+ projector
Canon REALiS SX6 SXGA+ 3500 LCOS
Canon REALiS SX60 SXGA+ 2500 LCOS
Canon REALiS SX7 SXGA+ 4000 LCOS
Epson PowerLite 1080 EMP-TW 1000/2000 HD 1080 1200/1600 3LCD
Epson Powerlite Pro Cinema 1080 UB HD 1080 1600 3LCD
Optoma HD81-LV HD 1080 2500 DLP
Projection design Cineo3+HD HD 1080 3500 DLP Requires the EN14 lens
Optoma EP 1080 HD 1080 3600 DLP Currently authors choice for price/performance

Since there are only a finite number of projectors I can test, I would welcome feedback and additions to the above list. If you are a manufacturer/distributer of projectors that may be of interest to this community then I'm happy to test the suitability of new models.


What does lens offset refer to in projector specifications?

Except for very special short throw lens the projected image is not centered on the lens of the projector (zero lens offset). For the vast majority of commodity projectors the image is raised on the lens, typical lens offsets are between 90% and 110%. A 100% lens offset sees the base of the image pass through the center of the lens. Some projectors have a mechanical lens shift option, this allows the user to vary the degree of lens shift while retaining a rectangular image on a flat projection surface.

Lens offset is relevant for spherical mirror projection into planetarium style domes because it impacts on the relative projector/mirror height in order for the light refected off the bottom rim of the mirror to pass over the top of the projector on its way to the spring line of the dome.





Mirror related


Where can I source a spherical mirror from?

If you want a standard spherical mirror do a google search for keywords "safety mirror" or "security mirror", you will find lots. Refine the search to your country domain and hopefully there will be a local importer. I suggest 60cm size [See question on mirror size]. These mirrors will not be first surface, that is, the mirror coating will be on the back of the mirror. The above will work for testing but the quality will be severely compromised, due to multiple light passes throught the clear substrate and refraction.

At the moment the best source of first surface mirrors is the following

Acril Convex Co Pty
Email: sales@acrilconvex.com
WWW: http://www.acrilconvex.com/halfdome.htm

The standard mirror I recommend is product 18535 HDM.600 60cm acrylic half dome.
The first surface mirror is product: 20534hB polymer coated half dome mirror w/first coat. It doesn't seem it is on their web page yet, so email them, say you were speaking to me and ask for the polymer coated first surface half dome mirror in 60cm size.

I normally suggest people get a standard (not first surface coated) mirror first from a local supplier (try to get the same 60cm version) and then once they are familiar with the technology buy the better mirror and reap the quality improvements.

There are various other companies looking at creating coating for the same acrylic mirrors but to date the ones I have seen are inferior.


What is the best mirror size?

The trade off is between a small mirror that limits the impact (and cost) of the spherical mirror on the space in the dome and the ability of the projector to focus on the small image required. In general I recommend 60cm mirrors as a good compromise.


Is a full half hemispherical mirror required?

No, in the usual configuration less than half a hemisphere is required. You can imagine why this is the case, if the mirror is near the rim of the dome then only that part of the mirror is required that reflects the projected light by 90 degrees.

The plans of the mirrors used by the author are shown here.


Are there other types of mirror besides the current security based ones?

I have investigated polished stainless steel mirrors, the trick with them is getting a good spherical shape and the cost is significantly higher. In the past I have investigated spray chromed mirrors, worked OK but were even more fragile than the current mirrors, an even protective coating was never perfected. Some have tried a "beryl" finish (beryllium aluminium cyclosilicate) but it is more expensive than the current solution.

There is still scope in this area for improvement, if you think you have a means of creating better mirrors then please contact me. Note that at the moment the mirror quality is sufficient, the limitation is the delicacy of the surface. When considering a protective layer it needs to be very thin and applied very evenly otherwise caustics will occur.


I notice there are a lot of unused pixels, is there a mirror shape that uses more of the available pixels?

Yes, there are other shapes than spherical that would use more pixels, it is also possible to derive an optimal shape given a particular projection surface shape and projector aspect ratio. It has been hard enough finding a suitable mirror coating without complicating matters with other shapes. Needless to say this improvement is on the books.

Note that while not directly related to this FAQ, the situation in the fisheye world is the same. A fully inscribed fisheye in a 4:3 aspect rectangle also wastes lots of available pixels. For this reason many fisheye lens solutions use a truncated fisheye. A similar custom fisheye lens might conceivable be formed that was elliptical, people are working on this but no products yet, at least not for projectors.


To what extend does the projector encroach upon the space in the dome?

For the standard configuration, which sees the mirror againt the side of the dome and the projector in toeards the center, perpendicular to the mirror, then in general the mirror is about 1m from the mirror.

This is how I generally set things up but some others have found a nice way to reduce this by 50% by adding a second planar mirror to fold the light path. In this case the projector resides underneath the mirror. E-Planetarium provide a solution called the "Newtonian" for inflatable domes which not only provides a very compact unit but also serves as a portable carry case.

In a fixed dome there can be issues of safety when supporting a heavy projector within the dome area. Jack Dunn of the Mueller planetarium has also implemented a folded light path system. Note that this planar mirror does not affect the focus requirements nor does it change the image warping required. The only trick is ensuring the light passing above the planar mirror reaches the opposite point at the spring line of the dome.


E-Planetarium
 

Mueller Planetarium





Dome related


Where is the ideal position for the mirror and projector in the dome?

There are no hard and fast rules but to maximise the dome coverage the mirror is normally placed quite close to the rim of the planetarium dome. This allows the majority of the dome to be projected onto, in reality the fact that 100% coverage isn't generally achieved is not a significant problem if only because in most domes and most movie content is intended for directional seating/viewing. The position does depend on the dome orientation but the following two diagrams show the usual position for two extreme situations, a horizontal and a vertical dome.


Can I use my existing StarLab dome for fulldome digital projection?

You can but the old StarLab domes were never designed for this. As such they tend to be more reflective than is ideal and their surface is very crinkly. So it is a matter of cost (existing) versus final image quality. There are a number of inflatable dome suppliers who now have products much more suited to digital fulldome projection. [See comments on seamless domes]


What is the best reflectivity of the dome surface?

Contrary to many peoples initial throughts, a white surface is definitely not the best. One characteristic/problem of digital projection into hemispherical domes is multiple reflections of light within the dome. This results in low contrast images and more directly, lightening of a dark regions by bright objects in other regions. For domes that will be used for fulldome digital projection a reflectively of 50% should be considered a maximum.


I've used the spherical mirror in a small dome, what resolution projector do I need for a large fixed planetarium?

An interesting question. All other things being equal, the size of the dome doesn't matter. By that I mean, the perceived resolution on the dome doesn't change as the size of the dome changes. The perceived resolution is the angle a pixel subtends at the eye, in a small dome the pixels are smaller but closer to the eye, in a large dome the pixels are larger but further away ... the angle the pixel subtends at the eye is the same. In reality, for a given projector resolution the effect on a large planetarium dome will be better than in a small inflatable (say) dome because in general the dome surface for the planetarium dome will be better.


What is the smallest sensible dome for digital fulldome projection?

This depends on the application, for single person domes I suggest 3m is about the smallest. The old visionstation by Elumens (no longer available) was 1.5m and while the spherical mirror has been used it isn't ideal. My dome shown below is 3m diameter but as you see it is orientated differently to planetarium domes. The smallest inflatable for a dome orientated as the usual planetarium I recommend is 5m, an example is shown below. 5m seems to be a comfortable size for half a dozen adults, and a dozen children.

It is interesting to note that when the mirror is placed close to the edge of a planetarium style dome, the warping is relatively insensitive to the dome size. This can be seen in the following diagram, the green line for example strikes the large dome and the smaller dome at about the same relative position on the dome.


Why should I consider a good seamless dome surface instead of a dome constructed from planar faces?

As with a lot of things this is often a matter of budget. The bottom line is that something magical happens when one looses sight of the dome (projection) surface. When this happens the human visual system kicks in and creates both an immersive sense and often a sense of 3D depth. This hiding of the projection surface is unlikely to occur with a panel/tiled dome surface.


What are the audio implications within a dome?

This is not really related to spherical mirror projection. A solid (reflective) dome does have a focusing effect (focal point at 1/3 the dome radius). Inflatable domes have less of a problem since some sound is transmitted through and absorbed by the cloth (a good thick carpet floor also helps). Large planetariums solve this by using perforated metal mesh surfaces with the speakers on the outside of the dome.


What is the largest dome your spherical mirror projection has been used in?

As far as I am aware it is a 20m diameter bucky ball dome at the Gravitational Discovery Center at Gin Gin, Western Australia. While this was a demonstration only, it is being used on an ongoing basis in a number of 15m diameter planetariums. As discussed here, it isn't necessarily the resolution that is the problem as the dome sizes increases but rather the brightness as the surface area increases.


 


If I install a spherical mirror system can I retain my star projector?

Definitely! The main limitation is ensuring the star projector is below or can be moved below the spring line. In the most common spherical mirror setup there should be no obstructions above the spring line of the dome (actually, no obstructions above the line between the base of the mirror and the opposite spring line point).

Please note that I highly recommend people keep their dedicated star projectors. While there is no doubt that the spherical mirror projection solution is a viable option for digital fulldome video, it cannot compete in quality with a dedicated star projector. Indeed even multi-million dollar digital projection systems (at the time of writing) have trouble competing with a good star projector.


Bangalore, India
 

Adelaide, Australia





Content creation and playback related



Can I use movies from planetarium content providers with the spherical mirror projection?

Definitely! The planetarium industry is used to using movies where each frame is a fisheye projection, typically running at 30fps. This is the natural image formats for projection into a hemispherical display, as such it is also the natural format for projection using a spherical mirror. The only "trick" is getting the content supplier to provide the movies at the appropriate resolution and in the right file format. Some/most suppliers will ship raw frames on request in which case you can create your favourite movie format.

How does the warping actually work?

All content for hemispherical at some stage is represented as a fisheye image. If this image was projected using a data projector with a fisheye lens located at the center of the dome then the image would appear undistorted on the dome surface (assuming the viewer was in the position the fisheye was created for). If the same image were projected using a standard data projector and reflected off a spherical mirror onto the dome the result would appear far from correct. However, it is possible to distort (also called warping) the fisheye image to compensate for the distorting effect of the spherical mirror. In practical terms this is usually done by applying the fisheye image to an OpenGL mesh with just the right texture coordinates. This mesh and the corresponding texture coordinates is what my "meshmapper" generates and is further described here along with some extensions described here. Once you have gone to the trouble of creating such a warping mesh then it can be used by all packages that support this approach. An example of a warped fisheye image is shown below.


Example from "Moonlight" by Andrew Quinn


How do I capture live video footage for dome projection?

As with all dome content you need to acquire video made up of fisheye frames. This is difficult without considerable expenditure. The most cost effective solution I am aware of is described here. The main problem is the limited resolution and quality (due to video capture and compression artifacts) of digital video cameras.


 

 

By comparison it is relatively straightforward to capture high quality fisheye still images using a digital camera with a fisheye lens, or if the content isn't changing in time using a digital camera and stitching a number of photographs together. In this later case if one creates full spherical panoramic images then there is an interactive application available called "panodome" that lets you pan around.


Can I use normal video content?

This is a question that is wider than just spherical mirror projection, it applies to all hemispherical dome projection options, indeed most immersive environments. The bottom line is that fisheye projections are the minimum image projection that contains the necessary visual information. So if you want an undistorted imagery in the dome then no, normal video or images are not sufficient. If on the other hand you want to present a normal image or video on part of the dome, yes that is possible. For some techniques the present traditional images on a dome see this.

Additionally the warpplayer is able to warp a standard video such that it appears on a region of the dome. In the following examples it is made to appear on a plane in the "front" of the dome, the size of the plane is equally adjustable during the the creation of the warp file.


Frame from original movie

Fisheye

Warped fisheye


How come the images in my dome look distorted?

Two possible reasons (at least), assuming you are using fisheye images as the source material.

The spherical mirror projection requires a precise calibration in order to create undistorted looking projections. This calibration requires a knowledge of the position of the components (dome, mirror, projector), the optics of the projector (throw, aspect, lens offset), and the sizes of the dome and mirror. For the software used by the author the following calibration software is used.

Another consideration is one that applies to all hemispherical projection. The imagery only looks correct for a single position in the dome, note however that while this position is normally the center of the dome it can be any position at all (for more information see "offaxis fisheye" projections).

If you are referring to the distortion immediately behind and above the mirror (assuming it is located near the rim of the dome) then indeed that is a very sensitive region. Such distortion can arise if the dome isn't perfectly spherical (eg: inflatable domes), or if you have not created a mapping that accurately reflects the geometry of the environment.


How do I tell how distorted my projected images are?

If you create and project a fisheye image of a polar grid (lines of longitude and latitude) then the result on the dome is known. Namely, lines of longitude should appear vertical, lines of latitude should appear horizontal, the rim of the fisheye should align with the spring line of the dome, and the pole should be aligned with the pole of the dome. The following example is for an upright dome but the same concept applies to any dome.


Polar grid test pattern in 3m upright dome


Surely you also need to compensate for different brightness levels on the dome due to different pixel densities on the dome?

Correct, this is supported by the warping mesh files, not only does each vertex of the warping mesh have a position and texture coordinate but they also have a multiplicative intensity value between 0 and 1. Values of 0 are often used to mask of areas of the projection that may fall outside the dome area. In reality this intensity correction is not terribly important except for immediately behind and above the mirror where the brightness can be significantly higher than other parts of the dome.


Typical 4:3 warped fisheye with intensity falloff
 

Typical 16:9 for upright dome with intensity mask


When warping fisheye images on the fly using "warpplayer", what fisheye sizes should I use?

This obviously depends on the projector resolution, there is no hard and fast rule but the following gives a minimum (below which the image size will limit the quality) and a maximum (above which I suspect there will be no difference in the final result).

Resolution       Minimum     Maximum    
XGA (1024x768)1000x10001200x1200
SXGA+ (1400x1050)1400x14001600x1600
HD (1920x1080)1600x16002000x2000

Irrespective of the fisheye frame size the computer display should always match the projectors native resolution. The warping map is aspect ratio dependent but not dependent on the actual native resolution of the projector.

In contrast, if one is using a fisheye lens on a projector then the image size of the movie frames should match the native resolution of the projector which is turn should be the output resolution of the computer display. A higher fisheye frame resolution will not improve the image quality (and require more CPU power to play), and a higher computer output display may actually degrade the image quality.


What is wrong with just prewarping the fisheye movies?

Instead of using "warpplayer" and warping fisheye movies on the fly, prewarping has the advantage that any computer platform (within reason) can be used and the movie files are generally smaller. The disadvantage is that for a strictly correct result the exact warping need to be changed each time any component of the system is changed, ie: the position of the dome/mirror/projector. Prewarping movies can be time consuming and having multiple copies of a movie for different configurations is wasteful.

For less precise results it may acceptable to use a "neutral" prewarped movie that will at least work for a particular aspect ratio, generally 4:3 or 16:9. The authors prewarping software is called "tgawarp", it along, with the same mesh file created with "meshmapper" and used by "warpplayer", can warp TGA and JPEG image sequences.


What compression codec should I use?

In my opinion one should be using codecs that result in minimal image degradation. Fulldome projection using a single projector is "pixel challenged" enough without making it worse by using visually lossy compression. For this reason I personally avoid all lossy compression methods for images (eg: jpeg) and use TGA or PNG exclusively. For movies I avoid anything based upon MPEG or AVI, these and many other lossy codec are designed for low bandwidth internet movie sharing, this is not a requirement for fulldome projection that is always run off a local hard drive.

Since my warp-on-the-fly software is designed for Apple Macs I tend to use the PhotoJPEG codec for large fisheye movies with quality setting on "high". Not only does this codec seem to decompress large image sizes with current CPUs but it is a frame by frame codec so one can move forward and backward without penalty.

Having said that, one of the benefits of using QuickTime is the wide range of codecs some of which are suited to different content types, cartoon vs CG, vs real life video. The codecs can even be mixed and matched within reference movies.


I have a series of fisheye frames, how do I create a movie?

There are a large number of options, the one you use depends on your hardware playform and just how sophisticated you need to be, for example, do you need to add transitions, composite additional material, etc. If your needs are modest then my preference is simply QuickTime Pro. This allows one to import large series of images as the movie frames, cut/copy/paste movies together, add audio, and a range of other tasks including of course exporting the result to a movie file using a particular codec.


I have received a fulldome show consisting of tens of thousands of frames, how do I manage the large movie?

As with the above, I will limit myself to the simplest software solution, namely QuickTime Pro. QuickTime can handle what are called "reference" movies, these are movies that consist of (refer to) a number of external movie files. The reference movie file itself is usually very small, just containing information on the location and name of the movies it references. A reference movie is created by opening all the movie pieces and copy/pasting them together and saving. Note that the audio track would normally be added to the final reference movie, it also becomes a referenced track. It goes without saying that the movies referenced in this way need to be kept together although QT Pro will prompt you if it "loses" a referenced movie.

There are two ways of using this. In the first case you simply create movies of every 10000 frames say, then create a reference movie that holds each piece in the correct order. The result is smaller movie files that can be more easily backed up for example. The second more sophisticated method is to create a movie of each chapter or topic of the fulldome show. If appropriate this second approach allows the referenced movies to be combined in different ways depending on the audience or for dealing with smaller themes.


Will "warpplayer" be ported to MSWindows?

Very unlikely. My "warpplayer" application leverages key aspects of Apples QuickTime and OpenGL in order to play very high resolution movies (easily 2Kx2K on current standard hardware) with minimal compression artefacts. It is unlikely that equivalent performance could be obtained on the MSWindows platform without a total rewrite.


How do I write realtime applications?

This is certainly outside the scope of this FAQ. If you are an OpenGL or Direct3D competent programmer then I can convey (and probably provide source code snippets) on how to convert or write fisheye capable programs including the warping required for spherical mirror projection.

Elumenati have a free API for Direct3D and OpenGL. This will hopefully support warped fisheye in the next release.


Why deal with mesh files to do the warping, why not derive the warping tranformation explicitely?

A few reasons. Perhaps the main reason is that it's very difficult (if not impossible) to derived a closed solution. While it is possible for an idealised situation, it becomes much more difficult when one has to deal with certain realities such as lens offset, rotated projector, possibly rotated mirror and so on.

It also turns out that some components are not perfect and some are additionally difficult to measure. So even if a closed expression was found there would still be some trial and error as well as manual tweeking if one wanted an optimal result. Instead of loading each application with the equations (or the current simulation) and an interface for testing parameters, I decided to do that once and all subsequent applications just read the single calibration mesh that describes the warping.


Can I render warped fisheye images directly, without warping fisheye images or creating cubic maps?

Yes. Assuming you are using a raytracer (or a rendering engine with the required capabilities) then you can imagine replacing the real life data projector with a virtual camera within your 3D scene. Place a perfectly reflective sphere in front of the camera, again with specifications that exactly match the projector/mirror parameters. If you now render your 3D scene as reflected in the mirror then those images are ready to be projected directly. More information found here.
The main objection of doing this way are: you can't readily share you content with other systems, in particular, planetariums who are not using the spherical mirror projection (who expect to receive content as a fisheye frames) or indeed other sites using the spherical mirror but may have a different geometry and hence warping mesh.


Can I capture stills or video by pointing my camera at a spherical mirror?

I'm assuming that your plan is to capture images with a still or video camera and then play them back (directly) using a spherical mirror projection system. Even though I would still recommend fisheye capture, this general idea does work. What you need to do is, as closely as possible, is mimic the frustum of the projector/mirror system you will for projection with the frustum of the camera/mirror. So for example, if you measure the horizontal field of view the projector makes to your spherical mirror you hope to be replicate that horizontal field of view with your camera. The next trick is the projector has an offset frustum vertically but your camera has a symmetric vertical field of view. What you normally do then is simply use half the vertical field of view of your camera. So, the images you capture will hopefully be full width but you will only use half the height, cropping it in post production. The image below is supposed to illustrate this for the case where you have a 16x9 spherical mirror projectin system and a 4:3 still camera aspect. The key is to understand that you need to match what the camera "sees" (or at least a cropped region) to what the projector "projects".

Again, the same objection as the previous question to this. Although the situation in this case is not so clear cut because fisheye photography and especially filming is so much more difficult than computer generated fisheyes.


I'm using the warpplayer to warp fisheye movies on the fly but I also have some prewarped shows, how do I play those?

You have three choices (at least)





Other

What is the history of the spherical mirror projection technique?

The history of this technique, at least in the current digital environment is as follows.


What are the benefits of the spherical mirror vs fisheye lens?

Obviously, I'm biased but I try not to be.


Which gives better image quality, fisheye lens or spherical mirror system?

Again, I am not necessarily the most unbiased person to ask. In my experience an optimised spherical projection system based upon the same projector resolution can be just as good as a fisheye based system. The problems with the spherical mirror vs a fisheye are as follows.


How do I learn more about spherical mirror projection and fulldome projection in general?


I want a turnkey solution rather than doing it myself, what do you recommend?

I suggest you consider E-Planetarium. As far as I am aware they offer the best quality domes and spherical mirror projection systems on the market at the moment.

I am available for consulting and can provide onsite demonstrations/training in large/fixed planetariums, contact me for more details.


How applicable is this projection technology for a large fixed dome?

Fulldome projection in large and/or fixed domes is largely about a tradeoff between the resolution on the dome and the cost. The top of the line system currently consist of multiple projectors (either 2 very high end projectors in the center of the dome or 5/6/7 projectors around the rim) and come at a significant cost. The next alternative is a single (or two) lower end projectors with a fisheye lens, for more information on this see The Elumenati.

Using a single projector and a spherical mirror is the lowest cost solution and it is definitely an option for fixed planetarium domes and is already being using in a number of domes worldwide. If you are interested in this then there is a network of planetariums using this technology, send me an email and I can put you in touch with the relevant people at these sites who can share their experiences.


What is the relationship between yourself and the Swinburne University "mirrordome'?

I developed the initial spherical mirror projection technology while employed at Swinburne University. I am no longer employed there and there is no on going relationship. Their commercialisation of the technology is independent to myself.

In general my interest is in maximising the quality of this fulldome projection technology. This most commonly centers around upright domes and fixed planetarium domes with applications to science visualisation, public education, and entertainment.


Is the spherical mirror projection really your invention?

Yes and no. In the sense that I applied it to current digital projection in hemispherical dome, yes. For some installations in a photographic record see this. However, it turns out that the use of a spherical mirror has a older history, namely as a means of projecting into large planetarium style domes as far back as 1957 in Hamburg, Germany.

In relation to the earlier question here regarding filming off a mirror, this is exactly how content was created for this original use of a spherical mirror.