ivan.popelyshev

Members
  • Content Count

    4881
  • Joined

  • Last visited

  • Days Won

    241

Everything posted by ivan.popelyshev

  1. please dont change IDENTITY matrix, clone it at least first!
  2. pass the matrix in method , with a scale
  3. `export * as PIXI from "pixi.js"` doesnt work?
  4. maybe write bundle as ts file too, and do better re-export there?
  5. There "workarounds": 1. wait for v6 and convertion of all modules. 2. throw out webpack a, rollup or whatever you use, for typescript use <reference types= ...>
  6. yeah. we are making experiments with pixi-tilemap to make hybrid approach that solves everything, pixi-picture will be one of next if we succeed
  7. its not offtopic, its a real problem all users of webpack have it Make PIXI provided, include it through <script src> , then you can include plugins in dependencies. alternatively, make a bundle - special file that re-exports pixi and adds it to window before plugin if imported export * as PIXI from 'pixi.js'; window.PIXI = PIXI; require('pixi-picture'); you can change it to pixi.js-legacy if you need canvas2d Why is it difficult? because people who made ES6 modules standards and those who made basic implementations screwed up whole ecosystem. Basically "hey guys here's new stuff all new coders will use, please use it and abandon all your old users in favor of new guys who know only react" We only address it now, for pixi-v6, because we had to actually make our own tools to make everything work the right way
  8. > Texture Rotate seems to be working because i changed it yesterday according to Rayj post, yeah )
  9. > Dunno about WebGL libraries, I come from Unity WebGL has less features than whatever unity has access on low-level, in webgl we have to make extra steps to get backbuffer. Also, PixiJS is the only lib that is exposing backbuffer in a plugin, there's also AwayJS but its only used internally there. > Wait, so it's not pure Pixi? Its here: https://github.com/pixijs/pixi-picture/tree/master/dist Its a hack over filterSystem, and it wasnt approved to be merged in main pixi repo because by default we used "RGB" format for main backbuffer and it's not easy to inform users that certain feature works only if there's a filter on top of everything. I think its likely to be merged in v6.
  10. > Seemingly simple task, yet so unclear and confusing in Pixi. OK, which webgl libraries/frameworks give you access to backdrop? https://pixijs.io/examples/?v=v5.3.7#/plugin-picture/displacement.js - works for 5.3.7 release, doesnt work for 6.0-rc (dev) because pixi-picture wasnt modified to take into account changes in systems. Do you need me to update it? btw, im going to update it anyway, because i found out that it should work even without extra filters if renderer is created with "transparent:true", and it has same format as rendertextures, RGBA
  11. > (e.g. 300 000) Basically, you have to modify TreeSearch and add quad-tree there, somehow. Good luck!
  12. You can get mediastream from canvas, so it should be possible, just try it
  13. pixi3d overrides projectionMatrix generateTexture is hacky function that had so many bugs related to transforms .. even latest version of pixi v6-rc has different behaviour from release v5. We are patching it again right now. I'm sorry, but to make it work you have to be aware of how both things work in deep level. You can also put it in pixijs issues / discussions with actual $$$ bounty, otherwise you probably will wait loooong time
  14. > Does anyone know of an algorithm or library I can use to scale and rotate polygons from their point paths? Sounds like you dont know how to work with 2x3 matrices. And that is all over pixi source code, in mesh.containsPoint() , in many places in Bounds class, e.t.c.
  15. yes, modification of v4 branch of pixi-picture should help, however it works only if everything is drawn in a renderTexture, like filter or something. I know how make it work with main framebuffer now, but i didnt add it to v4 version of pixi-picture. Basically it needs "transparent:true" in renderer params, and remove safeguard from filterManager mixin what blendmode do you need?
  16. > I'm developing an ECS framework around pixi.js nice, that's usually how game engines are built on top of pixi > pixi-layers I wrote custom TreeSearch in that plugin, so it can be wrong, a bit. > Is it the case that pointer-ized (standardized/working) event listeners only exists on PIXI.container but not on InteractionManager? pointer-ized events exist in InteractionManager somewhere, look around. For your goal, CTRL+C-ing TreeSearch or whole interactionManager is fine, dont be afraid of doing that
  17. > I'm using a 2012 Macbook Pro with integrated Intel HD 4000 graphics I think you hit the bottom with it. 30FPS on that machine is good enough for webgl, we need webgpu stuff to go deeper
  18. The profile is ideal, fragment shader itself looks fine, means the problem is in fillrate. How do you create renderer, which params do you use for it? Do you by any chance use "antialias:true" ? Whats your videocard?
  19. Pools and pre-populating should be used only if you are sure it'll work.
  20. ... look in spectorJS how many times drawArrays/drawElements/bindShader are called. 40 is small number. > So this must mean that rendering all of these tiles is too slow, correct? Yeah, but which part is it, pixel filling or what? did you look in bottom-up? did you look whether its gpu process eating or js?
  21. > Perhaps there are long calculations being run on my display objects being run every tick? Run profiler 10 seconds, look at idle %, if its high then its ok, if not - figure out what eats most of the time. > Do you think getting batching to work on my meshes would improve framerate? How many draw calls and shader switches do you have?
  22. Browser has special "GPU process" that you can see in shift+escape menu in chrome. It holds all the uploaded textures and if webgl takes too much gpu mem - it somehow juggles the textures. That's how its possible to have 3GB of textures on videocard that has only 2GB total. PixiJS does not have mechanisms to count used memory. You can iterate through "renderer.texture.managedTextures" and count it. The only solution I made for it is for huge app in production, and its not possible to share it. PixiJS texture GC is primitive - if texture was used 3 or 4 minutes ago or something (i dont remember , look up the sources for "textureGC") it asks webgl to destroy it. We dont know whether its on gpu or cpu side of webgl, we dont know the limit of memory when whole webgl will crash, that's not possible in html5
  23. short answer: no, it does not purge textures from gpu mem. 16 locations mean we can use 16 textures in one drawcall, but we can specify which textures of already uploaded they are. > 50 1920x1920 16bit images at a time ugh... which internal format do you want to use? btw, you can capture one frame of webgl commands using SpectorJS extension (doesnt work on pixi-examples iframe)
  24. Btw, pixi does not have any memory-related analytics. You have to install spectorJS extension to count your memory, or maybe include "spector.js" in your project when its in debug mode