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

Order independent rendering #1340

Draft
wants to merge 4 commits into
base: production
Choose a base branch
from
Draft

Conversation

braineo
Copy link
Collaborator

@braineo braineo commented Dec 6, 2023

created the PR on behalf of @Calandiel

Implements order independent rendering in the qtosgrave plugin. This ought to improve visual quality for meshes with low quality geometry and prevent flickering of objects are camera rotates (particularly visible for boxes of similar size placed within each other).
This is done by modifying the way blending is handled. The PR also implements a wrapper for different blending algorithms for easier visual comparison between them.
PS. It's my first time committing to this repo and while I've tested all features I was aware of, I might have missed some less obvious ones. Since order independent rendering cannot reproduce appearance of depth sorted blending (as the new blending operation is commutative, unlike the default one) there will be slight visual changes to objects regardless of the view angle.

@cielavenir
Copy link
Collaborator

I cowardly mention how to run /test myself:

# cd openrave
git remote add Calandiel https://github.com/Calandiel/openrave.git
git fetch Calandiel
git checkout Calandiel/order-independent-rendering
git checkout -B order-independent-rendering
git push origin order-independent-rendering

(oh this works as long as Calandiel doesn't run /test himself)

@rdiankov
Copy link
Owner

Did you guys test with controller? It doesn't look like it is working...

image

@rdiankov
Copy link
Owner

Guys, anyone actively working on this?

@braineo
Copy link
Collaborator Author

braineo commented May 27, 2024

Guys, anyone actively working on this?

No, it stalled. It is pretty far from expected outcome at the moment.

@Calandiel
Copy link
Collaborator

To give more context why it doesn't work - when I wrote it I wasn't aware of all of the features present in the renderer, which relies on osg's material property inheritance.
The implementation changes material properties in the scene tree which had side effects and the attempt to fix them broke the oit that was the goal of this PR.
It'd need a larger rewrite to function correctly.

@braineo braineo marked this pull request as draft July 16, 2024 00:29
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.

4 participants