transparency

9 views
Skip to first unread message

Hairi Vogel (airi)

unread,
Dec 14, 2022, 1:11:23 PM12/14/22
to PraxisLIVE discussion group
Dear Neil.
I can layer stills with transparent pixels (.png i use , i like the name) in
video:custom components, grace of the attachAlphaQuery feature.
i learned that from the compositing component.
it works with properly tricked videos too.

but as there is no 3D space and no camera , I use p3d components.
PeasyCam and the Processing camera() both work. It happens , a rare thing
in PraxisLive, that camera(....) hangs the component in a weird camera position, frozen until the root
is restarted. Happened under ignorant conditions, giving silly numbers to camera(...)
after even the defaults do nada until restart.

now: how do I recover transparency in a p3d component ???????
attachAlphaQuery is not there.

any clue for me ?

thanks
Hairi

 





Neil C Smith

unread,
Dec 15, 2022, 4:25:15 AM12/15/22
to praxi...@googlegroups.com
On Wed, 14 Dec 2022 at 18:11, Hairi Vogel (airi) <hairi...@gmail.com> wrote:
> I can layer stills with transparent pixels (.png i use , i like the name) in
> video:custom components, grace of the attachAlphaQuery feature.
> i learned that from the compositing component.
> it works with properly tricked videos too.

An advanced feature to allow the compositor to be code-able. But
generally, you shouldn't need this.

Every node that connects to a compositor src with force-alpha set will
inherit the alpha channel. So to have an alpha channel in every node
you should just be able to do -

EVERYTHING -> compositor!src -> output

> but as there is no 3D space and no camera

Yes, I've wondered about piping 3D space ...

> , I use p3d components.
> PeasyCam and the Processing camera() both work. It happens , a rare thing
> in PraxisLive, that camera(....) hangs the component in a weird camera position, frozen until the root
> is restarted. Happened under ignorant conditions, giving silly numbers to camera(...)
> after even the defaults do nada until restart.

Strange! Are you sure you're affecting the matrix on the P3D graphics
and not the main PApplet? The P3D component pushes and pops a matrix
to try and workaround this, amongst other things. Also editing the
component - does resaving not resolve it?

> now: how do I recover transparency in a p3d component ???????
> attachAlphaQuery is not there.

You can't - need to attach via a composite as mentioned above.
Although the P3D surface itself always has transparency.

Make sure you're not being affected by depth testing. With alpha in
3D you might want to add

hint(DISABLE_DEPTH_TEST);

at the start of draw()

See the mouse drawing example, and how that changes with and without
that line in. Although that's using additive blending rather than
alpha.

Best wishes,

Neil
Reply all
Reply to author
Forward
0 new messages