Way to mimic setLensOffset without using ofCamera?

Is it possible to do the ofCamera::setLensOffset effect without using ofCamera? Or is there any global method for doing this in OF?

All I want is simply translating 3d objects maintaining the same view angle just like the image below.

I solved it by using ofViewport.
I hope ofViewport is not so cpu expensive to use.

Actually, there was pretty huge CPU usage difference when I use viewport. without using ofViewport, the CPU usage was about 25~30% whereas 40~45% with single ofViewport.

Would there be any lighter solution for translating 3d object without changing the view angle of the it? I think the calculation shouldn’t be too complicated but I just can’t think of correct formula for it.

Isn’t it simply rotating all objects around the lens as if objects are on the inner side of sphere?

I think you mean to maintain the view perspective rather than the view angle. ofViewport is the way to go here, shouldn’t be that expensive

1 Like

Thanks. but when I viewport large area, it was quite expensive. (about 15% more CPU usage) Maybe I should use ofCamera which I wanted to avoid using.

EDIT : I was running in debug mode, when I run in release mode there wasn’t a huge difference. Thanks!