OGLplus  (0.59.0) a C++ wrapper for rendering APIs

combine_node.hpp
Go to the documentation of this file.
1 #ifndef OGLPLUS_TEXGEN_COMBINE_NODE_HPP
9 #define OGLPLUS_TEXGEN_COMBINE_NODE_HPP
10 
11 #include "base_node.hpp"
12 #include "fallback_input.hpp"
13 
14 namespace eagine::oglp::texgen {
15 
16 class combine_output : public base_output {
17 private:
18  using _input_t = input_with_const_default<float[1]>;
19  std::string _input_expr(_input_t&, slot_data_type, compile_context&);
20 
21 public:
22  _input_t input_r;
23  _input_t input_g;
24  _input_t input_b;
25  _input_t input_a;
26 
27  combine_output(node_intf& parent);
28 
29  string_view type_name() override;
30 
31  scalar_data_type component_type();
32 
33  slot_data_type value_type() override;
34 
35  std::ostream& definitions(std::ostream& out, compile_context& ctxt) override;
36 };
37 
38 class combine_node : public single_output_node<combine_output> {
39 public:
40  span_size_t input_count() override;
41 
42  input_intf& input(span_size_t index) override;
43 };
44 
45 } // namespace eagine::oglp::texgen
46 
47 #if !OGLPLUS_LINK_LIBRARY || defined(OGLPLUS_IMPLEMENTING_LIBRARY)
48 #include <oglplus/texgen/combine_node.inl>
49 #endif
50 
51 #endif // OGLPLUS_TEXGEN_COMBINE_NODE_HPP
value_type
Value tree value element data type enumeration.
Definition: interface.hpp:27
std::ptrdiff_t span_size_t
Signed span size type used by eagine.
Definition: types.hpp:36
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

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).