Sponsors



Event Sponsor: Avid SOFTIMAGE

Hosting Sponsor: Meta Motion


Media Sponsor: CG Channel

1st International Symposium on Interactive Cinema (ICS 2006)

Enabling A Credible Discussion on Artistic, Production and Technical Issues for Creating an Interactive Feature Film

Panels


Radically Impacting the Production Process Through Advanced Procedural Techniques and New Asset Description Languages

Organizer

Yahya H. Mirza
Aurora Borealis Software LLC

Moderator

TBD

Panelists

Habib Zargarpour
Senior Art Director
Electronic Arts


Ken Perlin
Professor
New York University

Abstract

Over 30 years ago, when a small group of pioneers created the enabling technologies to utilize computers as a medium for art and storytelling, there were few boundaries of what either could be done or in what technical discipline one needs to label themselves as in order to accomplish it. Due to computers of the day and their memory and IO limitations, the only way one could realistically generate large complicated scenes was by computing them lazily. Thus procedural approaches were THE predominant approach to creating art assets. In these early days, individuals that had a deep passion to express themselves, had to be flexible enough to deal with multiple disciplines such as drawing, music, modeling, physical simulation, etc. As computer graphics emerged as a discipline, teams of specialists started to replace small groups of individuals with cross-disciplinary skills.

Today a major limiter in creating both games and animated feature-films is the excessive costs of creating art assets and their "one-offÓ nature. The recent trend of decreasing production costs by throwing the problem to a low-paid army of content creators in other countries simply avoids the problem of effectively dealing with rising production costs. As we look to the future, there is a very clear trend emerging in the hardware industry. Computation is becoming cheaper than pre-computed data access. Next generation multicore processors and GPUs are clearly moving in a direction, which fosters the algorithmic synthesis and modification of art assets. Additionally, processors are clearly moving towards large numbers of cores in a single processor die, some of which may contain small local memories. Steadily, it is becoming obvious that production pipelines, which do not foster a unified procedural approach, run the risk of not fully utilizing emerging hardware as it evolves.

The objective of this panel discussion is to have a "production-relevantÓ cross-disciplinary discussion on what issues need to be addressed to radically-innovate, the animation / game production pipelines. By massively reducing overall production costs, the hope is that in the near future a small independent studio explicitly built from the ground of composed of hybrid individuals, can someday decouple themselves from risk-adverse producers and thus more freely pursue their own artistic inspirations.

Issues we plan to discuss include:

  • Experiences in the wide scale use of procedural techniques in production.
  • Approaches to capturing art content / storing it in a procedural format.
  • Component-based reuse of procedurally based models.
  • User environments, tool-path, and infrastructure issues for next-generation procedural languages.
  • Hardware implications of procedural synthesis (audio, geometry, images, etc.).
  • How should we interchange procedural assets amongst various authoring systems?
  • How can we improve the artist "interface" to our underlying procedural system?
  • What tools can we create to explicitly support the procedural generation of art assets?
  • Is scene description and our current content creation tools the problem?
  • What are the characteristics of the host languages / domain specific graphics language features that are needed?



Real-Time Guided CFD / Simulation

Organizer

Yahya H. Mirza
Aurora Borealis Software LLC

Moderator

Name
Title
Organization

Panelists

Name
Title
Organization

Abstract

As hardware and software innovations occur in computing, an important pragmatic question that needs to be continuously asked is how do these great new computing innovations directly impact the users that will be utilizing these latest and greatest new computing technologies. Far too often, there is a great communication gap between hardware / software tool developers and the users of these tools. Organizations interested in the application of advanced computing technology for production, irrelevant of whether it is the production of a new aircraft, a new computer animated feature film, a new game or a new drug are often hardened against the latest and greatest technology computing fads favoring pragmatic solutions to their production needs.

Consequently, software tools developed with a deep insight into "a" problem domain, coupled with a pragmatic understanding of emerging computing trends and technologies can make for a powerful cost advantage to ones production design cycle. Thus many organizations in production are regularly re-evaluating their tools for new opportunities. The objective of this panel is to look at the current research underway in scalable multicore computing, dynamic data driven or user guided simulations, and emerging libraries for the numerical solution of partial differential equations, to discuss how they can be applied to create a distributed, real-time interactive physically based modeling environment to directly impact the experience of an aircraft designer, visual effects artist, numerical researcher etc.

Issues we plan to discuss include:

  • Assuming we had a massive compute server (approaching petaflop), how could we use this capability to do something practical?
  • What kind of distributed environment could we build for numerical simulation that could directly impact a users experience?
  • If we had a petaflop or even near-petaflop compute capability how would it affect our numerical algorithms?
  • How would we have to build our libraries to leverage this kind of hardware environment?
  • Conversely, what are the core algorithms that we need accelerated, and what kind of hardware primitives would best accelerate them?



Convergence of Real-Time Interactive and Feature-Film Quality Offline Rendering Systems

Organizer

Yahya H. Mirza
Aurora Borealis Software LLC

Moderator

TBD

Panelists

TBD

Motivation

