Difference between revisions of "PK-Editor v2.1"

From PopcornFX
Jump to navigation Jump to search
Line 4: Line 4:
 
The v2.1 runtime will not be able to load v1.x effects, '''[[#Plugin_status|make sure you upgrade your runtime / plugins as well before switching to this version]]'''.
 
The v2.1 runtime will not be able to load v1.x effects, '''[[#Plugin_status|make sure you upgrade your runtime / plugins as well before switching to this version]]'''.
  
Looking for version 1 of popcorn ? Go to the [[PK-Editor_v1.13|latest v1.x editor]]
+
Looking for version 1 of PopcornFX ? Go to the [[PK-Editor_v1.13|latest v1.x editor]]
  
  
Line 39: Line 39:
 
=Changelog 2.1.0=
 
=Changelog 2.1.0=
 
Build: '''[https://downloads.popcornfx.com/updates/TEMP/PopcornFX-Editor_Setup_v2.1.0.53347_x64.exe PopcornFX-Editor_Setup_v2.1.0.53347_x64.exe]''' (Apr 09 2019)
 
Build: '''[https://downloads.popcornfx.com/updates/TEMP/PopcornFX-Editor_Setup_v2.1.0.53347_x64.exe PopcornFX-Editor_Setup_v2.1.0.53347_x64.exe]''' (Apr 09 2019)
 +
 +
==Features==
 +
 +
===Editor & Runtime===
 +
** '''#1230: Nodegraph: Per-node fractional update rates. Can tell any node to run at a lower update rate than the rest of the sim.'''
 +
** '''#2333: Implement proper simulation time windows, enables precise sub-frame triggering of events and correct framerate independent event timings.'''
 +
** '''#1268: Rendering: Add experimental drawcall slicing support for better sorting between unrelated particle batches'''
 +
** '''#2287: Rendering: Add support for 'DrawOrder' property'''
 +
** #2183: Renderers: Allow exporting properties
 +
** #2004: GPU Sim: Implement XForms nodes
 +
** #2312: DDS Loader: support for ETC formats
 +
** #2363: Prevent runtime from loading unbaked effect files by default.
 +
** #2455: Payload extract node: Add a bool output which says whether or not the payload is present in the input event.
 +
** #2524: Turbulence sampler: Remove legacy 'samplePotential' function and 'DefaultSampledField' property
 +
 +
===Editor only===
 +
* '''Effect editor''' > Nodal editor
 +
** '''#2410: Nodal editor: Forbid drag&drop on typed/incompatible pins'''
 +
** #1201: Nodal editor: Ctrl+click to move bunch of links from one pin to another
 +
** #1698: Nodal editor: Display property values next to pins in the graph
 +
** #2509: Nodal editor: Create new Layer: Change default SetLife node 0 value to 1
 +
** #2554: Nodal editor: Remove now useless 'if' template, replace by 'CParticleNodeIf'
 +
** #2557: Nodal editor: Rename pin names of 'select', 'within', 'clamp', and 'lerp' nodes
 +
** #2588: Nodal editor: Export as property/link/attribute: Pop naming window
 +
** '''#1164: Nodal editor UX: Better sorting of node search results in new node popup / template shelf'''
 +
 +
* '''Effect editor''' > Rendering
 +
** '''#1977: Rendering: Light particles'''
 +
** #2297: Renderer Features editor/viewer (Experimental, only accessible in developer mode)
 +
** #2298: Renderer FeatureSet editor/viewer (Experimental, only accessible in developer mode)
 +
** #2673: Rendering slicing: Expose slice count in user settings until slicing metric is properly defined
 +
 +
* '''Effect editor''' > Viewport
 +
** #1444: Transform gizmo: translate gizmo has some weird/bad controls
 +
** #1655: Transform gizmos: Refactor
 +
** #2310: Viewport: Show coordinate system axis
 +
** #2503: Viewport: Show warning message in editor viewport when user has disabled some optimizations (currently only when developer mode is activated)
 +
 +
* '''Effect editor'''
 +
** '''#1459: Timeline: Payload management, specify payload values for each keyframe of a track'''
 +
** '''#1841: Effect interface & Attributes: General pass to make them usable'''
 +
