Skip to content
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-gpu-pathtracer example #24803

Merged
merged 13 commits into from
Oct 17, 2022

Conversation

gkjohnson
Copy link
Collaborator

@gkjohnson gkjohnson commented Oct 15, 2022

Related issue: --

Description

Adds an external library demo for three-gpu-pathtracer. The screenshot is taken manually and added for the sidebar because otherwise it will probably take a bit to render and when I'd tested headless puppeteer rendering with the pathtracer previously it was not working - I'll test it again at some point.

Live demo:

http://raw.githack.com/gkjohnson/three.js/add-pathtracer/examples/index.html#webgl_renderer_pathtracer

image

@gkjohnson gkjohnson added this to the r146 milestone Oct 15, 2022
@Mugen87
Copy link
Collaborator

Mugen87 commented Jun 18, 2023

When making the latest changes to examples, I've noticed the path tracer demo looks a bit broken on Chrome/macOS.

image

With Firefox/macOS the demo looks as expected.

image

In Safari and Chrome Canary it seems the tab crashes when rendering starts.

https://threejs.org/examples/webgl_renderer_pathtracer

@gkjohnson
Copy link
Collaborator Author

Yeah there are some new regressions in Chrome it seems and possibly Safari - when I developed the latest version I was testing on Mac Chrome and Safari. There are some new issues around Android, as well...

I've put that project down for a bit but it seems that browser WebGL implementations are not completely stable when it comes to the shader or features required here. It's not viable to keep chasing down existing, new, and changing browser implementation quirks to keep it looking consistent. I plan to look into the project a bit more again in the coming months and will have to consider where the project is going to go.

Long term WebGPU and ComputeShaders would be the better place to implement this kind of thing and I'm hoping that will be more stable than WebGL in terms of these types of compilation and transpilation issues I've seen but I'm not sure. Not sure if @mrdoob has any thoughts on whether ComputeShaders will be more stable since they better mirror modern graphics APIs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants