MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
DualField.hpp File Reference
#include "FieldSource.hpp"
#include "ShaderCompat.hpp"
#include "Tendency.hpp"
#include <type_traits>
+ Include dependency graph for DualField.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Kinesis::DualField< D, R >
 One authored expression carried as both a host callable and shader text. More...
 
struct  MayaFlux::Kinesis::detail::FieldSignature< T >
 Extracts domain and range types from a non-generic lambda. More...
 
struct  MayaFlux::Kinesis::detail::FieldSignature< R(C::*)(A) const >
 
struct  MayaFlux::Kinesis::detail::FieldSignature< R(C::*)(A, B) const >
 
struct  MayaFlux::Kinesis::TemporalField< D, R >
 An authored expression of position and time, shader-only. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kinesis
 
namespace  MayaFlux::Kinesis::detail
 

Macros

#define MF_FIELD(name, lambda)    MayaFlux::Kinesis::dual_field(#name, lambda, #lambda)
 Bind one authored expression to both the host and shader backends.
 
#define MF_FIELD_T(name, lambda)    MayaFlux::Kinesis::temporal_field(#name, lambda, #lambda)
 Bind an authored expression of position and time to the shader backend.
 

Typedefs

using MayaFlux::Kinesis::DualScalarField = DualField< float, float >
 
using MayaFlux::Kinesis::DualSpatialField = DualField< glm::vec3, float >
 
using MayaFlux::Kinesis::DualUVField = DualField< glm::vec3, glm::vec2 >
 
using MayaFlux::Kinesis::DualVectorField = DualField< glm::vec3, glm::vec3 >
 
using MayaFlux::Kinesis::TemporalSpatialField = TemporalField< glm::vec3, float >
 
using MayaFlux::Kinesis::TemporalUVField = TemporalField< glm::vec3, glm::vec2 >
 
using MayaFlux::Kinesis::TemporalVectorField = TemporalField< glm::vec3, glm::vec3 >
 

Functions

template<typename Lambda >
auto MayaFlux::Kinesis::dual_field (std::string name, Lambda &&fn, std::string_view text)
 Build a DualField from a lambda and its stringified text.
 
template<typename Lambda >
auto MayaFlux::Kinesis::temporal_field (std::string name, Lambda &&, std::string_view text)
 Build a TemporalField from a lambda and its stringified text.