This arranges all emitters in an SDetailView with some customization.
Primary benefit of this is that hooking things into the UI will require almost no work and elements can still be customized for a good UX.
Previous UI is still available and should work exactly as before.
Quite a bit of refactoring was needed to acheive this but much of it was needed for other things anyway and/or has some nice additonal benefits.
E.g.
- All constant types are supported easily.
- You can now create a default data object in the graph which will propagate through to the effect editor.
- Adding new data object types will be very easy.
Also added a delete and duplicate button for emitters in both UIs.
#codereview olaf.piesche
[CL 2590057 by Simon Tovey in Main branch]
- much improved noise, should be more or less divergence free now
- sin/cos/tan now have a full period within [0:1]
- added a Divide node
[CL 2551525 by Olaf Piesche in Main branch]
-adding renderer configuration
-fixing various bugs, including crashes, failed rendering, and weird behavior
-some additional UI love, making preview viewport work properly, more consistent updating of in-level effects after changes, immediate constant display in the effect editor on script compile for both update and spawn scripts
-changed sin/cos/tan nodes to use [0:1] instead of [0:Pi] for half a period (most range restricted values we deal with are [0:1], so it makes more sense to scale implicitly)
-added less than comparison operator; outputs 0 if false, 1 if true. Still experimental, may change
[CL 2383563 by Olaf Piesche in Main branch]
- Support for Matrix and scalar ops.
- Constant handling improved to support saclars and matrices. Also reduced constant table to only constants being used. (Matrix and scalar attributes still to do.)
- Refactored compiler to separate the VM from UnrealEd and allow future compilers for compute etc.
- Reduced temp register usage.
- Improved output attriubte writing.
- Improved support for tooltips / descriptions and other UI niceties for Niagara Ops.
- Support for VectorVM ops with 4 operands.
- Refactored VM to be neater and fixed a few bugs that were caused by the mess and code duplication.
- New VM ops for splatting, shuffling and streaming output.
- Fixed a few bugs in the UI Node code.
#reviewedby Olaf.Piesche
[CL 2331268 by Simon Tovey in Main branch]
- removed dummy UClasses (no longer needed)
- removed file header comments (not used)
- removed duplicated function documentation in cpp files
- documentation cleanup, punctuation, spelling etc.
- pragma once include guards (now work on all platforms)
- relative public includes (are auto-discovered by UBT)
- fixed too many/too few line breaks
- deleted empty files
- missing override
- NULL to nullptr
[CL 2305058 by Max Preussner in Main branch]