Creating a particle system with streaming SIMD extensions
3d Flames Fire Graphics Animation Programs: Sometimes a well-architected well-implemented particle system isn't enough when it comes to performance. If you are developing for the PC platforms, and your target is Intel Pentium III or Pentium 4 processors, look no further than the Streaming SIMD Extensions.

by William Damon, technical marketing engineer, Software Solutions Group, Intel Corp.

Smoke, fire, water spray, dust, and more all have something in common. They all benefit from a good particle system. For the uninitiated, a particle system is essentially the management of a collection of nonstatic points in 3D space. In most common examples, each point, or particle, goes through an entire life cycle from "birth" through "death." Adjusting the parameters that affect a particle's life cycle allows the creation of various effects. The key ingredient of a particle system that makes the generated effects look so realistic is chaos; a bit of randomness in the behavioral modification of the particles. This paper dives into creating a particle system that takes full advantage of Intel® Architecture.

Sometimes a well-architected well-implemented particle system isn't enough when it comes to performance. Wouldn't it be nice if it were possible to design all the math and physics behind these brilliant effects in such a way that the processor could handle four times the workload? If you are developing for the PC platforms, and your target is Intel Pentium® III or Pentium 4 processors, look no further than the Streaming SIMD Extensions.

Streaming SIMD Extensions allow the operation of instructions on up to four pieces of data simultaneously with a single instruction; hence the acronym SIMD: Single Instruction Multiple Data. Arranging and organizing the data optimally allows for the maximum benefit from these instructions. Hundreds of applications exist for SSE. Here we focus on one that is near and dear to the game programmer's heart.

© 2004 Intel Corp.


Subscribers who liked this article also read:
Multithreaded .NET Web service clients: threads and responsiveness
by Ian Griffiths and Chris Sells, consultants. Intel Corp. Unresp...
Multiple approaches to multithreaded applications
by George Walsh, freelance researcher and writer. Intel Corp. The...

If you're interested in this topic, these articles may be helpful:

Creating an ImageEffectGlow within Avalon
by Robert Wlodarczyk, Microsoft Corp. This simple UI is an example ...
Creating Sustainable Business Advantage in Financial Markets - Dual Core Intel Xeon Processor
Decisions that Define Your Future There are a small number of techno...
.NET client application "no touch" deployment: harness the full processing power of the desktop
by Christopher Goldfarb, senior software architect, Intel Software Sol...
Transcoding and codec optimization: tips & tricks
by Khang Nguyen, senior applications engineer, Software and Solutions ...
Creating high-performance embedded applications through compiler optimizations
from Intel Corp. The role of the compiler in application developmen...

Related Jobs:

System Administrator #Q08265 - VA - Mclean - BAE Systems
* Description: o Manage the daily activities of system...
Animator #134322 - TX - Austin - Microsoft Corporation
Help shape the future of gaming at Digital Anvil Studios in Austin, TX...
Software Development Engineer in Test #143514 - WA - Redmond - Microsoft Corporation
got: cool jobs. need: smart people. Help us give designers and develop...
Instructional Designer #RCR020601 - IA - Cedar Rapids - Intermec Technologies Corporation
Job Title Instructional Designer Department Technical Training Ope...
Python Programmer - CO - Boulder - Churchill Navigation
We’re using the latest advancements in hardware accelerated 3D graphic...
Software Engineer, Senior./.NET Developer - CA - Brisbane - Stentor, Inc.
Stentor? Inc. is a leader in the distribution, management, and storage...
Software Development Engineer in Test #143849 - WA - Redmond - Microsoft Corporation
got: cool jobs. need: smart people. Help us give designers and develop...
Flash Developer/Programmer #1612 - VA - Newport News - Camber Corporation
Description: Camber Corporation seeks talented, problem-solving Flas...
Documentation Manager-Software Products #58123 - CA - San Rafael - Autodesk, Inc.
Directeur de la documentation : Produits logiciels Résumé des fonc...
Senior Software Engineer - CA - San Diego - Musicmatch, Inc
SENIOR SOFTWARE ENGINEER The Windows Senior Software Engineer, work...