Go to the documentation of this file. 1 #ifndef OGLPLUS_TEXGEN_COORD_NODE_HPP
9 #define OGLPLUS_TEXGEN_COORD_NODE_HPP
13 namespace eagine::oglp::texgen {
15 enum class coord_type { normalized, frag_coord };
17 class coord_output :
public base_output {
19 friend class coord_node;
26 coord_output(node_intf& parent, coord_type);
28 coord_output(node_intf& parent)
29 : coord_output(parent, coord_type::
normalized) {}
35 std::ostream& definitions(std::ostream& out, compile_context& ctxt)
override;
38 class coord_node :
public single_output_node<coord_output> {
40 coord_node& set_type(coord_type type) {
48 #if !OGLPLUS_LINK_LIBRARY || defined(OGLPLUS_IMPLEMENTING_LIBRARY)
49 #include <oglplus/texgen/coord_node.inl>
52 #endif // OGLPLUS_TEXGEN_COORD_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 normalized(const vector< T, N, V > &a) noexcept
Returns normalized argument.
Definition: vector.hpp:379
static auto type_name(const T &) noexcept -> std::string
Returns the demangled name for type T.
Definition: type_name.hpp:24