A major aspect of a cinematic experience is the suspension of disbelief. One approach to achieving this experience is by supporting visual realism. Thus when creating computer generated photorealistic images, great care is taken in reproducing as much visual phenomena as accurately as possible. A set of visual phenomena termed global illumination effects include the accurate recreation of visual effects such as reflections, diffuse inter-reflections, refractions, soft / realistic shadows, motion blur, depth of field, caustics, translucency, etc. Batali describes a computer animated feature film as a production which can have anywhere from 10 to 100 hero models and up to 1000 non-hero models, with a single character having anywhere from 10 to 100 texture maps with each texture being up to a giga-byte in size. Additionally, Gritz characterizes a typical computer animated feature film as containing of the order 120,000 rendered frames, close to a gigabyte of geometry per frame, and taking on the average about four hours to render per frame. The amount of data generated for an animated feature film is staggering and easily in the tera-bytes. Thus it is obvious that rendering a feature quality motion picture is a costly and time-consuming process with bandwidth and storage becoming important drivers.

Over the years, the Pixar REYES architecture has shown its resilience as a production rendering system, through its ability to handle extremely complicated photo realistic scenes. Although the original REYES architecture served as a rendering toolkit and abstracted the visibility mechanism via a variety of visibility algorithms including: Z-buffer, scan conversion, super sampling, stochastic sampling, A-buffer, ray tracing, etc., to efficiently render depth of field and motion blur effects, the Pixar PRMan implementation of REYES did not rely on ray tracing for visibility. Rather, a scanline method was used for the visibility algorithm with an extensive utilization of textures to fake many of the common global illumination effects. Unfortunately, as the number of reflections, refractions, and shadows in a scene increases, the REYES algorithm starts to become more and more costly. As a work around, to increase performance, many production-rendering systems have utilized a hybrid approach, by using scanline rendering via the REYES algorithm for their primary visibility mechanism, and ray tracing as an alternative visibility mechanism used for visual phenomena such as reflections, refractions and shadows. Today, the complexity of scenes are continuously increasing with shots including larger numbers of very high quality objects, requiring more complicated global illumination effects. Additionally, computing architectures are increasing their support for multiple levels of parallelism through multicore processor architectures. In these emerging scalable computing environments, it is becoming readily obvious that a pure ray tracing approach to visibility could eventually out-perform todayÕs triangle rasterization based approaches such as DirectX and OpenGL and potentially even micro-polygon based rendering architectures such as REYES in the very near future.

Alternatively, in the past a large number of algorithms have been developed too compute a variety of global illumination effects based on a ray tracing visibility computation. A few of these global illumination algorithms that attempt to physically simulate light transport include: radiosity, ray tracing, beam tracing, cone tracing, path tracing, metropolis light transport and photon mapping. A few of these algorithms can be utilized together to provide a range of visual effects. Examples of a few production quality global illumination-rendering systems include Blue SkyÕs proprietary radiosity renderer, Mental ImageÕs Mental Ray photon mapping based renderer, and the recent physically accurate global illumination renderer from Next Limit among numerous others.

A common technique used by game studios today to fake global illumination effects in real time is known as Òbaking texturesÓ. This technique involves the usage of an offline global illumination rendering system such MentalRay to create a global illumination solution, which is then rendered to a texture and then used in real time through a pixel shader in game engine. Additionally, the usage of ray tracing for localized real-time effects such as reflections, and shadows are starting to be explored in real-time game applications with some researchers proposing the usage of ray tracing uniformly. Currently, a few plausible approximations to global illumination are being used in real-time games including precomputed radiance transfer, which is supported, by MicrosoftÕs DirectX 9.0 and ambient occlusion. In these approximate global illumination solutions; precomputation is used to decrease the amount of computation needed at runtime. Unfortunately, these precomputations generate massive amounts of data and thus require efficient data compression techniques in order for them to fit into system or GPU memory. Unfortunately a major limitation of precomputed radiance transfer outside of its large memory requirements is that itÕs limited to fairly simple scenes with rigid non-deforming geometry.

A major opportunity for the future real-time applications is the usage of ray tracing as the underlying visibility computation and doing away with rasterization based graphics hardware entirely. A key challenge for utilizing ray tracing for interactive computer game applications is the need for fully dynamic environments which support the movement of the camera, objects and light sources, and deformation of geometry within mixed in-door / out-door environments. When considering fully parallel rendering system based on ray tracing, another challenge will be latency issues of moving image partitions across a network, thus a fresh look may be needed at frameless and object based decomposition strategies relying on procedural geometric descriptions which can be re-computed in a demand driven fashion. Unfortunately most of todayÕs research in real-time ray tracing emphasize ray-intersection testing on triangle-based models. In these environments, bandwidth issues will be a major limiter with respect to the ability to scale out to a massive number of subcores in a many core cluster.

