Repository navigation
Open
Labels
discussionAn open discussion or announcementAn open discussion or announcement
Milestone
Description
The purpose of this ticket is to track progress towards the next major release and to let people know where things are headed.
Before v7 (non-breaking)
-
Modularize convolution operatorsImplement different blur operators as passes - Implement bilateral blur (depth-based)
- Implement Gaussian blur (for completeness)
- Implement mipmap blur (for
BloomEffect) -
Move effect analysis fromEffectPasstoEffectclass - Use internal timer, let user provide a custom timer
Into v7 (breaking)
See #419 for details.
- Implement
BufferManagerandGeometryPass - Create IO interface for passes and effects
- Remove
EffectAttributes - Reduce amount of predefined uniforms in
EffectMaterial - Refactor
EffectComposerintoRenderPipelinefor pass grouping and swapping -
Use render hooks to run passes, promote use ofrenderer.render() - Drop support for older versions of
three - Remove deprecated classes, fields and methods
- Remove code that was added for backwards compatibility
-
Move away from getter/setter propertiesReconsider usage of accessor properties #349 - Convert to TypeScript, add more examples to doc comments
- Remove CJS bundles
- Add support for
logarithmicDepthBuffer - Implement GBuffer clearing
- Implement GBuffer background rendering
- Port Effects to the new system: Task Overview: v7 #600
Reacted by Leonardo Cavaletti, Marco Fugaro, André Gonçalves, Garrett Johnson, Gianmarco, Lasse Moos, Arkady Vinkovsky, Lewy Blue, Łukasz Macoń, Micheal Parks and 20 more
Metadata
Metadata
Assignees
Labels
discussionAn open discussion or announcementAn open discussion or announcement
Activity
vinkovsky commentedon Mar 17, 2021
Hi @vanruesc ! Thank you for the great library. Will the ssr effect be added in the near future?
vanruesc commentedon Mar 17, 2021
The
ReflectionEffect(aliasSSREffect) will be added at a later stage because it relies on a geometry buffer (normals, metalness, depth, diffuse, etc.). The plan is to implement a proper buffer system first to pave the way for effects like SSR. Switching to MRT will be a non-breaking change as soon as it lands inthree.SSR will be added soon after v7, but I can't say when that will be.
andregoncalvesdev commentedon Apr 13, 2021
Hello @vanruesc! Great library! Is rgbshift effect doable with the current release or it will available on a future release ?
vanruesc commentedon Apr 13, 2021
@andregoncalvesdev RGB shift is already available via the ChromaticAberrationEffect.
v1rtl commentedon Jun 5, 2021
Regarding TS migration, to make it easier I'd recommend to set
allowJsandstrict: falsein the tsconfig file so JS code won't be filled with type errors :)marcofugaro commentedon Jul 20, 2021
Dude... it's an open-source project, you don't ask for an ETA.
vanruesc commentedon Jul 20, 2021
This issue has been on hold for a while now so I understand why people would like to know when things will start moving again. Since this is a hobby project with no financial backing, there is no ETA. I'd really like to continue working on this project right away, but work and other real-life issues take priority. I'm currently aiming for October/November to finally tackle this roadmap.
@marcofugaro I'm sure that @sayduck-daniel didn't mean to be pushy with his comment and I'm happy that people are interested in this project ❤️
looeee commentedon Sep 1, 2021
@vanruesc have you considered adding a sponsors page or some other way for people to help fund this project?
vanruesc commentedon Sep 1, 2021
@looeee Yes, I'd like to add a sponsors page at some point, but I haven't really looked into that yet.
looeee commentedon Sep 2, 2021
It's pretty easy to set up - will take an hour or two total.
But I guess if you want more than a couple of sponsors you'd have to start doing the social media circus.
16 remaining items
vanruesc commentedon Jun 22, 2023
@lviggiani WebGPU is not widely available yet, so it's not the focus right now. WebGL 1 has only recently been deprecated in
threeand v7 will rely mostly on WebGL 2 with limited WebGL 1 support. When WebGPU becomes more prevalent, there will be another transition from WebGL 2 to WebGPU.@fractalhq Thanks! You can follow the most recent development progress by checking the v7 branch. I still need to consolidate the base API and finish implementing the buffer management. After that I want to split the remaining work into smaller tickets so that anyone who'd like to help can pick them up.
Russo-creation commentedon Aug 31, 2023
Hi, @vanruesc
In terms of new feature "alpha hash" https://threejs.org/examples/?q=alph#webgl_materials_alphahash that was implemented along with Three.js r.154 which for improve visual "quality" requires antyaliasing methods like SSAA or TAA are there any plans to support it?
Current alternative to implement those effect in react-three-fiber is tu use three-stdlib and extend SSAA or TAA but as I posted the issue here pmndrs/drei#1601 it is not working properly (it's changing colors of scene) as many people use this great lib in their projects it would be helpful to use it through it.
vanruesc commentedon Sep 8, 2023
@Russo-creation Interesting, I didn't know there was support for alpha hash in three. TAA is planned to be added after v7 is done.
alexpineda commentedon Oct 18, 2023
Any beginner friendly issues I can help with?
vanruesc commentedon Oct 22, 2023
@alexpineda I've been working on v7 lately and it's beginning to take shape despite lots of road bumbs. The first alpha version is on track to be released in the next few weeks. After that, I'll prepare tickets for the remaining tasks that can be picked up by anyone who'd like to help. I'll post here when that's ready.
braebo commentedon Oct 22, 2023
Sorry if this has been discussed, but I think v7 should have an un-compiled build. My bundler takes care of things like tree shaking and minification, but having the entire build in a single js file interferes with this. Module separation is lost, and working with the code is significantly more difficult. All modern projects use their own bundler, so I don't believe the source should be mangled when I install it!
vanruesc commentedon Oct 23, 2023
@fractalhq Providing a production-ready library bundle is very common and in this case necessary because shaders need to be integrated before shipping. Custom shader imports require plugins and build confgurations that the end user should not have to worry about.
Most bundlers are able to process library bundles without issues. If dead code elimination isn't working correctly, there's usually something else going wrong.
It's true though that some parts are minified in the shipped bundle, namely worker scripts and shader code. I can see how this might be inconvenient to work with, but this code isn't really supposed to be debugged in user code and if there's a bug, it should be reported so that it can be fixed in the scope of the library project.
Feel free to open a new issue if something's not working as expected with v7 once it's ready.
yfunk commentedon Feb 10, 2024
@vanruesc I noticed
7.0.0-alpha-2was just published under thelatesttag about 20 minutes ago.I assume this was an accident because now when you run
npm i postprocessingthe alpha version is installed instead of the latest stable v6 release.vanruesc commentedon Feb 10, 2024
@yfunk Thanks for pointing that out! I wrongly assumed that versions with postfixes wouldn't get the
latesttag. Since I couldn't find a way to assign that tag to a previous version, I published a new one and fixed the publish script for the alpha releases.yfunk commentedon Feb 10, 2024
IIRC you should be able to assign the
latesttag (or any other) to a different version usingnpm dist-tag.vanruesc commentedon Feb 10, 2024
Tried that, but it gave me 400 Bad Request. Removing the
latesttag from the alpha release also didn't work, but adding/removing other tags worked just fine.vanruesc commentedon Feb 17, 2024
It's ready now: #600
valentinradu commentedon Aug 26, 2024
Hello, thanks for the great library. I have a question about the roadmap to 7.0. It seems like that
MaskPassis missing, but nothing is mentioned in the roadmap per se. Is this intended?vanruesc commentedon Aug 28, 2024
@valentinradu #652 (comment)
Thanks for pointing this out. I've added
MaskPassto the v7 task list.