Add the Extract Opaque node (#1276)

* Add 'Extract Opaqueue Node'

* Fix node

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
isiko
2023-06-04 21:51:42 +02:00
committed by GitHub
parent 2f10617c7b
commit 7b74a8e40c
3 changed files with 20 additions and 0 deletions

View File

@@ -207,6 +207,17 @@ fn extract_alpha_node(color: Color) -> Color {
Color::from_rgbaf32(alpha, alpha, alpha, 1.0).unwrap()
}
#[derive(Debug, Clone, Copy, Default)]
pub struct ExtractOpaqueNode;
#[node_macro::node_fn(ExtractOpaqueNode)]
fn extract_opaque_node(color: Color) -> Color {
if color.a() == 0. {
return color.with_alpha(1.);
}
Color::from_rgbaf32(color.r() / color.a(), color.g() / color.a(), color.b() / color.a(), 1.0).unwrap()
}
#[derive(Debug, Clone, Copy, Default)]
pub struct LevelsNode<InputStart, InputMid, InputEnd, OutputStart, OutputEnd> {
input_start: InputStart,