Jump to navigation Jump to search
Looking for version 1 of popcorn ? Go to the latest v1.x editor
|Timeline backwards seeking & tweaks while paused||Mesh atlases||Builtin LOD & simulation update-rate throttling||Mesh LOD using MeshID|
|64-bits Windows build||MacOS build||Linux-64 build|
- UE4 plugin status : Available for v2.2.4
- Unity plugin status : Privately available for v2.2.4 (contact us)
Builds (Nov 08 2019)
- Windows: PopcornFX-Editor_v184.108.40.206192_x64.exe
- macOS: PopcornFX-Editor_v220.127.116.11192_x64.pkg [Experimental]
- Linux: PopcornFX-Editor_v18.104.22.168620_x64.tgz
Editor & Runtime
- #3306: New 'StaticVersionSwitch' node, and 'version' keyword in scripts, allowing to conditionally evaluate graphs based on platform build settings
- #3410: Localized pages improvements
- #3328: Simulation interfaces: Add compile-time builtin output 'IsBound' pin
- #3343: Spatial queries: return 'HasData' pin
- #3341: Spatial query call: Add 'closest2' query
- #3045: Spatial query node: specify neighbor ID in 'closest' query through a pin to allow creating templates.
- #3047: Spatial query call: Auto-deduce cache size based on final query calls, greatly improves performance in effects doing multiple closest-Nth queries
- #3396: Spatial Layers: Add 'NeighborCount2' query
- sim.wave reduction functions now support all vector types, not just scalars.
- Backend panel: highlight lines based on hovered/selected nodes, and highlights nodes when hovering lines (both on CPU & GPU backends)
- Backend panel: Now shows GPU compute-shader disassembly
- 'frac' function now always returns values in the [0,1[ range. previous behavior is still available with 'fracSign'
- #3307: Add support for OpenEXR images (.exr / .hdr)
- #2023: Billboard renderer: Can now be given a float2 size (currently has to be a different pin than the 'float' size pin, we'll be able to merge them in a future build)
- #2736: Materials: Add opaque materials for ribbon and billboard particles (Solid / AlphaTest)
- #3559: Materials: Add opaque / Masked material for mesh
- #3026: Materials: Alpha Remap Mesh shader in editor
- #3413: Materials: Add Motion Vectors Map as additional atlas blending mode for ribbon and billboard particles
- #3414: Materials: Vertex animation textures
- #3363: Materials: Ramp textures for color remap (diffuse and emissive)
- #3361: Materials: Add new Emissive category with a map and color
- #3411: Materials: Normalmap support for semi-transparent lit particles
- #3569: Timeline: display editable keyframe time when selecting keyframes
- #3435: Editor backdrops: Add option to disable collisions with grid & mesh backdrops
- #3441: Editor backdrops: Add effect backdrop to automatically preview a grid of effect instances
- #3527: 'auto' widget: Allow editing node properties & pins of type 'auto'
- #3489: Nodal editor: Node creation menu: Numeric constant is now always be the first choice if the search box contains a numeric value.
- #3262: Nodal editor: hide/highlight incompatible/compatible pins when dragging link
- #2754: Nodal editor: Display renderer particles in wireframe when a renderer is hovered (requires enabling an option in the editor preferences)
- Project launcher: Can now use 'F2' to rename projects from the project list
- #3280: Content browser: Display upgrade logs in file analysis report
- #3256: Content browser: Details view: Right-click "Export to spreadsheet" -> outputs a .CSV file containing all asset details of the current view
- #2669: Content browser: Proper handling of read-only folders
- #3232: Added a 'ResetUI' button, that resets all UI to the default
Editor & Runtime
- Fixed #3046: Spatial query calls are unpredictably reordered by compiler & backend, breaks internal cache, leads to bad performance.
- Fixed #3395: IFileSystem::MountPack has incorrect behavior when mounting the same physical path with two different virtual mount points
- Fixed #3443: GPU backend name mangling is broken with attributes containing special characters
- Fixed #3521: GPU sim 'rand' is not deterministic, implem was totally different from the one used on CPU, way slower, and consumed an awful lot of instructions.
- Fixed #3173: Bounds of newborns are not taken into account: page bounds are degenerated on first frame, and lag 1 frame behind for newborns.
- Fixed #2675: Export nodes' "LinkAndAttribute" mode is broken
- Fixed #1280: Nodal editor: Bad discretization paths displayed on script node outputs
- Fixed #3567: Moving .frag and .vert files break materials
- Fixed #3570: Timeline: Moving or deleting keyframes messes keyframe payload order in the propertygrid
- Fixed #3571: Timeline: Modifying keyframes while paused doesn't update the effect (should behave like when tweaking attributes or other parts of the graph)
- Fixed #3566: Incorrect packing rules applied for vec2 elements in Vulkan and OpenGL
- Fixed #3563: SampleLib: Mesh renderers draw calls are not batched
- Fixed #3578: Material editor saves shader content even if not allowed when prompted
- Fixed #3429: Import package: Colliding assets not shown as colliding when corelib paths do not match, results in everything being overwritten by default without warning the user
- Fixed #3345: Ctrl+click on a pin does not behave like cutting, or deleting nodes, or right-clicking > remove all links: Leaves dangling passthroughs
- Fixed #3320: Online packages tab: "New version available" message only shown when pack is updated at the same version, not when there's a different version
- Fixed #3271: Backdrop lighting colors are treated as linear and not sRGB, does not match the colors users setup.
- Fixed #2740: Shape Preview doesn't update after Hot Reload
- Fixed #2709: Input node: Switching from "Link" to "Property" does not refresh parent graph
Editor & Runtime
- Binary effect file loading is between 16% and 25% faster compared to v2.2
- Fixed #2851: Massive frametime spikes when storages have their page sizes resized
- Optimizer: Added new optimization pass: Value-range propagation.
- #3327: Optimizer: sim.wave functions: Remove calls when the input value is already @ wave-frequency
- #3340: Optimizer: Spatial query call: Hook ICB transform to simplify query calls when possible
- Fixed #3572: Compiler: Remove constant stores from final instructions executed during the sim
- Fixed #3597: Unnecessary allocs & lots of wasted memory in CPU VM evaluation cache alloc & acquire logic
- #2155: Optimizer: ICB shape.intersect and shape.intersectPCoords
- #2985: geom bb cpu tasks: SIMDify indices generation
- #1204: Attributes: SOA optimization in medium-collection
- ... and many small improvements in the effect optimizer
Assets & core-lib
- Fixed #3551: Template clamp vector returns 'nan' for vectors of 0 length
- #3255: Texture sampler template: Add properties to flip input U and V coords: almost always want to flip V when building from position
- #3305: VectorField sampler template: Add time input to be able to sample animated FGA files
- Fixed #3121: Attractor template: Added 'localspace' checkbox & improved interface by adding pin rules and a dropdown
- #3581: Renamed transparent rendering feature 'SortValues' into 'SortKey'
- #2648: Billboards: Renamed Atlas "Source" enum elements from "Definition/Procedural" to "External/Procedural"
- Fixed #2716: Collision template is an awful spaghetti mess
- AssetBaker config: Removed "WholeEffectOptimizationPassCount", "Deterministic", "DeterministicSeed", and "RemoveUserDebug" properties, now goes through compiler switches "--geo-passes=<n>" (default=4), "--determinism" / "--no-determinism", "--determinism-mod=0x1234", and "--user-debug" / "--no-user-debug"
- AssetBaker config: Can now override all nodegraph compiler optimization flags for each bake target using the 'CompilerSwitches' property of 'COvenBakeConfig_Particle'
- Upgrader @ 22.214.171.124109 : Spatial layers: Exposed 'NeighborIndex' as a pin, and removed 'NeighborCacheSize' property, which is now auto-detected by the graph compiler
- Upgrader @ 126.96.36.199545 : Spatial layers: Added 'HasData' output pin
- Upgrader @ 188.8.131.52546 : Arithmetic nodes: Fix corrupted effects containing arithmetic nodes with both input pins having the same name
- Upgrader @ 184.108.40.206281 : Renamed 'frac' function to 'fracSign', and added new 'frac' function that always returns in the [0,1[ range
- Upgrader @ 220.127.116.11373 : Add new Core Materials 'Opaque_Billboard' and 'Opaque_Ribbon'
- Upgrader @ 18.104.22.168455 : Editor Light-backdrop colors are now converted from sRGB to linear before being used for rendering.
- Upgrader @ 22.214.171.124593 : Renamed some rendering interfaces:
- Renamed 'CRHIRenderingFeature::UseUv' to 'CRHIRenderingFeature::UseUV'
- Renamed 'CRHIRenderingFeature::UseMeshUv1' to 'CRHIRenderingFeature::UseMeshUV1'
- Upgrader @ 126.96.36.199594 : Rendering interfaces: Add missing nodes
- Upgrader @ 188.8.131.52846 : Nodegraph: Can now edit 'auto' properties: Added internal 'BaseType' property to pins.
- Upgrader @ 184.108.40.206875 : Rendering interfaces: Rename Atlas "Source" enum elements from "Definition / Procedural" to "External / Procedural"
- Upgrader @ 220.127.116.11001 : Rendering interfaces: Rename transparent "SortValues" pin to "SortKey"
- Upgrader @ 18.104.22.168104 : Attributes: Renamed effect interface item properties to match attribute node properties
- Renamed 'AttributeName' to 'ExportedName'
- Renamed 'AttributeType' to 'ExportedType'
- Renamed 'AttributeDescription' to 'Description'
- Renamed 'AttributeCategoryName' to 'CategoryName'
- Renamed 'AttributeSemantic' to 'Semantic'
- Fixed #3462: UE4: asserts/error logs when importing an effect using a shape sampler
- #3353: UE4: Implement vertex shader billboarding
- #3352: UE4: In engine performance metrics