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
Update GS rendering #6352
Update GS rendering #6352
Conversation
This reverts commit eff37ce.
What's the impact to WebXR rendering using two viewports? |
Is it possible to configure size of batches? As in case of 1m splats, it will lead to ~7.8k drawcalls? |
centerTexture; | ||
|
||
colorTexture; | ||
|
||
v1v2RenderTarget; | ||
|
||
v1v2RenderPass; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add types?
@@ -120,6 +307,10 @@ class GSplatInstance { | |||
|
|||
createMaterial(options) { | |||
this.material = createGSplatMaterial(options); | |||
// this.material.setParameter('splatOrder', this.orderTexture); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A true work of art. 🖼️
@Maksims, the 128-quad mesh is instanced as many times as necessary with single draw call. |
Yeah thanks I forgot to mention in the issues section. Plan is to fix/address VR in a followup PR. |
scope.resolve('transformB').setValue(this.splat.transformBTexture); | ||
scope.resolve('transformC').setValue(this.splat.transformCTexture); | ||
|
||
const cameraMatrix = new Mat4(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these seem like per frame allocations?
Closing in favour of #6357. |
This PR updates our runtime GS renderer. GPU render performance is improved as well as sorting performance and jank during camera movement.
Before:
After:
The code changes are summarised as follows:
Other changes:
Issues:
TODO: