Component Description Alice 3d Graphics Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Randy Pausch, pausch@cs.cmu.edu March 26, 1999 1 1 - Overview Alice provides an authoring and runtime environment for interactive three-D graphics. Alice can run as: Examples: 2 A windows 95/98/NT Application A plug-in for WWW browsers An networked front end to a remote visualization computation Interactive 3d graphics in a browser window Immersive virtual reality image generation Desktop delivery of interactive multi-participant visualizations. 2 - Architecture Overview Scripts Alice OOP Classes Alice Animation Facility Simulation Scheduler C/C++ User Modules “Ecila” Database MS Direct 3D RM MS Direct Sound Pentium PC Running Windows 3 Visual Basic and MFC Controls 3 - Component Description Scripts: user developed, in the Python language Alice OOP Classes, Animation, and Simulation ECILA Database allow arbitrary extension by end users in C/C++; called from Python Visual Basic and MFC Controls 4 provides low level support for graphics & sound C/C++ User Modules mediates between the Python layer and Direct X MS (Microsoft) Direct X layer implement the real-time scheduler for animations implement end-user interface for authoring tool 4 - External Interfaces Can communicate with arbitrary external programs via either: Python socket library a C/C++ extension that implements another protocol 5 5 - Existing Software “Bridges” Interoperation with Other Systems Functionality Can work with existing applications without change All Alice functionality is available via interpreted language Protocols (current) 6 Can interoperate with any other system by having that system open a socket and send Python code to do anything, which is interpreted in the Alice run-time environment. Using standard socket interface 6 - Information Flow Structure: The Alice run-time environment can be run as a windows application or a WWW browser, which communicates with other applications via sockets or other specially developed protocols. Inputs: The Alice run-time environment takes as input python code which can be interpreted to any effect, with commands like “object.move(forward, 2)” Outputs: The Alice run-time environment renders 3d graphical output into a screen window, and can communicate back results via sockets. 7 7 - Plug-n-play Interacting with Other CPOF Components Similarities to Other CPOF components No other CPOF components address 3d graphics Complementing other CPOF Components 8 We are essentially an external device for rendering 3d graphics Any CPOF component needing to render 3d data/visualizations should benefit from Alice 8 - Operating Environments and COTS Component Name Alice run-time environment 9 Required Hardware Operating System Pentium 90 Win 95/98/NT Language Python Required COTS none 9 - Hardware Platform Requirement Standard PC (Pentium 90 or faster) with 10 Windows 95/98/NT 32 Megabyte memory (128 preferred) 20 Megabyte Disk free Microsoft DirectX libraries Sound-blaster compatible sound card