Recently, several studios such as ILM have started using game engines such as the Epic Unreal Engine to serve as the basis of a real-time interactive pre-visualization tool. An obvious next incremental step would be the development of a new custom distributed rendering system which utilizes a game console as a client and a many core / multicore cluster as a server. Given todayÕs heterogeneous multicore computing environments, a highly distributed rendering system to be effective, would require the usage of parallelism in all its forms including: message passing, systolic arrays, data parallelism (in its many forms including: loop parallelism, short-vector SIMD parallelism, long vector parallelism, streams parallelism), asynchronous futures, SPMD parallelism, parallel collections, etc. When looking to accelerate the algorithms in one's rendering system by targeting a new computing architecture, itÕs useful to fully understand both the rendering systems opportunities for parallelism, and the hardwareÕs support for various kinds of parallelism. Given a target system, and a problem: either the problem's algorithms can be mapped to the target; or alternatively new algorithms can be developed explicitly for that target system. Understanding the characteristics of oneÕs algorithms, their potential for parallelization and mapping the correct pieces of the algorithm to a particular processing element such as a GPU, stream processing unit, multi-threaded scalar core with short-vector SIMD, long vector SIMD, FPGA, custom functional unit etc. will be the performance differentiator between various commercial rendering systems of the future.

Finally, one could argue that an architecture like the CELL is a great platform for ray tracing due to itÕs multiple SIMD subcores. Alternatively, one could also argue that the CELLÕs lack of a cache and reasonably slow context switching make it a non-ideal architecture for ray tracing, rather a multi-threaded architecture such as SunÕs Rock or CrayÕs Cascade may be better suited for ray tracing. The fact is that often times, algorithms can be reorganized to better suite their target hardware either at compile time or run time. For example an algorithm that has irregular data access such as pointer chasing can be ÒregularizedÓ on a scalar core and then fed to the SIMD core, which is optimized for regular data access. In this case one has to understand the characteristics of the algorithm to make rationale software design choices as to how to parallelize and what kind of kind of hardware or subcore it is best suited to for. Thus in order to have a credible discussion on the impact of emerging hardware on future rendering systems, one also has to have a discussion on the algorithms used and the techniques used for their parallelization.

Themes and Goals

Emerging heterogeneous multicore processors will provide production renderer and game engine implementers and researchers with a disruptive new opportunity with respect to designing and implementing their future parallel rendering solutions. The objective of this panel is to enable game engine, film renderer implementers and global illumination researchers to have a holistic discussion debating the impact of a range of multicore architectural elements, parallel programming models, and system software issues on future rendering systems.

Issues we plan to discuss include:

  • How can we best leverage leveraging emerging hardware?
  • Considerations for designing new rendering algorithm based on capabilities of emerging hardware vs. accelerating existing rendering algorithms?
  • Implications of single vs. double precision floating point, N-way vs. 4-way SIMD, cached vs. software cache vs. memory processor, fast vs. slow context switch latency, hardware recursion, custom domain specific function units, etc. on future global illumination algorithms.
  • Decomposing rendering algorithms across, scalar, SIMD, GPU and FPGA cores.
  • Task partitioning, job parceling and load balancing, and scalability strategies for parallel rendering?
  • Multi-level parallelization / SIMDization of core rendering algorithms.
  • Issues in hardware accelerating core rendering algorithms on a GPU, scalar core, SIMD core, FPGA?
  • Physically correct versus plausible simulation of light transport.
  • Tradeoffs between object space vs. image space parallel rendering on emerging hardware.
  • Enabling large complex models and scenes with large numbers of lights in real-time.
  • Hybrid micro-polygon / global illumination renderers.
  • Dealing with shared data structures in multithreaded versions of core global illumination algorithms.
  • Coherence (spatial / temporal data).
  • Bandwidth, Storage, Load balancing.
  • Ray tracing acceleration schemes to reduce the number of ray / triangle intersection tests.
  • Ray tracing traversal schemes.
  • How is the choice of the traversal scheme dependent on the characteristics of the target hardware?



Could a Petascale Computing System Enable An Interactive Computer Animated Feature Film?

Organizer

Yahya H. Mirza
Aurora Borealis Software LLC

Moderator

George Bosworth
Virtual Machine / Software Architect
Independent Consultant

Abstract

TodayÕs major computer animation production studios often times are working on multiple feature films at the same time. These feature films can easily contain over 100,000 frames. The Render / Compute farms that are utilized for these heavy computational requirements, can easily take millions of CPU hours to complete their tasks. Additionally these film use multiple physically based simulation such as cloth (finite element simulation), fluids (CFD), rigid body / deformable body dynamics, etc. to more accurately generate the behaviors of the objects in a scene. Computing these feature-quality "shots" in real-time would require an immense computational workload.

The objective of this panel is to look at how a peta-scale system could be put into use to create and play in a theatre environment an interactive computer animated feature film. Alternatively one could also consider an interactive feature film as a real-time training simulation.

Issues we plan to discuss include:

  • What are the technical issues involved in leveraging a petascale system to create and render a feature quality computer animated film?
  • What is the minimum functionality needed to enable a domain specific film rendering runtime such as RenderMan or Mental Ray, etc on a petascale system?
  • What do we need in a new low-level model communication?
  • What is the distributed global consistency protocol needed for a large scale system built using multicore processors?




Best viewed on a browser which supports cascading style sheets