three_js porting of three.js: current status and updates #122
Replies: 4 comments 1 reply
-
|
Hi @jdaniele71 , Thanks for using the repo. I have been updating to the latest versions of three.js webgl2 parts. I have been working on a webgpu version but it is taking some time to port everything over. One of the biggest problems is that it will only be for web and no other devices until the flutter team catches up on the GPU part. As for some of the parts of three.js that are missing, if it does not have a specific part that is required by the core I will wait for someone to make a request for it e.g.(PCDLoader) and it does not rely on some other repo that needs to be ported or might take months for one person to do like DracoLoader. Let me know if you have any requests or need some assistance. I will take a look at porting PCDLoader. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @Knightro63, thanks a lot for your kind reply. Let me start by saying: I've been developing software since 1983 (on Sinclair ZX-81), first out of passion and then as a job, but I'm new to Dart, Flutter, and three.js, so don't be surprised if I ask some silly questions. Nice to know you are working on the WebGPU porting. If I understand correctly, WebGPU APIs are available within browsers, but they are not available as a callable Dart/Flutter wrapper for other targets such as desktop and native mobile versions. From what I read in the following very well written tutorial, there are two implementations available for the desktop: So, for the desktop targets, a Dart wrapper should be implemented, calling the WebGPU C++ library. Do you think it's feasible? About the missing parts, it would be useful to find a list of them, somewhere, because when I read that your library is a porting of three.js, I could expect that I will find anything the three.js offers as functionalities. Relating to PCDLoader, yes it would be fantastic if you could implement it in the library. About your kind support, I have one question: why a lot of the examples I can find here (https://knightro63.github.io/three_js/) are not working? Trying to open WEBGL CAMERA ARRAY there are 256 error like this: Trying to open WEBGL LOADER GLTF: If I copy any of the direct link to the examples (let's say https://knightro63.github.io/three_js/webgl_camera) and paste it in a new tab, I always get the 404 not found. Very strange... And so on... Thanks. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @jdaniele71, The webgpu is feasible I have looked at other packages that do implement gpu but have not had the time to finish implementing it or going down the rabbit hole of making it work on every platform. This is for next year I am afraid. I will work on a readme update to add the functions. This might take a while if an AI is unable to get me most of the information. Not sure how much is in three.js, It is a large library. I have updated the github web example here. The 404 not found for the textures should be fixed since I have not updated it in a long time. As for copying the links directly https://knightro63.github.io/three_js/webgl_camera having a 404 issue. This is due to how github handles the call, if i was to do this on its own page I would make a 404 page that routes it to the main page and parse the url to determine the location, if the location is a 404 show a different 404 page otherwise show the correct page, but I am not sure if a 404 router page is possible here. Maybe it is I have not looked to much into it. I have finished the PCDLoader and will update three_js on pub dev soon. If you need help you can always post a question. I have tested it with some AI's and they seem to know about three_js and can answer a lot of questions. You just need to specify that you are not using three.js e.g.("I am using the latest version of three_js from pub.dev how do I ...") and just make sure it is looking at 0.2.0 and above. I have seen that it reverts to 0.1.7 from other users. Hope this helps. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @jdaniele71, I have updated the README with all of the modules that three.js has. There is a table with what is supported, needs to be requested, and will not be ported. Let me know if this was helpful |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, first of all, I really love this port and I would like to thank @Knightro63 and the other contributors for this amazing work.
At the same time, I wonder how updates of three_js are handled, to keep it up to date to the original three.js project.
I'm writing this lines because, for example, days ago, I needed the PCDLoader (PointCloud Data loader) that three.js has, but I didn't find the corresponding class implementation in three_js, so I had to write one, based on the other loaders.
So the first question is: how can I know which is latest version of three.js implemented by three_js?
Another very interesting aspect is that three.js is now supporting WebGPU technology, that is way faster than WebGL2.
Will WebGPU support ever be introduced in the flutter three_js package?
In general, the main question is: will three_js be updated to the latest version of three.js, and if "yes", when (and how)?
How much frequently?
Don't get me wrong, I know keeping it up to date takes a lot of work, dedication, and time.
So I'm not complaining about this fantastic free and open port you've made.
It's just to better understand what I can expect in the future.
Thanks.
Best regards
Daniele
Beta Was this translation helpful? Give feedback.
All reactions