-
-
Notifications
You must be signed in to change notification settings - Fork 35.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Examples: Add external three-mesh-bvh library demo #23907
Conversation
…o external-bvh-demo
I like the idea of including a section in examples for (minimal) showcases of external projects like this. It may help users make the right decision for their projects about when to use the 'official' raycaster/controls/loader/etc. and when to reach for an additional dependency. See also, related challenges in #23526. Totally a nit — but I wonder if the section should be labeled "community" instead of "external libraries"? Or match the libraries and plugins page? To me it feels better, but maybe just leave this as-is unless at least one other contributor feels the same way. I don't mean to hang this up over naming things. :) |
A name change sounds good to me -- I say we can merge and adjust the name later, though. "Community" or "Libraries and Plugins" or just "Libraries" all sound good to me. I just wanted it to be clear that these were using logic outside the three.js codebase. |
Ping @mrdoob - is there anything else I can do to get this merged? |
What about "Community plugins" or "Community extensions"? |
Just changed it to "community plugins" - thanks for the suggestions guys! |
@mrdoob any opinion on adding this new Community Plugins section to the examples? We can limit it to just a few of the highest quality projects out there, in which case I don't expect there would be many more than five or so examples. Beside three-mesh-bvh, I can think of @yomotsu's camera controls, @gkjohnson's three-gpu-pathtracer, and @vanruesc's postprocessing as strong candidates. |
Sidenote: |
Sorry for the delay... I think it'll be better to name the example |
@mrdoob okay I figured it might be nice to have a section to more explicitly promote community efforts - but I just updated the file names! |
+1 from me 👍 I think it's a missed opportunity to help support the larger three.js community if we don't do this. |
I definitely hear you. I'm just not sure that a section for it is the best solution. I'm thinking about it from the point of view of the user/developer experience: In this case I'm imagining the developer learning about the raycaster and going through the examples (which I'm about to clean up) and one of these examples is the bvh one. From there they can jump to learn more about I'm thinking we could do something like this:
I think at the end of the day, we want to do two things:
|
@mrdoob the icon seems like a nice distinction and maybe we can also make the community plugins searchable by some term ("community", "external", "libraries") if users want to take a look at just the community library examples. |
@gkjohnson exactly yes 👍 |
Design wise, I bet @marcofugaro will have opinions 🤓 |
@mrdoob that looks good to me :) I agree with @marcofugaro that the full word "external" looks better. I would probably interpret "ext" as "extension" in the context of examples. |
Thanks! |
* add external bvh demo * update new example * use bunny model * screenshot * final updates * speed improvements * wording update * Update external_bvh_raycasting.html * fixes * fix links in iframe * Change ray speed * Update files.json * change file name * Update tags.json
* add external bvh demo * update new example * use bunny model * screenshot * final updates * speed improvements * wording update * Update external_bvh_raycasting.html * fixes * fix links in iframe * Change ray speed * Update files.json * change file name * Update tags.json
Related issue: #23876 (comment)
Description
Adds a demo based on the three-mesh-bvh library. The library is linked to via unpkg so no version has to be maintained in this project. Links to three-mesh-bvh repo included in the page. 3000 bunny raycasts per frame is still at 60 fps on my machine 🎉
Live link:
http://raw.githack.com/gkjohnson/three.js/external-bvh-demo/examples/index.html?q=exter#external_bvh_raycasting
At some point I'll make another one or two with some other queries and add a path tracing demo, as well.
And just for fun, 10000 rays at ~24fps:
And 40000 at 6fps 😭