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 high-performance embedded applications through compiler optimizations
from Intel Corp. The role of the compiler in application developmen...
Transcoding and codec optimization: tips & tricks
by Khang Nguyen, senior applications engineer, Software and Solutions ...
.NET client application "no touch" deployment: harness the full processing power of the desktop
by Christopher Goldfarb, senior software architect, Intel Software Sol...
Creating Sustainable Business Advantage in Financial Markets - Dual Core Intel Xeon Processor
Decisions that Define Your Future There are a small number of techno...

Related Jobs:

User Interface Designer #2360147 - NY - Syracuse - Ajilon
Description : Ajilon Consulting is an international IT consulting fi...
Project Manager Operations 5, Unix/Linux Server Ops Leader #606270 - OH - Cincinnati - General Electric Company
Job Description: Responsibilities * Serves as a lead for operation...
Lead Web Developer #Q07542 - MD - Bethesda - BAE Systems
* Description: o BAE Systems is seeking a Lead Web Dev...
Senior Developer - MA - Belmont - Custom Learning Designs, Inc.
Pharmaceutical consulting company seeks a Senior Developer to create ...
Flash Developer/Programmer #1612 - VA - Newport News - Camber Corporation
Description: Camber Corporation seeks talented, problem-solving Flas...
Senior Software Engineer - CA - San Diego - Musicmatch, Inc
SENIOR SOFTWARE ENGINEER The Windows Senior Software Engineer, work...
IT Leader-Operations #604459 - OH - Evendale - General Electric Company
Responsibilities * Serves as owner of operations excellence for dai...
Instructional Designer #RCR020601 - IA - Cedar Rapids - Intermec Technologies Corporation
Job Title Instructional Designer Department Technical Training Ope...
Sr. Software Engineer (C++, Linux, Maya) - CA - Emeryville - Pixar Animation Studios
Sr. Software Engineer Pixar Animation Studios Emeryville, CA Full T...
Technical Trainer #57926 - CA - San Rafael - Autodesk, Inc.
General Summary: As the technical training specialist for the Infr...