Skip to content

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.

5 participants