** '''#2553: Effect editor template treeview: Right-click "Show dependencies", displays which other assets are using the template'''
 +
** #2210: Effect editor template treeview: Renaming templates ask for confirmation when other effects are using them. Deleting templates says nothing !
 +
 +
* '''Template core library'''
 +
** '''#2551: Template corelib: 'Physics' template improvements'''
 +
** #2451: Template corelib: 'Physics' node: Add "VectorFieldSamplingMode" enum
 +
** #2025: Template corelib: Multiplier node: Add spawn count randomness control
 +
** #2507: Template corelib: Add missing templates: WorldToLocalPosition WorldtoLocalDirection
 +
** #2552: Templates: Split sampler templates into new 'Samplers.pkfx' corelib file
 +
 +
* '''Other'''
 +
** '''#2417: Whole editor: Better handling of read-only files'''
 +
** #2292: Project launcher: Auto-update tab, shows list of available PopcornFX versions, and highlights which ones are installed
 +
** #2631: Details view: Add effect instruction count column
 +
** #2409: 'Tutorials' pack: Replace all "manual" XForms nodes by LocalPositionToWorld and LocalDirectionToWorld helper templates, less error-prone
 +
  
 
==Bugfixes==
 
==Bugfixes==
  
===Runtime===
+
===Editor & Runtime===
 
* '''Events & payloads'''
 
* '''Events & payloads'''
 
** '''Fixed #2031: Event payloads: They allow user to append 'bool' type, but not handled at runtime, will fail to compile.'''
 
** '''Fixed #2031: Event payloads: They allow user to append 'bool' type, but not handled at runtime, will fail to compile.'''
Line 65: Line 122:
  
  
===Editor===
+
===Editor only===
 
* '''Effect editor''' > Nodal editor
 
* '''Effect editor''' > Nodal editor
 
** '''Fixed #2637: Nodal editor crash: Drag a 'bool' wire, drop in graph, create billboard node: assert, tries to plug it inside 'Lit' input property, which is not a pin'''
 
** '''Fixed #2637: Nodal editor crash: Drag a 'bool' wire, drop in graph, create billboard node: assert, tries to plug it inside 'Lit' input property, which is not a pin'''
Line 132: Line 189:
 
==Performance==
 
==Performance==
  
===Runtime===
+
===Editor & Runtime===
 
* Improved event broadcast performance by switching event map lock to a CRWLock
 
* Improved event broadcast performance by switching event map lock to a CRWLock
 
* Fixed #1914: Optimizer: bad ICB (add/sub merge)
 
* Fixed #1914: Optimizer: bad ICB (add/sub merge)
Line 140: Line 197:
 
* Fixed #2652: Optimizer does not catch math operators with constant infinities
 
* Fixed #2652: Optimizer does not catch math operators with constant infinities
  
===Editor===
+
===Editor only===
 
* Fixed #2059: Project launcher: ULTRA slow when the project list is large, when doing any action that calls 'RefreshProjectList()'
 
* Fixed #2059: Project launcher: ULTRA slow when the project list is large, when doing any action that calls 'RefreshProjectList()'
  
 
==Features==
 
 
===Runtime===
 
** '''#1230: Nodegraph: Per-node fractional update rates. Can tell any node to run at a lower update rate than the rest of the sim.'''
 
** '''#2333: Implement proper simulation time windows, enables precise sub-frame triggering of events and correct framerate independent event timings.'''
 
** '''#1268: Rendering: Add experimental drawcall slicing support for better sorting between unrelated particle batches'''
 
** '''#2287: Rendering: Add support for 'DrawOrder' property'''
 
** #2183: Renderers: Allow exporting properties
 
** #2004: GPU Sim: Implement XForms nodes
 
** #2312: DDS Loader: support for ETC formats
 
** #2363: Prevent runtime from loading unbaked effect files by default.
 
** #2455: Payload extract node: Add a bool output which says whether or not the payload is present in the input event.
 
** #2524: Turbulence sampler: Remove legacy 'samplePotential' function and 'DefaultSampledField' property
 
 
===Editor===
 
* '''Effect editor''' > Nodal editor
 
