In this example, we present a workflow to perform stray light analysis of an ultra-short wall projector as well as rendering simulations of the system in a real environment, by including CAD geometries of a living interior and multiple indoor and outdoor sources.
The optical lens system of the ultra-short wall projector, coming from Ansys Zemax OpticStudio, and the CAD geometries, contained in a *.gltf file, are imported in Ansys Speos for system level analysis. This example mainly covers Ansys Speos part of the overall workflow.
Overview
Understand the simulation workflow and key results
Ultra-short wall projector can be entirely designed and optimized thanks to Ansys Zemax OpticStudio. Nevertheless, the interoperability between Ansys Zemax OpticStudio and Ansys Speos can take the analysis further. Indeed, the Optical Design Exchange function can transfer the optical system and materials from Ansys Zemax OpticStudio to Ansys Speos in a simple click. After that, an almost unlimited amount of CAD geometries, representing the entire environment, can be imported thanks to the gLTF file import function. Once the data preparation is done, multiple analysis can be performed: stray light analysis thanks to the Light Export tool, human vision analysis, contrast measurements, legibility and visibility analysis ...
Step 1: Export of Optical Design Exchange from Ansys Zemax OpticStudio
In this step, we export the optical system from Zemax by generating the .odx file.
Step 2: Import of glTF file
In this step, we import CAD data using the new import gltf feature.
Step 3: Import of Optical Design Exchange in Ansys Speos
In this step, we import the optical system coming from Zemax in Speos using Optical Design Exchange feature.
Step 4: System-level analysis in Ansys Speos
In this step, we set up simulations to perform stray light analysis and human vision analysis.
The main tools needed for this example are:
- Ansys Speos 2026R1 or later version
- Ansys Zemax OpticStudio 2026R1 or later version
Run and results
Instructions for running the model and discussion of key results
Step 1: Export of Optical Design Exchange from Ansys Zemax OpticStudio
The design of the ultra-short throw projector has been done with Ansys Zemax OpticStudio. You can check the design of the system by opening “Ultra short throw projector_display size_049inch.zmx” file in Ansys Zemax OpticStudio.
Because the level system analysis will be performed in Ansys Speos, the optical design needs to be transferred from Ansys Zemax OpticStudio to Ansys Speos. For that, the Optical Design Exchange feature can be used. The *.odx file generated contains the geometries of the system with their position and orientation, the position and orientation of the imager, the materials and coatings used in the optical system. This file will be later imported in Ansys Speos.
Notes: Here is the list of the optical elements from Ansys Zemax OpticStudio that can be exported to Speos - Understanding What Can Be Exported from Ansys Zemax OpticStudio
Once the optical design in Ansys Zemax OpticStudio is completed, *.odx file can be exported:
-
Open the project “Ultra short throw projector_display size_049inch2601.zmx” in Ansys Zemax OpticStudio
-
Click on File>“Export Optical Design to Speos”
Save the *.odx file with a custom path and name
-
A pop-up saying the export is successful appears
Step 2: Import of glTF file
glTF is an open format for 3D data exchange, widely used in design and real-time 3D applications. Ready-to-use assets, such as street scenes, vehicles, or living interiors, can be easily found on web databases. Geometries can also be imported or created in Blender, a free 3D design software, and saved as a glTF file.
Since Ansys Speos 2025 R2, it is possible to import glTF geometries with no-data preparation:
Faceted geometries are created in Structure tree
Physically Based Rendering appearance materials and textures are imported as materials (appearance properties) and UV mapping in the Simulation tree, with a direct link to geometries. New SVBRDF input files are created for each material and placed in the Speos input files folder of the project.
Note: Make sure you are looking for version 2.0 of *.gltf and *.glb files. These files contain UV, textures and Physically Based Rendering appearance materials. glTF 1.0 cannot be imported.
Find and download the .gltf file you want to import. In our scenario, we are using Shapespark example room Free low-poly 3D model (Royalty Free License) from www.cgtrader.com. To download the .gltf file, you need to create an account on cgtrader. Once the download is complete, you should have the following file: uploads_files_4012832_shapespark-example-room.gltf.
Open the file UltraShortThrowProjector.scdocx in Ansys Speos
-
Click on "glTF import" button from the Assembly tab
- Select the downloaded *.gltf file and click on open. It can take a moment depending on the size of the scene.
-
The faceted geometries, UV Map and materials are imported in the project, as well as the *.gltfsvbrdf files in the Speos input files folder.
Step 3: Import of Optical Design Exchange in Ansys Speos
From Ansys Speos 2025 R2, the Optical Design Exchange feature has been improved; the materials, as well as the local meshing, are now automatically created in the Speos tree under a sub-component dedicated to the ODX feature. The materials are defined by *.zemaxMaterial files that are automatically copied in the Speos input files folder. The main advantage of this development is to be able to modify easily the optical properties of the system directly in Ansys Speos. An additional advantage is to be able to modify the geometries themselves and still be able to use them in simulations as materials are already applied on them (previously, only the “Optical Design Exchange” feature could be selected in the simulation).
Here are the steps to follow to import the *.odx file, containing the projection lens system, coming from Ansys Zemax OpticStudio:
Right click on "UltraShortThrowProjector_OptoMechanicalSystem" component in the structure tree and select “Activate Component”
Click on “Optical Design Exchange” component in Speos ribbon: the component is created, and the definition panel is opened
Select ODX.Origin, ODX.X Axis and ODX.Y Axis for the axis system
-
Browse "Ultra short throw projector_display size_049inch2601.odx" file generated previously (or the one provided in the Zemax data folder)
-
Compute the feature:
The lenses and the mirror appear in the 3D view, in the Speos tree under the Optical Design Exchange feature and in the Structure tree. The objects in the Speos tree can be edited and the definition which contains Zemax parameters, is accessible, in read-only mode.
The materials appear in the Speos tree under the Optical Design Exchange sub-component and the *.zemaxMaterial files have been copied in the Speos input files folder. The materials can be edited and modified.
The local meshing appears in the Speos tree under the Optical Design Exchange sub-component. The meshing parameters can be modified.
The sources and irradiance sensor appears in the Speos tree under the Optical Design Exchange sub-component
-
The mirror needs to be cut to fit in the cover: use the Split Body function from the Design tab and the 4 planes already created to remove the unwanted parts
-
As the mirror has been modified, some links have been broken:
Re-apply Mirror.1 material on the mirror
Re-apply Reflectance_0 on the back face and four edges of the mirror
Re-apply the local meshing on the mirror (24 geometries in total)
Note: For more information regarding the exchange of encrypted optical models using Optical Design Exchange and Light Box, please visit the following article: How to exchange a black box optical system between supplier and original equipment manufacturer.
Step 4: System-level analysis in Ansys Speos
Stray light analysis
The goal of this part is to run a stray light analysis on the Ultra Short Throw Projector to find and evaluate the potential design defects of the system.
For this part, we will focus on the UltraShortThrowProjector_OptoMechanicalSystem sub-component which contains the Ultra Short Throw Projector system included in the Optical Design Exchange feature and the cover part of the system.
First, we need to define the objects of the simulation and run it:
Edit StrayLight simulation
Select the 7 elements of the cover and all the optical elements of the projector except the sources. 24 geometries should be selected.
Run the simulation with CPU (Light Expert is not compatible with GPU yet). The number of rays can be decreased to reduce the simulation time.
Then, we can analyze the result:
Open the *.lpf result: the XMP Viewer is opened, some rays are displayed in the 3D view and the Light Expert definition panel is opened.
-
Modify the visibility of some objects to make the analysis of rays easier:
In the structure tree, keep only the Optical Design Exchange sub-component visible, so only the lenses are displayed.
In the Speos tree, keep only the XMP result visible.
-
Use the section mode button and select the X axis to have a cut view of the lenses
-
You should obtain this view:
-
You can modify and move the measurement area and see an automatic update of the rays in the 3D view so you can know which paths the rays are following to contribute to this section of the result.
Let’s take the analysis further by using the separation by sequence that we have activated in the sensor. Open the Sequence Detection tool from the Tools section in the XMP Viewer: The Sequence Detection tool provides information for each sequence of the system: number of interactions, number of hits on the sensor, the energy in % with respect to the overall integrated energy, the average and peak values. When selecting one sequence, the user has access to the list of ray’s interactions with the elements of the optical system (faces or geometries). The corresponding face or geometry can be highlighted in the 3D view by clicking on a specific interaction.
You can analyze the different sequences by selecting specific ones in the XMP viewer, to display the rays in the 3D view, and in the Sequence Detection tool. Let’s analyze one of them: select the Sequence n°6 in the XMP viewer and in the Sequence detection tool. The result of the sequence n°6 is an arc-shaped artefact that we probably want to remove. Note: This sequence might not be the number 6 for you.
-
Select the different interactions to highlight the related faces in the 3D view. For the first 4 faces the main face of the lenses is highlighted but for the 5th one, only the edge is highlighted. It seems the rays passing through this face are the cause of the artefact so adding a coating on the face should decrease the artefact.
Notes: For more information regarding the sequence detection tool, please refer to the User Guide: Understanding the Sequence Detection Tool; and for more information regarding advanced straylight analysis workflow, please refer to the Ansys Learning Hub: Stray Light Analysis in Ansys Speos Software and Stray Light Analysis of Cell Phone Camera.
Rendering simulations and human vision analysis
The goal of this part is to obtain rendering results of the ultra-short throw projection system in a real environment and analyze this result in the Human Vision Lab. Thanks to the *.gltf import done earlier, we have imported CAD geometries representing a living interior. Additional sources have also been created to represent different lighting conditions.
Several simulations have been created to decrease the total duration of simulation time, but the results will be merged to have a complete result with all the sources at the end.
- An inverse simulation, Inverse_NaturalLight, has been created and contains the CAD geometries of the living room (only the ones that are in the sensor field of view), the cover of the ultra-short wall projection system, the natural light sources and the radiance sensor. As the sensor has been separated by sources, we will be able to use the Virtual Light Controller to activate or deactivate sources so only one simulation is needed.
- A direct simulation, Direct_Projector, has been created and contains the ultra-short wall projection system and its cover, the wall, the display source and the radiance sensor.
- A direct simulation, Direct_Luminaire, has been created and contains the CAD geometries of the living room (only the ones that are in the sensor field of view), the cover of the ultra-short wall projection system, the luminaire source and the radiance sensor.
First, we need to define the objects of the simulations and run them:
Right click on the main component in the structure tree and click on “Activate Component”
Edit surface layer #1 of Wall plaster_xxx material, select Library type and select Lamb100R_A0.simplescattering as Surface properties file
-
Edit Inverse_NaturalLight
-
Select all the elements of the cover (7 elements) and the glTF geometries that are in the field of view of the sensor (12 elements).19 geometries should be selected.
-
-
Edit Direct_Projector
-
Select all the elements of the cover (7 elements) and all the optical elements of the projector (17 elements) and the wall (1 element: Cube_face_0). 25 geometries should be selected.
-
-
Edit Direct_Luminaire
Select the same elements as for Inverse_NaturalLight. 19 geometries should be selected.
Run the simulations with CPU or GPU.
Let’s analyze the results:
-
We will focus on Union.xmp result that has been created by selecting the three results coming from the three simulations and selecting the map union operation in the Photometric Calc.
Open the result named Union.xmp, available in the output files folder, in Human Vision Lab. The Human Vision Lab allows to analyze the result as it has been seen by a human observer. It adapts the radiance response based on the non-linearity of the human eye, grants an option to automatically adapt the eye based on the ambient brightness and provides other options such as the depth of field or observer specificities (age, color deficiency …)
-
Open the Virtual Lighting Controller and switch from one configuration to the other: we can observe the rendering of the projected image in different lighting scenarios.
Notice that the power of the sources has been modified according to the lighting scenario, which means the source of the ultra-short throw projection system will need to have a luminance that can vary to have a good rendering in all situations.
Important Model Settings
Description of important objects and settings used in this model
Here are the Speos elements needed to perform the stray light analysis:
- Materials:
- The materials of the lenses have been created automatically by the Optical Design Exchange feature.
- A black plastic optical surface has been applied on the elements of the cover.
- Source:
- A display source has been created inside the optical system; this is the image that will be projected.
- Sensor:
- A spectral irradiance sensor separated by sequence has been created and positioned on the wall location.
- Simulation:
- A direct simulation has been created with all the mentioned elements. The Light Expert option has been activated for the sensor to be able to display the rays in the 3D view.
Here are the Speos elements needed to perform the human vision analysis:
- Materials:
- The materials of the lenses have been created automatically by the Optical Design Exchange feature.
- A black plastic optical surface has been applied on the elements of the cover.
- The materials of the faceted geometries have been created automatically with the glTF import.
- Source:
- A display source has been created inside the optical system; this is the image that will be projected.
- Natural light sources have been created to represent different sun positions that can impact the contrast of the projected image.
- Sensor:
- A spectral radiance sensor separated by sources has been created and positioned as a person watching the projected image from the armchair.
Taking the model further
Information and tips for users that want to further customize the model
Another potential analysis involves measuring contrast, a key performance characteristic of projectors. To determine the ANSI (American National Standards Institute) contrast, a standard method for evaluating projector contrast, the projected image can be replaced with a checkerboard pattern composed of eight black and eight white rectangles. By running the simulation and measuring the luminance of each rectangle, the average luminance of the white and black areas can then be calculated to obtain the ANSI contrast value.
Also, to further enhance the rendering analysis, an immersive sensor can be used in place of the luminance sensor. This will generate a .speos360 result file, which can then be viewed using a VR headset.
Additional resources
Additional documentation, examples, and training material
- User Guide - Understanding the Sequence Detection Tool
- ALH - Stray Light Analysis in Ansys Speos Software
- Application Gallery - Stray Light Analysis – Smartphone Camera
- Application Gallery - Stray Light Analysis of Cell Phone Camera
- ALH - glTF Import