View Issue Details

IDProjectCategoryView StatusLast Update
0002642The Dark ModCodingpublic22.11.2020 12:49
Reportertels Assigned Tostgatilov  
Status assignedResolutionopen 
Product VersionTDM 1.04 
Summary0002642: Add multiple particles to func_emitter
DescriptionWe have StaticMulti to present multiple func statics as one model to the rendered, but we lack a way to do the same for particles.

Particle emitters cannot be "combined" into a rendermodel, but we should at least be able to store all models and their offset in one entity, then present them all to the renderer, instead of having to have multiple entities with one particle for each.

This would help in cases like fog (multiple floating fog particles), leaves or foliage (hundreds of trees with particle leaves, or flower patches), or f.i. a grand city view with dozend of chimney smoke stacks.
TagsNo tags attached.


parent of 0002576 assigned SEED: Handling of entities with bound children 
parent of 0002575 assigned SEED: Handling of entities with attachments 
child of 0005138 assignedstgatilov Refactor particle systems code 
Not all the children of this issue are yet resolved or closed.




20.02.2011 18:36

developer   ~0003618

A first stab of this has been implemented with revision 0004618. Multiple particle models can be set with "modelSUFFIX" like "model_2" and positioned with the corrosponding offset spawnarg (relative to entity origin).

LOD changes only happen for the first model, and there are some issues with Save()/Restore() which need sorting out. But otherwise it works.


23.02.2011 17:16

developer   ~0003646

The code has been restructured to not use so much memory if there are no additional models (keep only 1 instead of 3 lists, only put additional models into it, not the base model etc.). Also each model has a flags field (so we later can selectively hide them), and the Save/Restore code is much more complete now.

The code can now also distinguish between "is the same as the original model" (which should get full LOD treatment) and "is not the same", which should only pay attention to the hide_distance.

Also two script events have been added:

* emitterGetNumModels()
* emitterAddModels(modelName, modeloffset)

Things to do:

* removeModel()
* script events for removeModel() and getModelOffset(), getModelAtOffset()?
* LOD thinking for the individual involved models

Issue History

Date Modified Username Field Change
20.02.2011 18:04 tels New Issue
20.02.2011 18:04 tels Status new => assigned
20.02.2011 18:04 tels Assigned To => tels
20.02.2011 18:36 tels Note Added: 0003618
20.02.2011 18:36 tels Target Version => TDM 1.05
23.02.2011 17:16 tels Note Added: 0003646
23.02.2011 17:18 tels Relationship added parent of 0002576
23.02.2011 17:19 tels Relationship added parent of 0002575
23.02.2011 17:19 tels Description Updated View Revisions
14.03.2011 11:09 greebo Target Version TDM 1.05 =>
15.05.2013 15:28 tels Assigned To tels =>
20.11.2020 16:11 nbohr1more Assigned To => stgatilov
22.11.2020 12:49 nbohr1more Relationship added child of 0005138