** '''#2410: Nodal editor: Forbid drag&drop on typed/incompatible pins'''
 
** #1201: Nodal editor: Ctrl+click to move bunch of links from one pin to another
 
** #1698: Nodal editor: Display property values next to pins in the graph
 
** #2509: Nodal editor: Create new Layer: Change default SetLife node 0 value to 1
 
** #2554: Nodal editor: Remove now useless 'if' template, replace by 'CParticleNodeIf'
 
** #2557: Nodal editor: Rename pin names of 'select', 'within', 'clamp', and 'lerp' nodes
 
** #2588: Nodal editor: Export as property/link/attribute: Pop naming window
 
** '''#1164: Nodal editor UX: Better sorting of node search results in new node popup / template shelf'''
 
 
* '''Effect editor''' > Rendering
 
** '''#1977: Rendering: Light particles'''
 
** #2297: Renderer Features editor/viewer (Experimental, only accessible in developer mode)
 
** #2298: Renderer FeatureSet editor/viewer (Experimental, only accessible in developer mode)
 
** #2673: Rendering slicing: Expose slice count in user settings until slicing metric is properly defined
 
 
* '''Effect editor''' > Viewport
 
** #1444: Transform gizmo: translate gizmo has some weird/bad controls
 
** #1655: Transform gizmos: Refactor
 
** #2310: Viewport: Show coordinate system axis
 
** #2503: Viewport: Show warning message in editor viewport when user has disabled some optimizations (currently only when developer mode is activated)
 
 
* '''Effect editor'''
 
** '''#1459: Timeline: Payload management, specify payload values for each keyframe of a track'''
 
** '''#1841: Effect interface & Attributes: General pass to make them usable'''
 
** '''#2553: Effect editor template treeview: Right-click "Show dependencies", displays which other assets are using the template'''
 
** #2210: Effect editor template treeview: Renaming templates ask for confirmation when other effects are using them. Deleting templates says nothing !
 
 
* '''Template core library'''
 
** '''#2551: Template corelib: 'Physics' template improvements'''
 
** #2451: Template corelib: 'Physics' node: Add "VectorFieldSamplingMode" enum
 
** #2025: Template corelib: Multiplier node: Add spawn count randomness control
 
** #2507: Template corelib: Add missing templates: WorldToLocalPosition WorldtoLocalDirection
 
** #2552: Templates: Split sampler templates into new 'Samplers.pkfx' corelib file
 
 
* '''Other'''
 
** '''#2417: Whole editor: Better handling of read-only files'''
 
** #2292: Project launcher: Auto-update tab, shows list of available PopcornFX versions, and highlights which ones are installed
 
** #2631: Details view: Add effect instruction count column
 
** #2409: 'Tutorials' pack: Replace all "manual" XForms nodes by LocalPositionToWorld and LocalDirectionToWorld helper templates, less error-prone
 
  
  

Revision as of 03:11, 9 April 2019

Back to anouncements
Released 09 Apr 2019 Projects created with PopcornFX v1.x cannot yet be used with PopcornFX v2.1
The v2.1 runtime will not be able to load v1.x effects, make sure you upgrade your runtime / plugins as well before switching to this version.

Looking for version 1 of PopcornFX ? Go to the latest v1.x editor


Download

64-bits Windows build MacOsX build Linux-64 build
PopcornFX-Editor_Setup_v2.1.0.53347_x64.exe (Latest preview) NewIcon.png
Not yet available
Not yet available


Plugin status


Changelog 2.1.0

Build: PopcornFX-Editor_Setup_v2.1.0.53347_x64.exe (Apr 09 2019)

Features

Editor & Runtime

    • #1230: Nodegraph: Per-node fractional update rates. Can tell any node to run at a lower update rate than the rest of the sim.
    • #2333: Implement proper simulation time windows, enables precise sub-frame triggering of events and correct framerate independent event timings.
    • #1268: Rendering: Add experimental drawcall slicing support for better sorting between unrelated particle batches
    • #2287: Rendering: Add support for 'DrawOrder' property
    • #2183: Renderers: Allow exporting properties
    • #2004: GPU Sim: Implement XForms nodes
    • #2312: DDS Loader: support for ETC formats
    • #2363: Prevent runtime from loading unbaked effect files by default.
    • #2455: Payload extract node: Add a bool output which says whether or not the payload is present in the input event.
    • #2524: Turbulence sampler: Remove legacy 'samplePotential' function and 'DefaultSampledField' property

