View Issue Details

IDProjectCategoryView StatusLast Update
0005138The Dark ModCodingpublic21.03.2020 17:42
Reporterstgatilov Assigned Tostgatilov  
Status assignedResolutionopen 
Target VersionTDM 2.09 
Summary0005138: Refactor particle systems code
DescriptionCurrently particle systems code is split across files:
  ParticleDecl.cpp --- some common code
  tr_deform.cpp --- emitting surfaces only
  Model_prt.cpp --- particle models only
  ParticleCollisionStatic.cpp --- offline tool for computing collisions (new)
Now the problem is: I have to duplicate some code in ParticleCollisionStatic.cpp.
To support "mapLayout linear" I will have to duplicate much more unless some refactoring happens.

The idea is to factor all the common code into a new file.
ParticleDecl.cpp will be only for reading/parsing decl files, all the particle-modelling code will be called from the new file.
The code for emitting particles from tr_deform.cpp and Model_prt.cpp will be moved to new file too. That's the main thing: allow to reuse emitting logic of both cases.

Things to keep in mind during refactoring:
1) Split particle origin computation into several pieces, in order to fix bounds computation (0005136).
2) Use structs and functions instead of classes and methods. This way it would be possible to compile the same code with GLSL in future.


related to 0004957 resolvedstgatilov Snow and rain particles stopping on brushes 
related to 0005136 assignedstgatilov Wrong bounds of particle system 


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
01.02.2020 05:35 stgatilov New Issue
01.02.2020 05:35 stgatilov Status new => assigned
01.02.2020 05:35 stgatilov Assigned To => stgatilov
01.02.2020 05:35 stgatilov Tag Attached: particle
01.02.2020 05:36 stgatilov Relationship added related to 0004957
01.02.2020 05:36 stgatilov Relationship added related to 0005136
22.02.2020 13:47 stgatilov Target Version TDM 2.08 =>
21.03.2020 17:40 stgatilov Product Version TDM 2.07 => TDM 2.09
21.03.2020 17:42 stgatilov Product Version TDM 2.09 =>
21.03.2020 17:42 stgatilov Target Version => TDM 2.09