Proscenium
From Adobe Labs
Welcome to the Wiki page for the preview release of Proscenium.
Installation Instructions
These instructions are for getting the Proscenium projects up and running with Adobe Flash Builder. If you don't already have Flash Builder installed on your machine, you can download free trial at the following URL:
1. Download the latest copy of the Proscenium distribution from the Proscenium Labs download tab. Unzip the file.
2. Download from the following URL the latest versions of both the Flash Player Content Debugger for your platform and playerglobal.swc from the following URL:
- (Note, on OS X you will have to open the .dmg file and copy the application to your computer.)
3a. Make sure that you have latest video drivers installed for your system.
- (On Windows especially, using the built-in video drivers can result in crashes of the player when DirectX is initializing.)
- [ATI video cards]
- [NVIDIA video cards]
3b. [Windows-specific instructions] - Install DirectX End-User Runtime
- (In Windows Explorer)
4. Launch Flash Builder.
5. Set the proper Preferences in Flash Builder
- Select Window > Preferences
- (Add path variables to point to the proscenium libraries and playerglobal.swc)
- Under General > Workspace > Linked Resources
- Click "New..."
- Name: PLAYERGLOBAL
- Click "File..."
- Browse for the copy of playerglobal.swc you downloaded from above
- Click "OK"
- Click "New..."
- Name: PROSCENIUM_LIBS
- Click "File..."
- Location: Browse for the libs folder from the Proscenium distribution
- Click "OK"
- (Set the proper version of the Flash Player)
- Under Flash Builder > Debug
- Click "Browse..."
- Browse for the copy of Flash Player Content Debugger you downloaded from above.
- Click "OK"
- Click "OK" to exit the Preferences
6. Import the project into Flash Builder
- Select File > Import
- Under General > Existing Projects into Workspace
- Click "Next"
- Click "Browse..."
- Browse for ProsceniumSamples under the code folder from the distribution
- Click "OK"
- Click "Finish"
7. Clean Build the projects
- Select "Project > Clean"
- Select "Clean all projects"
- Click "OK"
Using Pixel Bender with ProsceniumSamples Project
Proscenium includes support for Pixel Bender 3D shaders. The ProsceniumSamples project has an Apache Ant build configurations for compiling both Pixel Bender and Pixel Bender 3D shader programs.
To simplify the Proscenium installation, we have disabled the build step by default and have provided the generated shaders. However, if you interested in modifying the shaders or adding new ones, the following instructions describe how to activate the build step to automate the shader compilation process..
1. Upgrade the Apache Ant binaries in Flash Builder
- Download the latest binary distribution (version 1.8.2) of Apache Ant from the following URL:
- http://ant.apache.org/bindownload.cgi
- (Click the link to apache-ant-1.8.2-bin.zip)
- Make sure you quit the Flash Builder application
- Unzip the contents of the apache-ant-1.8.2-bin.zip archive
- Copy the contents of the archive over the files and folders in the following location: (It is recommended that you make a backup of the folder prior to overwriting the files in case you want to restore the originals)
- (When asked to replace/overwrite existing files, click yes/accept)
- [Windows XP and 32-bit Vista/7]
- C:\Program Files\Adobe\Adobe Flash Builder 4.5\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\
- [Windows XP and 32-bit Vista/7]
- [Windows 64-bit Vista/7]
- C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\eclipse\plugins\org.apache.ant_1.7.1.v20100518-1145\
- [Windows 64-bit Vista/7]
- [Mac OS X]
- /Applications/Adobe Flash Builder 4.5/eclipse/plugins/org.apache.ant_1.7.1.v20100518-1145/
- [Mac OS X]
2. Download and install the Pixel Bender 3D Utility program
- (For compiling Pixel Bender 3D shaders)
- Download the Adobe Labs release of Pixel Bender 3D from here:
- Unzip the contents of the .ZIP file.
- Create a folder called tools in the Proscenium drop location
- Create a folder called Pixel Bender inside of the tools folder.
- [Windows-specific instructions]
- copy the contents of the "./bin/windows/" folder to "./tools/Pixel Bender/" in the Proscenium drop location
- (includes pb3dutil.exe and several .dll files)
- [Windows-specific instructions]
- [OS X-specific instructions]
- copy the contents of the "./bin/mac/" folder to "./tools/Pixel Bender/" in the Proscenium drop location
- (includes the pb3dutil application)
- [OS X-specific instructions]
3. Download Pixel Bender Toolkit 2.5 for your platform:
- (Used for compiling Pixel Bender shaders)
- [Windows-specific instructions]
- Download the ZIP file from the following URL:
- [Windows-specific instructions]
- Unzip the contents of the pixelbender_toolki_2.5.zip archive.
- Run Set-up.exe to install Pixel Bender Toolkit
- With a text editor, edit the build.properties file in the code/ProsceniumSamples/res/kernels folder from the Proscenium distribution.
- Add the following line based upon your platform (using slashes, not back-slashes)
- [Windows XP and 32-bit Vista/7]
- pbutil = C:/Program Files/Adobe/Adobe Utilities - CS5/Pixel Bender Toolkit 2/pbutil.exe
- [Windows XP and 32-bit Vista/7]
- Add the following line based upon your platform (using slashes, not back-slashes)
- [Windows 64-bit Vista/7]
- pbutil = C:/Program Files (x86)/Adobe/Adobe Utilities - CS5/Pixel Bender Toolkit 2/pbutil.exe
- [Windows 64-bit Vista/7]
- Save and close the build.properties file
- [OS X-specific instructions]
- Download the DMG from the following URL:
- Open the DMG file and copy the Pixel Bender Toolkit application to the "./tools/Pixel Bender/' folder
- [OS X-specific instructions]
4. Open Flash Builder
- Right-click on the ProsceniumSamples project
- Under Builders, check the Compile Shaders builder for the project
- Click "OK"
Known Issues
Rendering Limitations:
There is a fixed budget for shader instructions, which limits the combinations of effects that can be used at the same time. For instance, two point lights with shadows may be used with only 1x1 shadow sampling, whereas a single point light can have up to 3x3 shadow sampling which leads to smoother shadow boundaries. Lights without shadows may be more numerous before this limitation is reached. Similarly, instructions are used for each additional type of texture map that is used by a material including diffuse color, emissive color, ambient color, specular color, opacity maps etc. Fewer types of maps for a single material will use fewer instructions which in turn will allow for a larger number of lights. Enabling fog will also contribute to the total shader instruction count.
For directional lights, shadows may become more blurry when the camera is looking in a direction parallel to the light direction for large scenes.
Lights for which transparent shadows have been enabled may have shadows that look blocky or banded.
Layered transparency shows up to the nearest two transparent surfaces and the nearest opaque surface. (It is possible to set a flag to show only the nearest transparent surface rather than the nearest two to improve performance.)
The particle systems are additive, in that each particle adds to the total intensity of each pixel to which it contributes. If hybrid transparency is enabled (at some cost to performance), then particles behind the nearest transparent surface will be attenuated by that surface, but the second nearest surface will not affect particles. Particles are hidden by opaque objects as expected.
Lights illuminate surfaces, but do not illuminate fog.
Post-processing effects, such as the bloom filter, may impact performance.
Physics and Animation Limitations:
Skinned character rendering is supported, but there is no built-in dynamics-based character controller.
The physics simulation requires a large set-up time when using complex meshes (more than 10,000 polygons) for collision detection. It is recommended to use simpler proxy geometry for the collisions, while using the full resolution mesh for rendering.
Model Limitations:
When creating binary-format models, the uncompressed size of the model in memory cannot exceed one gigabyte.
Limitations of Stage3D
Proscenium is based on the Stage3D API, so it inherits a number of restrictions. These restrictions include texture sizes being limited to no more than 2048 by 2048 pixels and environment map faces being limited to no more than 1024 by 1024 pixels. These restrictions apply to loaded textures and to generated textures such as reflection and shadow maps. There is also a restriction on total texture memory size.