Editor only

  • Effect editor > Nodal editor
    • #2410: Nodal editor: Forbid drag&drop on typed/incompatible pins
    • #1201: Nodal editor: Ctrl+click to move bunch of links from one pin to another
    • #1698: Nodal editor: Display property values next to pins in the graph
    • #2509: Nodal editor: Create new Layer: Change default SetLife node 0 value to 1
    • #2554: Nodal editor: Remove now useless 'if' template, replace by 'CParticleNodeIf'
    • #2557: Nodal editor: Rename pin names of 'select', 'within', 'clamp', and 'lerp' nodes
    • #2588: Nodal editor: Export as property/link/attribute: Pop naming window
    • #1164: Nodal editor UX: Better sorting of node search results in new node popup / template shelf
  • Effect editor > Rendering
    • #1977: Rendering: Light particles
    • #2297: Renderer Features editor/viewer (Experimental, only accessible in developer mode)
    • #2298: Renderer FeatureSet editor/viewer (Experimental, only accessible in developer mode)
    • #2673: Rendering slicing: Expose slice count in user settings until slicing metric is properly defined
  • Effect editor > Viewport
    • #1444: Transform gizmo: translate gizmo has some weird/bad controls
    • #1655: Transform gizmos: Refactor
    • #2310: Viewport: Show coordinate system axis
    • #2503: Viewport: Show warning message in editor viewport when user has disabled some optimizations (currently only when developer mode is activated)
  • Effect editor
    • #1459: Timeline: Payload management, specify payload values for each keyframe of a track
    • #1841: Effect interface & Attributes: General pass to make them usable
    • #2553: Effect editor template treeview: Right-click "Show dependencies", displays which other assets are using the template
    • #2210: Effect editor template treeview: Renaming templates ask for confirmation when other effects are using them. Deleting templates says nothing !
  • Template core library
    • #2551: Template corelib: 'Physics' template improvements
    • #2451: Template corelib: 'Physics' node: Add "VectorFieldSamplingMode" enum
    • #2025: Template corelib: Multiplier node: Add spawn count randomness control
    • #2507: Template corelib: Add missing templates: WorldToLocalPosition WorldtoLocalDirection
    • #2552: Templates: Split sampler templates into new 'Samplers.pkfx' corelib file
  • Other
    • #2417: Whole editor: Better handling of read-only files
    • #2292: Project launcher: Auto-update tab, shows list of available PopcornFX versions, and highlights which ones are installed
    • #2631: Details view: Add effect instruction count column
    • #2409: 'Tutorials' pack: Replace all "manual" XForms nodes by LocalPositionToWorld and LocalDirectionToWorld helper templates, less error-prone


Bugfixes

Editor & Runtime

  • Events & payloads
    • Fixed #2031: Event payloads: They allow user to append 'bool' type, but not handled at runtime, will fail to compile.
    • Fixed #2402: Payload optimizer should not strip payloads of events wired in exported event
    • Fixed #2537: Trigger node does not interpolate payloads with input cursor
    • Fixed #2666: Incorrect layer output events are triggered if layer has one export output node which doesn't have an event to export
  • Other
    • Fixed #2699: Crash when using trail nodes with complex position calculations
    • Fixed #2528: Optimizer crash: bad 'compare' op ICB optimization, produces out-of-bounds array access and potential crash
    • Fixed #2171: Compiler: Wiring a 'float<n>' into an 'any' or 'all' node asserts in backend and gives incorrect results
    • Fixed #2375: Two attribute samplers with same Position values are baked as single sampler
    • Fixed #2406: Spatial layers don't work between effects: 'Global' property is ignored
    • Fixed #2418: AlphaRemap ribbons have rendering artifacts when Texture Repeat is on
    • Fixed #2452: shape raycast will not work properly with attribute samplers
    • Fixed #2498: Cone shape sampling: Volume is broken
    • Fixed #2511: Curve CDF: Incorrect computations, unit probability curve produces non unit CDF
    • Fixed #2567: Mesh weighted sampling: doesn't work on other color channels than Red
    • Fixed #2618: Mesh weighted sampling: Negative vertex-colors cause asserts and incorrect sampling lookup computations
    • Fixed #2040: Empty layer: Behavior not coherent, creates a particle whose life lasts for 1 second
    • Fixed #2394: Shape scale is not axis system independent


