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

Points cloud gets unwanted outline pass #20428

Closed
JarSeal opened this issue Sep 28, 2020 · 4 comments · Fixed by #20460
Closed

Points cloud gets unwanted outline pass #20428

JarSeal opened this issue Sep 28, 2020 · 4 comments · Fixed by #20460

Comments

@JarSeal
Copy link

JarSeal commented Sep 28, 2020

Describe the bug

When having at least one object in the outline pass selectedObjects array and a scene that also has a points object, the outline pass gets rendered in the middle of the points. This does not happen in desktop chrome in windows nor could I reproduce it in a new iPad or iPhone. It does happen in all of the Android Chromes that I have tested and also on an iMac (tested by @Mugen87 ).

To Reproduce

Steps to reproduce the behavior:

  1. Create a simple object and add it to the scene
  2. Create a points cloud and add it to the scene
  3. Add effect composer, render pass, and outline pass
  4. Add the simple object to the outline selectedObjects array
  5. Make the particles move a little to make the bug appear more clearly
  6. Render the scene with the composer

Live example

Expected behavior

I would expect the outline pass artefact not to show up on points on any of the platforms and browsers.

Screenshots

a18aac64ab90c4cb82e709ba18a2d48a7d0e08d5

Platform:

  • Device: mobile and desktop (iMac)
  • OS: Android (could not reproduce this on iOS)
  • Browser: Chrome (not Windows desktop)
  • Three.js version: r120 (latest at this point)
@Mugen87 Mugen87 added the Addons label Sep 28, 2020
@Mugen87
Copy link
Collaborator

Mugen87 commented Sep 28, 2020

@Mugen87
Copy link
Collaborator

Mugen87 commented Oct 5, 2020

I've debugged this bug today and it seems points and lines are not compatible with OutlinePass. Even when using point sprites it is not possible to produce an outline around the sprite.

Looks like it's necessary to do the same like with SSAOPass and exclude points and lines.

@Mugen87
Copy link
Collaborator

Mugen87 commented Oct 5, 2020

@Kangz In context of point sprites I have a related WebGPU question: I've noticed that when using the point-list primitive topology, points always have the size of 1 px. Is this going to change in the future? Will the size be configurable? Or is it necessary to render triangles if you want sprite/billboard-like entities?

Related WebGL examples:

https://threejs.org/examples/webgl_points_billboards
https://threejs.org/examples/webgl_points_sprites

/cc @takahirox

@Kangz
Copy link

Kangz commented Oct 5, 2020

Point size will be fixed to 1. This is because like for WebGL there is no guarantee that HW supports bigger points, and because the clipping behavior of large points is inconsistent between HW.

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

Successfully merging a pull request may close this issue.

3 participants