pmndrs / react-three-lightmap

In-browser lightmap/AO baker for react-three-fiber and ThreeJS
MIT License
130 stars 8 forks source link

Non react project #17

Open Hoodgail opened 2 years ago

Hoodgail commented 2 years ago

How would i use react-three-lightmap with a non react project

unframework commented 2 years ago

Hey, this is a good question! I just recently finished a rewrite that decouples a lot of this code from React, so it is conceivable to expose completely a non-React API. I can take a look at it, but it will still take more work and planning, so I wouldn't expect this to happen soon, sorry!

If you are curious re: what this could look like, this is the entry point to main non-React-based baking logic:

https://github.com/pmndrs/react-three-lightmap/blob/38154da5693b4eb75226f02370e198b6e16c8211/src/core/Lightmap.tsx#L53

The requestWork function (it schedules slices of computation onto a responsive RAF loop) is currently provided via a React hook, but could be separated out as well.

Hoodgail commented 2 years ago

Thank you for your response, I'll check it out.

wmcmurray commented 2 years ago

@unframework I also wish your awesome tech was decoupled from React ! 🙋🏼‍♂️ 🙏🏼

In fact, I would have expected it to belong in the exemples considering it has no equivalent ( beside this GI exemple: https://threejs.org/examples/?q=global#webgl_simple_gi ), and the react-three-lightmap repo would have been a wrapper around it.

I hope you find time to decouple it, otherwise I'm sure someone will do it eventually ! 😄

lucas-jones commented 2 years ago

I'd also love to see this useable without React! Such a cool project

Not real-time but might be a solution to anyone finding this issue Blender Lightmaps https://github.com/Naxela/The_Lightmapper

drcmda commented 2 years ago

@unframework I also wish your awesome tech was decoupled from React ! 🙋🏼‍♂️ 🙏🏼

In fact, I would have expected it to belong in the exemples considering it has no equivalent ( beside this GI exemple: https://threejs.org/examples/?q=global#webgl_simple_gi ), and the react-three-lightmap repo would have been a wrapper around it.

I hope you find time to decouple it, otherwise I'm sure someone will do it eventually ! 😄

the problem with these examples is that they're often just that, not something readily usable or applicable or even sharable. i've spent so much time with that demo you linked and gave up making it re-usable. my finding are here: https://codesandbox.io/s/adaptive-lightmaps-wsg13 the biggest problem was mutation, it starts to dismount scene contents. things are usually hard to share because they need awareness of the environment they're in, lifecycles, etc, or else it will be limited. this may not apply to this use case i don't know but it's usually the case sadly.

tbh would rather like to see a react thing that's stable and actually usable, as opposed to yet another example that's being thrown into jsm where nobody uses and maintains it.

wmcmurray commented 2 years ago

@drcmda life would be very boring if everything where super-polished, cohesive and readily usable... there would be nothing left to fix and improve ! 😄

drcmda commented 2 years ago

Well, that's one way to look at it :P

naive17 commented 2 years ago

bump on this!

evan526914448 commented 2 years ago

Is there any update on this? Hopefully it can be used for non react project.

unframework commented 2 years ago

Thanks everyone, I can see a lot of interest in this and I think there is a way to expose the necessary internals so that anyone can use them without React "at their own risk". July was super busy with work for me (I have been neglecting a few different feature/bug reports unfortunately 😭), but hopefully August will be more chill for me to revisit this. Thanks for waiting!

giovanni-a commented 6 months ago

I would also love to see this decoupled from React. Will definitely give credits if used in the XRSharp.io project (.NET wrapper around ThreeJS).