# Copyright 2012 United States Government, as represented by the Secretary of Defense, Under # Secretary of Defense (Personnel & Readiness). # # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except # in compliance with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software distributed under the License # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express # or implied. See the License for the specific language governing permissions and limitations under # the License. ## The component representation of a particle system ## ## @name particlesystem.vwf ## @namespace --- extends: http://vwf.example.com/node3.vwf properties: ## Maximum lifetime of particle ## ## @name particlesystem.vwf#maxLifeTime ## @property maxLifeTime: ## Minimum lifetime of particle ## ## @name particlesystem.vwf#minLifeTime ## @property minLifeTime: ## Start size of particle ## ## @name particlesystem.vwf#startSize ## @property startSize: ## End size of particle ## ## @name particlesystem.vwf#endSize ## @property endSize: ## Loop ## ## @name particlesystem.vwf#loop ## @property loop: ## Maximum velocity ## ## @name particlesystem.vwf#maxVelocity ## @property maxVelocity: ## Minimum velocity ## ## @name particlesystem.vwf#minVelocity ## @property minVelocity: ## Maximum start acceleration ## ## @name particlesystem.vwf#maxStartAcceleration ## @property maxAcceleration: ## Minimum start acceleration ## ## @name particlesystem.vwf#minStartAcceleration ## @property minAcceleration: ## Start color ## ## @name particlesystem.vwf#startColor ## @property startColor: ## End color ## ## @name particlesystem.vwf#endColor ## @property endColor: ## Image ## ## @name particlesystem.vwf#image ## @property image: ## true for additive blending, false for normal blending ## ## @name particlesystem.vwf#additive ## @property additive: ## alpha value for particles ## ## @name particlesystem.vwf#opacity ## @property opacity: ## depthTest value for particles ## ## @name particlesystem.vwf#depthTest ## @property depthTest: ## depthWrite value for particles ## ## @name particlesystem.vwf#depthWrite ## @property depthWrite: ## emitterType value for particles ## 'point','sphere','box' ## @name particlesystem.vwf#emitterType ## @property emitterType: ## emitterSize value for particles ## ignored by point emitter, emitterSize[0] is radius for sphere, emitterSize[x,y,z] is bounds for box emitter ## @name particlesystem.vwf#emitterSize ## @property emitterSize: ## the maximum number of particles that will be regenerated per frame. Useful to distrubte particles over time, and avoid ## issues where min and max life are the same ## @name particlesystem.vwf#maxRate ## @property maxRate: ## The total number of particles in the system ## @name particlesystem.vwf#particleCount ## @property particleCount: ## The drag on velocity of the particles ## @name particlesystem.vwf#damping ## @property damping: ## 'cartesian' or 'spherical' in cartesian, velocity min and max are box coords, as in min and max local space vectors. ## in spherical, they are treated as roe theta and magnitude for vectors, still in local space. in this mode, the range for the first two ## components is 0 - 1 ## this helps set the direction to be random, but the magnitute can be constant ## @name particlesystem.vwf#velocityMode ## @property velocityMode: ## solver - the system used to update the position of the particles. ## 'Euler' solver can take into account emitter motion, damping and gravity. Runs at 10 ticks per second with linear interpolation ## 'Analytic' - runs in realtime, but requires more bandwidth on the GPU bus. Cannot take into account complex forces like damping or gravity ## 'AnalyticShader' offloads the analytic solver into a shader. Very high performance, but cannot take into account emitter motion ## also, because it cannot branch based on previous states, it does not support maxRate. Instead, it offsets all particles randomly in time to distribute them ## @name particlesystem.vwf#solver ## @property solver: ## Split the particle texture by the value. 2 would be a 2x2 tiled texture, 3 is 3x3. ## @name particlesystem.vwf#textureTiles ## @property textureTiles: ## the particles spin over time ## @name particlesystem.vwf#maxSpin ## @property maxSpin: ## the particles spin over time ## @name particlesystem.vwf#minSpin ## @property minSpin: ## the particles orientation ## @name particlesystem.vwf#minOrientation ## @property minOrientation: ## the particles orientation ## @name particlesystem.vwf#maxOrientation ## @property maxOrientation: ## the particle size ## @name particlesystem.vwf#sizeRange ## @property size: ## the variation offset from the start and end size ## @name particlesystem.vwf#sizeRange ## @property sizeRange: ## the variation offset from the start and end color ## @name particlesystem.vwf#colorRange ## @property colorRange: ## gravatational force toward gravityCenter ## @name particlesystem.vwf#gravity ## @property gravity: ## the point in worldspace that the gravity force pulls toward ## @name particlesystem.vwf#gravity ## @property gravityCenter: ## World bounding box of the camera. Overrides inherited property to return null, since a camera has no dimensions ## ## @name camera.vwf#worldBoundingBox ## @property worldBoundingBox: get: | return null; value: null