Go to the documentation of this file. 1 #ifndef OGLPLUS_TEXGEN_SWIZZLE_NODE_HPP
9 #define OGLPLUS_TEXGEN_SWIZZLE_NODE_HPP
15 namespace eagine::oglp::texgen {
19 class swizzle_output :
public base_output {
22 input_with_const_default<float[4]> input;
24 swizzle_output(node_intf& parent);
25 swizzle_output(node_intf& parent, std::string swizzle);
31 std::ostream& definitions(std::ostream& out, compile_context& ctxt)
override;
35 :
public unary_single_output_node<
37 decltype(swizzle_output::input),
38 &swizzle_output::input> {
40 swizzle_node() =
default;
42 swizzle_node& set_swizzle(
const std::string& swizzle) {
44 _output.swizzle = swizzle;
52 #if !OGLPLUS_LINK_LIBRARY || defined(OGLPLUS_IMPLEMENTING_LIBRARY)
53 #include <oglplus/texgen/swizzle_node.inl>
56 #endif // OGLPLUS_TEXGEN_SWIZZLE_NODE_HPP
value_type
Value tree value element data type enumeration.
Definition: interface.hpp:27
basic_string_span< const char > string_view
Alias for const string views.
Definition: string_span.hpp:116
static auto type_name(const T &) noexcept -> std::string
Returns the demangled name for type T.
Definition: type_name.hpp:24