Editor only

  • Effect editor > Nodal editor
    • Fixed #2637: Nodal editor crash: Drag a 'bool' wire, drop in graph, create billboard node: assert, tries to plug it inside 'Lit' input property, which is not a pin
    • Fixed #2521: Nodal editor: Incorrect auto-selection of pin to plug link into
    • Fixed #2526: Nodal editor: Can't choose 'select' node when wiring 'bool' link
    • Fixed #1137: Nodal editor: Full-rate passthroughs are displayed with incorrect color
    • Fixed #2657: Node creation menu does not filter suggestions properly when dragging a wire of type 'auto'
    • Fixed #2468: Template export input node does not warn when min and max values are identical, causes broken, unusable UI
    • Fixed #2571: Changing a constant node's value doesn't flag the effect as modified
    • Fixed #2449: Drag Link: Cannot release link if dragging into pin that already has the same link
    • Fixed #2495: Crash when plugging a float3 in a float pin
    • Fixed #2659: Pin rules: Can't type "true" or "false" in rule value for bool properties
    • Fixed #2514: Particle debugger: Crash when switching to shipping while paused & debugging particles
    • Fixed #2311: Particle debugger: Debugger doesn't display boolean values when inspecting graph values
  • Effect editor > Timeline
    • Fixed #2453: Timeline: Deleting a track plugged in the layergraph, then undoing it permanently kills it until next restart of FX editor
    • Fixed #2522: Timeline panel: Unusable selection behavior when there's a single track
    • Fixed #2205: Timeline Doesn't scale correctly
    • Fixed #2574: Timeline panel: Unfriendly setting of splitter widget
  • Effect editor > Viewport
    • Fixed #1403: Viewport transform gizmo : HUD selection & key binding conflicts
    • Fixed #1601: Viewport stats: Frame counter doesn't work correctly
    • Fixed #2294: Viewport toolbar: Add icon for samplers debug visualization toggle button
    • Fixed #2581: Viewport toolbar: An effect with a grid backdrop enabled doesn't have the grid button checked when it's first opened
  • Effect editor
    • Fixed #2654: script completion: typing '<tab>' when there's nothing to complete shouldn't be intercepted by the completer popup.
    • Fixed #2635: Script completion: extremely annoying sorting, use same algorithm as new node menu
    • Fixed #2617: Mesh weighted sampling: doesn't properly refresh the internal data, causes no visual changes in viewport
    • Fixed #2660: Mesh weighted sampling: Doesn't work for animated meshes
    • Fixed #2626: Animated mesh backdrop ignores backdrop transforms
    • Fixed #2027: Effect editor: Template treeview: Allow reordering items through drag & drop
    • Fixed #2152: Effect editor: Instructions in IR panel are not clipped anymore since Qt 5.11, leak into the other columns
    • Fixed #2367: Effect editor: Browsing for textures multiple times does not re-open explorer window to last visited directory.
    • Fixed #2474: Effect editor: Saving effects with attribute-samplers always re-saves and modifies the effect
    • Fixed #2590: Effect editor: Attributes should not display 'HasMin', 'HasMax' and 'UseSlider' properties when the attribute is of 'bool' type
  • Content browser
    • Fixed #2632: Details view: Crashes when adding new column in settings when details view is visible
    • Fixed #2422: Details view: Clicking 'Reset' on the columns settings makes the entire details view disappear
    • Fixed #2639: Details view: Deleting a column leaves an empty space in the details view
    • Fixed #1897: ContentBrowser: Add a checkbox next to the search bar to configure case sensitiveness
    • Fixed #2038: ContentBrowser: Effect analysis does not show node-emitted errors or warnings
    • Fixed #1665: New effect: When creating new project, default effects in 'Editor/Templates' have no thumbnails
  • Propertygrid
    • Fixed #2165: Propertygrid: When all properties of a given category are hidden, the category is still visible
    • Fixed #2415: Don't display empty tooltips
    • Fixed #2475: Numeric line edit doesn't conform number to actual representation (ex: can type a float into an 'int' field, validate, and still see the float)
  • Other
    • Fixed #1134: AssetRegistry doesn't behave correctly with non-upgraded effects
    • Fixed #2399: When baking from the editor, particle compiler bake config isn't properly loaded
    • Fixed #2413: Online packs: Trash AssetBaker.pkcf files
    • Fixed #2501: Project launcher: Crash when trying to upgrade project after having tried to open project first
    • Fixed #2604: AccountManager: Account creation Country list is incomplete
    • Fixed #2634: Drag & drop doesn't properly take into account start drag distance, makes it very painful to use
    • Fixed #2641: Editor assets: When opening a window and cancelling (readonly files), leaves assets loaded in memory.
    • Fixed #2646: Upgrader: Broken corelib upgrades when user has relocated its 'Library' folder to a sub-folder.
    • Fixed #2656: Editor file system: make sure it utilizes extensions set in project settings
    • Fixed #2679: Core.pkfx: Template OrientationFromAxisAngle is incorrectly forced at evolve


