Hello Internet world, my name is Eliezer Payzer, I am an Intel intern, and this is my first blog post to ISN. My first project during my internship was to work on a sample that demonstrated how to multithread an ambient scalable effect. An ambient effect is an effect one might see in a game that visually enhances a game but does not affect the game play. This might be something like snow falling or flower petals blowing through the wind. The effect is scalable if it does not break down when running on a wide variety of platforms, each with different compute power.
Once I had my assignment, I had to think of an idea for an ambient effect. I thought to myself, "wouldn't it be cool to have a sample that shows a walking person made of fireflies, explode?" I know what you are thinking, "Yes, Eliezer it definitely would, it definitely would." Well, fellow reader, I am glad you had my back on this one. I hope you go right ahead and download the source code, binaries as well as read the accompanying article once the sample is finished.
Rest assured the project will be finished soon. Currently I am just wrapping it up. I decided to multithread the effects by distributing the calculations for each firefly's flight trajectory across multiple threads. The effect scales by matching the number of simulated fireflies to the compute power of the platform by increasing the number of simulated fireflies given a platform with more compute power and decreasing the number of fireflies for a more modest system.