https://bugs.kde.org/show_bug.cgi?id=390698

--- Comment #23 from Vlad Zagorodniy <vladz...@gmail.com> ---
(In reply to Fredrik Höglund from comment #22)
> Any transformation that does not just translate and/or scale the window.
> Although scaling can also benefit from this, so I guess any transformation
> that does not just translate the window.

I think it makes sense to render a window in an offscreen texture if only
affine
transformations were applied on it. Like, there is no point to render a window 
in an offscreen texture if the Fall apart effect was applied on it.

Or, there should be another flag, like PAINT_WINDOW_SMOOTH. So, when opengl
scene
sees that flag, it renders a window into an offscreen texture, then maps the
offscreen texture onto the window's grid.

Or, there should be some heuristic so opengl scene knows when to render a
window into 
an offscreen texture.

But, it's mostly unrelated to the multisampling stuff, right?

> There is no need to call unbind() before deleting an object - deleting an
> object also unbinds it from any bind points it is bound to in the current
> context.

Done.

> [libkwineffects] simplify GLRenderTarget:
>
> Please split this commit so each change is done as a separate commit. It
> makes the changes easier to review.

Done. I've splitted it into ac394bdb60201b49636e31dfabf591420578d79b and
0161f0ec73eedc0c5047107fd579defb7afc2c21. Please note that I deleted
the part which marks textures as dirty. It's not used anywhere and makes
only harder to do changes. Do you know what purpose was of
GLTexture::setDirty(), and GLTexture::isDirty()?

> I think finalPrePaintScreen() should create the render buffer and render
> target on-demand, and also destroy them when PAINT_SCREEN_MULTISAMPLE is not
> set. They consume a lot of memory, so we don't want to keep them around when
> they are not being used.

In other words, keep a multisampled render buffer till finalPrePaintScreen is 
being called with the PAINT_SCREEN_MULTISAMPLE flag, right?

> I would rename m_multisamplingCtx to m_multisampling. Ctx suggests that it's
> a GL context.

Done.

> The changes look pretty good otherwise!

Thanks, but I posted that code as a proof-of-concept to stimulate work on
fixing
this bug.

I could continue work on fixing this bug, but only under supervision(I'm not so
good
at OpenGL).

Also, it has issues with the Background contrast and blur effect.
https://www.youtube.com/watch?v=aniol9Hcr2U
IIRC, they copy data from a framebuffer. Is it a good idea to use render
buffers in this case?

I think we could blit from a current framebuffer(the one with multisampling) to
a texture and
then do blur or change contrast. This would require adding another method, like
blitTo,
to the GLRenderTarget class.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to