Performance

Editor & Runtime

  • Improved event broadcast performance by switching event map lock to a CRWLock
  • Fixed #1914: Optimizer: bad ICB (add/sub merge)
  • Fixed #2529: Optimizer: Using selects produces garbage codegen (resulting IR produces correct computation result, but through inefficient chain of instructions)
  • Fixed #2625: Optimizer does not remove useless 'samplePCoords' calls in 'editor' when using shape sampler nodes, only it shipping. It should in 'editor' as well, this is the basic DCE optimization
  • Fixed #2531: Optimizer: missing 'not' optimizations
  • Fixed #2652: Optimizer does not catch math operators with constant infinities

Editor only

  • Fixed #2059: Project launcher: ULTRA slow when the project list is large, when doing any action that calls 'RefreshProjectList()'


Upgrades

  • Upgrader @ 2.1.0.52745 : Payload extract node: Added 'bool Found' pin
  • Upgrader @ 2.1.0.52785 : Remove AssetBaker.pkcf from runtime config directory
  • Upgrader @ 2.1.0.52813 : Turbulence sampler: legacy 'samplePotential' function & 'DefaultSampledField' property are not supported anymore, use 'FlowFactor' and 'DivergenceFactor' instead.
  • Upgrader @ 2.1.0.52861 : Split UpdateRate property into SimulationState and EvolveRate
  • Upgrader @ 2.1.0.52912 : Renamed light and sound renderer's 'Radius' property to 'Range'
  • Upgrader @ 2.1.0.52915 : Template corelib: Removed 'if' template, now using 'if' builtin node
  • Upgrader @ 2.1.0.52926 : Renamed inputs of 'select', 'clamp', 'lerp', and 'within' nodes to be more comprehensible.
  • Upgrader @ 2.1.0.52931 : Template corelib: Split samplers into new 'Samplers.pkfx' file
  • Upgrader @ 2.1.0.52938 : RendererInterface Extension Upgrade: Upgrade project settings allowed extensions and materials' RendererInterfacePath
  • Upgrader @ 2.1.0.52939 : RendererInterface: RendererInterface files extensions .pkbo -> .pkri
  • Upgrader @ 2.1.0.52944 : Template corelib: Simplified interface of 'Physics' template: Merged v1.x legacy properties 'ConstantAccel', 'ConstantWind', and 'ConstantDrag' with the 'Accel', 'Wind', and 'Drag' pins. Also replaced 'InvMass' property by 'Mass'
  • Upgrader @ 2.1.0.52983 : PopcornFXCore Library: Add new library file Samplers.pkfx
  • Upgrader @ 2.1.0.52984 : Add new shaders files Default_Light for RendererLight
  • Upgrader @ 2.1.0.53244 : Upgraded core library


Plugins

UE4

  • #1653: UE4 plugin: Experimental DX12 simulation
  • #2427: UE4 plugin: Boolean attributes
  • #2428: UE4 plugin: Attribute categories