1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"[]> 2<html xml:lang="en-US" lang="en-US"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/document.css" type="text/css" /> 7 <title>Role of main particle classes</title> 8 </head> 9 <body> 10 <h1>Role of main particle classes</h1> 11 <div class="section"> 12 <h2 id="summary">Overview</h2> 13 <p>This page describes the role of classes used for particles under gfx that are not shared in common with 3D models.</p> 14 <table border="1"> 15 <tr> 16 <th scope="col"><center>The class name.</center></th> 17 <th scope="col"><center>Overview</center></th> 18 </tr> 19 <tr> 20 <td><a href="../../../nw/gfx/ParticleModel/Overview.html"><CODE>ParticleModel</CODE></a></td> 21 <td>Node for collecting the shapes or other attributes of particles.</td> 22 </tr> 23 <tr> 24 <td><a href="../../../nw/gfx/ParticleSet/Overview.html"><CODE>ParticleSet</CODE></a></td> 25 <td><a href="../../../nw/gfx/ParticleModel/Overview.html">ParticleModel</a> child. Represents a group of particles corresponding to a single chape. This takes aup a significant portion of the processing related to particles.</td> 26 </tr> 27 <tr> 28 <td><a href="../../../nw/gfx/ParticleEmitter/Overview.html"><CODE>ParticleEmitter</CODE></a></td> 29 <td>The source of particle emissions. ParticleEmitter oversees emission only. Particles are registered in <a href="../../../nw/gfx/ParticleSet/Overview.html">ParticleSet</a>, so particle information is not managed by <a href="../../../nw/gfx/ParticleEmitter/Overview.html">ParticleEmitter</a>.</td> 30 </tr> 31 </table> 32 <p>These three classes are derived from <a href="../../../nw/gfx/SceneObject/Overview.html">SceneObject</a>.<br /> <a href="../../../nw/gfx/ParticleModel/Overview.html">ParticleModel</a> and <a href="../../../nw/gfx/ParticleEmitter/Overview.html">ParticleEmitter</a> are also in the <a href="../../../nw/gfx/TransformNode/Overview.html">TransformNode</a> class.<br /> <a href="../../../nw/gfx/ParticleSet/Overview.html">ParticleSet<a href="../../../nw/gfx/ParticleSet/Overview.html"> is not <a href="../../../nw/gfx/TransformNode/Overview.html">TransformNode</a>.</p> 33 <p>Calculations are carried out centered on <a href="../../../nw/gfx/ParticleSet/Overview.html">ParticleSet</a>.</p> 34<p>Just as with regular 3D models, rendering is carried out on <a href="../../../nw/gfx/res/ResMesh/Overview.html">ResMesh</a> under <a href="../../../nw/gfx/ParticleModel/Overview.html">ParticleModel</a>.</p> 35<h2><a href="../../../nw/gfx/ParticleCollection/Overview.html">ParticleCollection</a></h2> 36<p>One instance of <a href="../../../nw/gfx/ParticleSet/Overview.html">ParticleSet</a> is always maintained. This class manages information about particles.</p> 37<p>Particle information is divided into two types: parameters representing fixed values for all particles inside <a href="../../../nw/gfx/ParticleSet/Overview.html">ParticleSet</a> and streams that can change for each individual particle.</p> 38<p>In addition, separate from this classification, some information is used to set values for the GPU and some information is used only in CPU calculations.<a href="../../../nw/gfx/ParticleCollection/Overview.html"> <a href="../../../nw/gfx/ParticleCollection/Overview.html">ParticleCollection</a> can be used without conscious awareness of this difference.<br /> Representing VBO, the CPU stream is double buffered in the library. Which surface must therefore be specified when getting information. Although the same API can be used to get information in the case of a stream for the CPU only, double-buffering is not performed and the same value (pointer) will be obtained regardless of the surface.</p> 39<h3>VBO double buffer</h3> 40<p>The VBO uses double-buffering internally so that calculation processes and rendering processes for particles can be executed in parallel.<br /> Buffers are automatically switched inside <a href="../../../nw/gfx/ParticleSet/Overview.html">ParticleSet</a>::<a href="../../../nw/gfx/ParticleSet/UpdateParticles.html">UpdateParticles</a> called from <a href="../../../nw/gfx/ParticleSceneUpdater/Overview.html">ParticleSceneUpdater</a>::<a href="../../../nw/gfx/ParticleSceneUpdater/UpdateNode.html">UpdateNode</a>.</p> 41 </div> 42 <hr><p>CONFIDENTIAL</p></body> 43</html>