openrave icon indicating copy to clipboard operation
openrave copied to clipboard

Order independent rendering

Open braineo opened this issue 1 year ago • 5 comments

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.

braineo avatar Dec 06 '23 00:12 braineo

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)

cielavenir avatar Dec 06 '23 06:12 cielavenir

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

image

rdiankov avatar Apr 26 '24 18:04 rdiankov

Guys, anyone actively working on this?

rdiankov avatar May 27 '24 16:05 rdiankov

Guys, anyone actively working on this?

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

braineo avatar May 27 '24 21:05 braineo

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.

Calandiel avatar Jun 07 '24 08:06 Calandiel