GithubHelp home page GithubHelp logo

Comments (11)

yandeu avatar yandeu commented on May 18, 2024

I don't know if it is related to v3.25-beta. Does it work well in v3.24?

from enable3d.

georgzoeller avatar georgzoeller commented on May 18, 2024

Yea, tested on 3.24 and it's fine. 3.25 has a bunch of batching changes that would sound like potential culprits

image

from enable3d.

yandeu avatar yandeu commented on May 18, 2024

I see. I suggest we wait for the next beta version or the stable 3.25 release. Maybe it will be fixed.

from enable3d.

georgzoeller avatar georgzoeller commented on May 18, 2024

In case it isn't, here's some more information

It only kicks in at certain angles - the text / icons render just find but when the camera has a certain perspective on the water, it looks like all game object textures get overwritten

from enable3d.

georgzoeller avatar georgzoeller commented on May 18, 2024

I think this is a broader issue - enable3d isn't entirely playing nice with phaser, even before 3.25.
it somehow interferes with rendering shape fills - I cannot do a graphics.fillStyle().fillEllipse() for example while I have enable3d loaded, it just renders the stroke of objects, but fill on any scene running on the same phaser instance will be blank.

from enable3d.

georgzoeller avatar georgzoeller commented on May 18, 2024

image

from enable3d.

georgzoeller avatar georgzoeller commented on May 18, 2024

I've narrowed it down to this:
it's this.accessThirdDimension() that causes the corruption
as long as I have a blank Scene3D in the project and that scene calls
this.accessThirdDimension() in it's create function, any graphics.fillX will not work anymore (no error) in any scene across the phaser instance

Since phaser has a bunch of global state in graphics object a (setTexture being the best example), I assume something is getting corrupted there on a global level and it's happening in accessThirdDimension.

from enable3d.

yandeu avatar yandeu commented on May 18, 2024

Scene3D extends from Phaser.Scene version ~3.23.0.

Maybe this causes some issues? Can you downgrade to ~3.23.0 to test it?

from enable3d.

georgzoeller avatar georgzoeller commented on May 18, 2024

Just Tried 3.22 / 3.23 / 3.24 / 3.25b0 , all the same.

It looks like .accessThirdDimension() on a separate scene is wiping the fill. Interestingly, If I destroy and recreate the shapes after that call, their fill is rendered properly.

from enable3d.

yandeu avatar yandeu commented on May 18, 2024

Hi @georgzoeller

I guess with the latest enable3d update, all these issues should be gone.

I have completely changed how 3d elements get implemented in a Phaser 3 game.

Check the readme file to upgrade to v20.

from enable3d.

yandeu avatar yandeu commented on May 18, 2024

I close this issue since from version 20, enable3d does not mix the three.js and phaser.js WebGLRenderingContext anymore and therefore all these issues should be gone.

from enable3d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.