Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

pixi-display

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pixi-display

Pixi.js plugin, allows to change rendering order of containers without changing the scene graph.

latest
Source
npmnpm
Version
1.1.1
Version published
Maintainers
1
Created
Source

pixi-display

Allows to change rendering order of pixi-v4 containers without changing the scene graph

Compiled files are located in "bin" folder

Example

Please look at example

Some explanations

  • create some DisplayGroup , each has a z-index
  • assign them to some of displayObjects (as shared component)
  • assign displayList to root container (as a component)
  • Displaylist looks inside subtree and sorts all the displaygroups that appear there, also calculated the list of elements that appear inside every DisplayGroup
  • all objects that don't have displayGroup are added in "displayChildren" list of first parent that has it a displayGroup.
  • inside each DisplayGroup you can specify sorting algorithm, if it is needed. (sort by y-coord or something like that)
  • DisplayList -> DisplayGroups -> containers -> DisplayChildrens

As a result, every object will have a DisplayFlag:

  • AUTO_CHILDREN - its children can appear in other display groups, so we render only self _renderWebGL
  • AUTO_CONTAINER - have mask or filters, renders whole subtree renderWebGL
  • AUTO_OBJECT - no children. thus, renderWebGL will be called
  • MANUAL_CONTAINER - Specified by user. Its a particle container. Call renderWebGL and dont even try to check childrens, for performance.

Pros

  • compatible with other implementations: just assign each element its own DisplayGroup. All elements will be sorted
  • optimized for cases when you already know that 1000 elements have the same z-index: just assign them the same DisplayGroup
  • optimized for cases when you know that some displayObjects follow natural order of things (rendered just after parent)
  • optimized for cases like "ParticleContainer", you can set special DisplayFlag to container that way displayList will consider it a "leaf" and dont check its children at all.

Cons

  • Interaction is different, there might be bugs. Performance of processInteractive() can drop a bit.
  • Non-renderable elements are not interactable. Elements with alpha=0 are interactable but their children are not.

FAQs

Package last updated on 28 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts