mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-01-21 21:20:07 -05:00
1dfbd4eff2
-Add new preset dimensions to the right click menu of the width and height fields in the editor. -Change QSS stylesheets to properly handle tabs. -Make tabs rectangular by default. For some reason, they had always been triangular. --Bug fixes -Incremental rendering times in the editor were wrong. --Code changes -Migrate to Qt6. There is probably more work to be done here. -Migrate to VS2022. -Migrate to Wix 4 installer. -Change installer to install to program files for all users. -Fix many VS2022 code analysis warnings. -No longer use byte typedef, because std::byte is now a type. Revert all back to unsigned char. -Upgrade OpenCL headers to version 3.0 and keep locally now rather than trying to look for system files. -No longer link to Nvidia or AMD specific OpenCL libraries. Use the generic installer located at OCL_ROOT too. -Add the ability to change OpenCL grid dimensions. This was attempted for investigating possible performance improvments, but made no difference. This has not been verified on Linux or Mac yet.
546 lines
19 KiB
C++
546 lines
19 KiB
C++
#include "EmberPch.h"
|
|
#include "EmberDefines.h"
|
|
#include "Isaac.h"
|
|
#include "Utils.h"
|
|
|
|
namespace EmberNs
|
|
{
|
|
template<> unique_ptr<QTIsaac<ISAAC_SIZE, ISAAC_INT>> QTIsaac<ISAAC_SIZE, ISAAC_INT>::GlobalRand = unique_ptr<QTIsaac<ISAAC_SIZE, ISAAC_INT>>(new QTIsaac<ISAAC_SIZE, ISAAC_INT>());
|
|
template<> unique_ptr<recursive_mutex> QTIsaac<ISAAC_SIZE, ISAAC_INT>::s_CS = unique_ptr<recursive_mutex>(new recursive_mutex());
|
|
template EMBER_API class QTIsaac<ISAAC_SIZE, ISAAC_INT>;
|
|
bool Compat::m_Compat = true;
|
|
}
|
|
|
|
#include "Curves.h"
|
|
#include "Ember.h"
|
|
#include "Iterator.h"
|
|
#include "Palette.h"
|
|
#include "PaletteList.h"
|
|
#include "Point.h"
|
|
#include "VarFuncs.h"
|
|
#include "Variation.h"
|
|
#include "Variations01.h"
|
|
#include "Variations02.h"
|
|
#include "Variations03.h"
|
|
#include "Variations04.h"
|
|
#include "Variations05.h"
|
|
#include "Variations06.h"
|
|
#include "Variations07.h"
|
|
#include "Variations08.h"
|
|
#include "VariationsDC.h"
|
|
#include "VariationList.h"
|
|
#include "Affine2D.h"
|
|
#include "Xform.h"
|
|
#include "EmberMotion.h"
|
|
#include "EmberToXml.h"
|
|
#include "Spline.h"
|
|
#include "XmlToEmber.h"
|
|
#include "SpatialFilter.h"
|
|
#include "DensityFilter.h"
|
|
#include "TemporalFilter.h"
|
|
#include "Interpolate.h"
|
|
#include "Renderer.h"
|
|
#include "Timing.h"
|
|
#include "SheepTools.h"
|
|
|
|
/// <summary>
|
|
/// Explicit instantiation of all templated classes which aren't implemented in cpp files.
|
|
/// All new templated classes, such as new variations, must be added here.
|
|
/// Additional instances of static class member variables.
|
|
/// </summary>
|
|
namespace EmberNs
|
|
{
|
|
bool Timing::m_TimingInit = false;
|
|
uint Timing::m_ProcessorCount;
|
|
|
|
#define EXPORTPREPOSTREGVAR(varName, T) \
|
|
template class varName##Variation<T>; \
|
|
template class Pre##varName##Variation<T>; \
|
|
template class Post##varName##Variation<T>;
|
|
|
|
#define EXPORT_SINGLE_TYPE_EMBER(T) \
|
|
template<> bool XmlToEmber<T>::m_Init = false; \
|
|
template<> vector<string> XmlToEmber<T>::m_FlattenNames = vector<string>(); \
|
|
template<> unordered_map<string, string> XmlToEmber<T>::m_BadParamNames = unordered_map<string, string>(); \
|
|
template<> vector<pair<pair<string, string>, vector<string>>> XmlToEmber<T>::m_BadVariationNames = vector<pair<pair<string, string>, vector<string>>>(); \
|
|
template EMBER_API class Point<T>; \
|
|
template EMBER_API struct Color<T>; \
|
|
template EMBER_API class Iterator<T>; \
|
|
template EMBER_API class StandardIterator<T>; \
|
|
template EMBER_API class XaosIterator<T>; \
|
|
template EMBER_API class Xform<T>; \
|
|
template EMBER_API class MotionParam<T>; \
|
|
template EMBER_API class EmberMotion<T>; \
|
|
template EMBER_API class IteratorHelper<T>; \
|
|
template EMBER_API class VarFuncs<T>; \
|
|
template EMBER_API class Variation<T>; \
|
|
template EMBER_API class ParamWithName<T>; \
|
|
template EMBER_API class ParametricVariation<T>; \
|
|
EXPORTPREPOSTREGVAR(Linear, T) \
|
|
EXPORTPREPOSTREGVAR(Sinusoidal, T) \
|
|
EXPORTPREPOSTREGVAR(Spherical, T) \
|
|
EXPORTPREPOSTREGVAR(Swirl, T) \
|
|
EXPORTPREPOSTREGVAR(Swirl3, T) \
|
|
EXPORTPREPOSTREGVAR(Swirl3r, T) \
|
|
EXPORTPREPOSTREGVAR(Horseshoe, T) \
|
|
EXPORTPREPOSTREGVAR(Polar, T) \
|
|
EXPORTPREPOSTREGVAR(Handkerchief, T) \
|
|
EXPORTPREPOSTREGVAR(Heart, T) \
|
|
EXPORTPREPOSTREGVAR(Disc, T) \
|
|
EXPORTPREPOSTREGVAR(Spiral, T) \
|
|
EXPORTPREPOSTREGVAR(Hyperbolic, T) \
|
|
EXPORTPREPOSTREGVAR(Diamond, T) \
|
|
EXPORTPREPOSTREGVAR(Ex, T) \
|
|
EXPORTPREPOSTREGVAR(Julia, T) \
|
|
EXPORTPREPOSTREGVAR(Bent, T) \
|
|
EXPORTPREPOSTREGVAR(Waves, T) \
|
|
EXPORTPREPOSTREGVAR(Fisheye, T) \
|
|
EXPORTPREPOSTREGVAR(Popcorn, T) \
|
|
EXPORTPREPOSTREGVAR(Exponential, T) \
|
|
EXPORTPREPOSTREGVAR(Power, T) \
|
|
EXPORTPREPOSTREGVAR(Cosine, T) \
|
|
EXPORTPREPOSTREGVAR(Rings, T) \
|
|
EXPORTPREPOSTREGVAR(Fan, T) \
|
|
EXPORTPREPOSTREGVAR(Blob, T) \
|
|
EXPORTPREPOSTREGVAR(Pdj, T) \
|
|
EXPORTPREPOSTREGVAR(Fan2, T) \
|
|
EXPORTPREPOSTREGVAR(Rings2, T) \
|
|
EXPORTPREPOSTREGVAR(Eyefish, T) \
|
|
EXPORTPREPOSTREGVAR(Bubble, T) \
|
|
EXPORTPREPOSTREGVAR(Cylinder, T) \
|
|
EXPORTPREPOSTREGVAR(Perspective, T) \
|
|
EXPORTPREPOSTREGVAR(Noise, T) \
|
|
EXPORTPREPOSTREGVAR(JuliaNGeneric, T) \
|
|
EXPORTPREPOSTREGVAR(JuliaScope, T) \
|
|
EXPORTPREPOSTREGVAR(Blur, T) \
|
|
EXPORTPREPOSTREGVAR(GaussianBlur, T) \
|
|
EXPORTPREPOSTREGVAR(Gaussian, T) \
|
|
EXPORTPREPOSTREGVAR(RadialBlur, T) \
|
|
EXPORTPREPOSTREGVAR(Pie, T) \
|
|
EXPORTPREPOSTREGVAR(Ngon, T) \
|
|
EXPORTPREPOSTREGVAR(Curl, T) \
|
|
EXPORTPREPOSTREGVAR(Rectangles, T) \
|
|
EXPORTPREPOSTREGVAR(Arch, T) \
|
|
EXPORTPREPOSTREGVAR(Tangent, T) \
|
|
EXPORTPREPOSTREGVAR(Square, T) \
|
|
EXPORTPREPOSTREGVAR(Rays, T) \
|
|
EXPORTPREPOSTREGVAR(Rays1, T) \
|
|
EXPORTPREPOSTREGVAR(Rays2, T) \
|
|
EXPORTPREPOSTREGVAR(Rays3, T) \
|
|
EXPORTPREPOSTREGVAR(Blade, T) \
|
|
EXPORTPREPOSTREGVAR(Secant2, T) \
|
|
EXPORTPREPOSTREGVAR(TwinTrian, T) \
|
|
EXPORTPREPOSTREGVAR(Cross, T) \
|
|
EXPORTPREPOSTREGVAR(Disc2, T) \
|
|
EXPORTPREPOSTREGVAR(SuperShape, T) \
|
|
EXPORTPREPOSTREGVAR(Flower, T) \
|
|
EXPORTPREPOSTREGVAR(FlowerDb, T) \
|
|
EXPORTPREPOSTREGVAR(Conic, T) \
|
|
EXPORTPREPOSTREGVAR(Parabola, T) \
|
|
EXPORTPREPOSTREGVAR(Bent2, T) \
|
|
EXPORTPREPOSTREGVAR(Bipolar, T) \
|
|
EXPORTPREPOSTREGVAR(Boarders, T) \
|
|
EXPORTPREPOSTREGVAR(Butterfly, T) \
|
|
EXPORTPREPOSTREGVAR(Cell, T) \
|
|
EXPORTPREPOSTREGVAR(Cpow, T) \
|
|
EXPORTPREPOSTREGVAR(Curve, T) \
|
|
EXPORTPREPOSTREGVAR(Edisc, T) \
|
|
EXPORTPREPOSTREGVAR(Elliptic, T) \
|
|
EXPORTPREPOSTREGVAR(Escher, T) \
|
|
EXPORTPREPOSTREGVAR(Foci, T) \
|
|
EXPORTPREPOSTREGVAR(LazySusan, T) \
|
|
EXPORTPREPOSTREGVAR(Loonie, T) \
|
|
EXPORTPREPOSTREGVAR(Modulus, T) \
|
|
EXPORTPREPOSTREGVAR(Oscilloscope, T) \
|
|
EXPORTPREPOSTREGVAR(Oscilloscope2, T) \
|
|
EXPORTPREPOSTREGVAR(Polar2, T) \
|
|
EXPORTPREPOSTREGVAR(Popcorn2, T) \
|
|
EXPORTPREPOSTREGVAR(Scry, T) \
|
|
EXPORTPREPOSTREGVAR(Scry2, T) \
|
|
EXPORTPREPOSTREGVAR(Separation, T) \
|
|
EXPORTPREPOSTREGVAR(Split, T) \
|
|
EXPORTPREPOSTREGVAR(Splits, T) \
|
|
EXPORTPREPOSTREGVAR(Stripes, T) \
|
|
EXPORTPREPOSTREGVAR(Wedge, T) \
|
|
EXPORTPREPOSTREGVAR(WedgeJulia, T) \
|
|
EXPORTPREPOSTREGVAR(WedgeSph, T) \
|
|
EXPORTPREPOSTREGVAR(Whorl, T) \
|
|
EXPORTPREPOSTREGVAR(Waves2, T) \
|
|
EXPORTPREPOSTREGVAR(Exp, T) \
|
|
EXPORTPREPOSTREGVAR(Exp2, T) \
|
|
EXPORTPREPOSTREGVAR(Log, T) \
|
|
EXPORTPREPOSTREGVAR(Sin, T) \
|
|
EXPORTPREPOSTREGVAR(Cos, T) \
|
|
EXPORTPREPOSTREGVAR(Tan, T) \
|
|
EXPORTPREPOSTREGVAR(Sec, T) \
|
|
EXPORTPREPOSTREGVAR(Csc, T) \
|
|
EXPORTPREPOSTREGVAR(Cot, T) \
|
|
EXPORTPREPOSTREGVAR(Sinh, T) \
|
|
EXPORTPREPOSTREGVAR(Cosh, T) \
|
|
EXPORTPREPOSTREGVAR(Tanh, T) \
|
|
EXPORTPREPOSTREGVAR(TanhSpiral, T) \
|
|
EXPORTPREPOSTREGVAR(Sech, T) \
|
|
EXPORTPREPOSTREGVAR(Csch, T) \
|
|
EXPORTPREPOSTREGVAR(Coth, T) \
|
|
EXPORTPREPOSTREGVAR(Auger, T) \
|
|
EXPORTPREPOSTREGVAR(Flux, T) \
|
|
EXPORTPREPOSTREGVAR(Hemisphere, T) \
|
|
EXPORTPREPOSTREGVAR(Epispiral, T) \
|
|
EXPORTPREPOSTREGVAR(Bwraps, T) \
|
|
EXPORTPREPOSTREGVAR(BwrapsRand, T) \
|
|
EXPORTPREPOSTREGVAR(Extrude, T) \
|
|
EXPORTPREPOSTREGVAR(BlurCircle, T) \
|
|
EXPORTPREPOSTREGVAR(BlurZoom, T) \
|
|
EXPORTPREPOSTREGVAR(BlurPixelize, T) \
|
|
EXPORTPREPOSTREGVAR(Crop, T) \
|
|
EXPORTPREPOSTREGVAR(BCircle, T) \
|
|
EXPORTPREPOSTREGVAR(BlurLinear, T) \
|
|
EXPORTPREPOSTREGVAR(BlurSquare, T) \
|
|
EXPORTPREPOSTREGVAR(Boarders2, T) \
|
|
EXPORTPREPOSTREGVAR(Cardioid, T) \
|
|
EXPORTPREPOSTREGVAR(Checks, T) \
|
|
EXPORTPREPOSTREGVAR(Circlize, T) \
|
|
EXPORTPREPOSTREGVAR(Circlize2, T) \
|
|
EXPORTPREPOSTREGVAR(CosWrap, T) \
|
|
EXPORTPREPOSTREGVAR(DeltaA, T) \
|
|
EXPORTPREPOSTREGVAR(Expo, T) \
|
|
EXPORTPREPOSTREGVAR(FDisc, T) \
|
|
EXPORTPREPOSTREGVAR(Fibonacci, T) \
|
|
EXPORTPREPOSTREGVAR(Fibonacci2, T) \
|
|
EXPORTPREPOSTREGVAR(Glynnia, T) \
|
|
EXPORTPREPOSTREGVAR(Glynnia2, T) \
|
|
EXPORTPREPOSTREGVAR(GridOut, T) \
|
|
EXPORTPREPOSTREGVAR(Hole, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile1, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile2, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile3D, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile3D1, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile3D2, T) \
|
|
EXPORTPREPOSTREGVAR(IDisc, T) \
|
|
EXPORTPREPOSTREGVAR(Julian2, T) \
|
|
EXPORTPREPOSTREGVAR(JuliaQ, T) \
|
|
EXPORTPREPOSTREGVAR(Murl, T) \
|
|
EXPORTPREPOSTREGVAR(Murl2, T) \
|
|
EXPORTPREPOSTREGVAR(NPolar, T) \
|
|
EXPORTPREPOSTREGVAR(Ortho, T) \
|
|
EXPORTPREPOSTREGVAR(Poincare, T) \
|
|
EXPORTPREPOSTREGVAR(Poincare3D, T) \
|
|
EXPORTPREPOSTREGVAR(Polynomial, T) \
|
|
EXPORTPREPOSTREGVAR(PSphere, T) \
|
|
EXPORTPREPOSTREGVAR(Rational3, T) \
|
|
EXPORTPREPOSTREGVAR(Ripple, T) \
|
|
EXPORTPREPOSTREGVAR(Sigmoid, T) \
|
|
EXPORTPREPOSTREGVAR(SinusGrid, T) \
|
|
EXPORTPREPOSTREGVAR(Stwin, T) \
|
|
EXPORTPREPOSTREGVAR(TwoFace, T) \
|
|
EXPORTPREPOSTREGVAR(Unpolar, T) \
|
|
EXPORTPREPOSTREGVAR(WavesN, T) \
|
|
EXPORTPREPOSTREGVAR(XHeart, T) \
|
|
EXPORTPREPOSTREGVAR(Barycentroid, T) \
|
|
EXPORTPREPOSTREGVAR(BiSplit, T) \
|
|
EXPORTPREPOSTREGVAR(Crescents, T) \
|
|
EXPORTPREPOSTREGVAR(Mask, T) \
|
|
EXPORTPREPOSTREGVAR(Cpow2, T) \
|
|
EXPORTPREPOSTREGVAR(Curl3D, T) \
|
|
EXPORTPREPOSTREGVAR(Disc3D, T) \
|
|
EXPORTPREPOSTREGVAR(Funnel, T) \
|
|
EXPORTPREPOSTREGVAR(Linear3D, T) \
|
|
EXPORTPREPOSTREGVAR(PowBlock, T) \
|
|
EXPORTPREPOSTREGVAR(Squirrel, T) \
|
|
EXPORTPREPOSTREGVAR(Ennepers, T) \
|
|
EXPORTPREPOSTREGVAR(SphericalN, T) \
|
|
EXPORTPREPOSTREGVAR(Kaleidoscope, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim1, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim2, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim3, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim4, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim5, T) \
|
|
EXPORTPREPOSTREGVAR(Starblur, T) \
|
|
EXPORTPREPOSTREGVAR(Sineblur, T) \
|
|
EXPORTPREPOSTREGVAR(Circleblur, T) \
|
|
EXPORTPREPOSTREGVAR(CropN, T) \
|
|
EXPORTPREPOSTREGVAR(ShredRad, T) \
|
|
EXPORTPREPOSTREGVAR(Blob2, T) \
|
|
EXPORTPREPOSTREGVAR(Julia3D, T) \
|
|
EXPORTPREPOSTREGVAR(Julia3Dz, T) \
|
|
EXPORTPREPOSTREGVAR(LinearT, T) \
|
|
EXPORTPREPOSTREGVAR(LinearT3D, T) \
|
|
EXPORTPREPOSTREGVAR(Ovoid, T) \
|
|
EXPORTPREPOSTREGVAR(Ovoid3D, T) \
|
|
EXPORTPREPOSTREGVAR(Spirograph, T) \
|
|
EXPORTPREPOSTREGVAR(Petal, T) \
|
|
EXPORTPREPOSTREGVAR(Spher, T) \
|
|
EXPORTPREPOSTREGVAR(RoundSpher, T) \
|
|
EXPORTPREPOSTREGVAR(RoundSpher3D, T) \
|
|
EXPORTPREPOSTREGVAR(SpiralWing, T) \
|
|
EXPORTPREPOSTREGVAR(Squarize, T) \
|
|
EXPORTPREPOSTREGVAR(Sschecks, T) \
|
|
EXPORTPREPOSTREGVAR(PhoenixJulia, T) \
|
|
EXPORTPREPOSTREGVAR(Mobius, T) \
|
|
EXPORTPREPOSTREGVAR(MobiusN, T) \
|
|
EXPORTPREPOSTREGVAR(MobiusStrip, T) \
|
|
EXPORTPREPOSTREGVAR(Lissajous, T) \
|
|
EXPORTPREPOSTREGVAR(Svf, T) \
|
|
EXPORTPREPOSTREGVAR(Target, T) \
|
|
EXPORTPREPOSTREGVAR(Target0, T) \
|
|
EXPORTPREPOSTREGVAR(Target2, T) \
|
|
EXPORTPREPOSTREGVAR(Taurus, T) \
|
|
EXPORTPREPOSTREGVAR(Collideoscope, T) \
|
|
EXPORTPREPOSTREGVAR(BMod, T) \
|
|
EXPORTPREPOSTREGVAR(BSwirl, T) \
|
|
EXPORTPREPOSTREGVAR(BTransform, T) \
|
|
EXPORTPREPOSTREGVAR(BCollide, T) \
|
|
EXPORTPREPOSTREGVAR(Eclipse, T) \
|
|
EXPORTPREPOSTREGVAR(FlipCircle, T) \
|
|
EXPORTPREPOSTREGVAR(FlipX, T) \
|
|
EXPORTPREPOSTREGVAR(FlipY, T) \
|
|
EXPORTPREPOSTREGVAR(ECollide, T) \
|
|
EXPORTPREPOSTREGVAR(EJulia, T) \
|
|
EXPORTPREPOSTREGVAR(EMod, T) \
|
|
EXPORTPREPOSTREGVAR(EMotion, T) \
|
|
EXPORTPREPOSTREGVAR(EPush, T) \
|
|
EXPORTPREPOSTREGVAR(ERotate, T) \
|
|
EXPORTPREPOSTREGVAR(EScale, T) \
|
|
EXPORTPREPOSTREGVAR(ESwirl, T) \
|
|
EXPORTPREPOSTREGVAR(LazyJess, T) \
|
|
EXPORTPREPOSTREGVAR(LazyTravis, T) \
|
|
EXPORTPREPOSTREGVAR(Squish, T) \
|
|
EXPORTPREPOSTREGVAR(Circus, T) \
|
|
EXPORTPREPOSTREGVAR(Tancos, T) \
|
|
EXPORTPREPOSTREGVAR(Rippled, T) \
|
|
EXPORTPREPOSTREGVAR(Flatten, T) \
|
|
EXPORTPREPOSTREGVAR(Zblur, T) \
|
|
EXPORTPREPOSTREGVAR(Blur3D, T) \
|
|
EXPORTPREPOSTREGVAR(ZScale, T) \
|
|
EXPORTPREPOSTREGVAR(ZTranslate, T) \
|
|
EXPORTPREPOSTREGVAR(ZCone, T) \
|
|
EXPORTPREPOSTREGVAR(RotateX, T) \
|
|
EXPORTPREPOSTREGVAR(RotateY, T) \
|
|
EXPORTPREPOSTREGVAR(RotateZ, T) \
|
|
EXPORTPREPOSTREGVAR(MirrorX, T) \
|
|
EXPORTPREPOSTREGVAR(MirrorY, T) \
|
|
EXPORTPREPOSTREGVAR(MirrorZ, T) \
|
|
EXPORTPREPOSTREGVAR(Depth, T) \
|
|
EXPORTPREPOSTREGVAR(RBlur, T) \
|
|
EXPORTPREPOSTREGVAR(JuliaNab, T) \
|
|
EXPORTPREPOSTREGVAR(Sintrange, T) \
|
|
EXPORTPREPOSTREGVAR(Voron, T) \
|
|
EXPORTPREPOSTREGVAR(Waffle, T) \
|
|
EXPORTPREPOSTREGVAR(Square3D, T) \
|
|
EXPORTPREPOSTREGVAR(SuperShape3D, T) \
|
|
EXPORTPREPOSTREGVAR(Sphyp3D, T) \
|
|
EXPORTPREPOSTREGVAR(Circlecrop, T) \
|
|
EXPORTPREPOSTREGVAR(Circlecrop2, T) \
|
|
EXPORTPREPOSTREGVAR(Julian3Dx, T) \
|
|
EXPORTPREPOSTREGVAR(Fourth, T) \
|
|
EXPORTPREPOSTREGVAR(Mobiq, T) \
|
|
EXPORTPREPOSTREGVAR(Spherivoid, T) \
|
|
EXPORTPREPOSTREGVAR(Farblur, T) \
|
|
EXPORTPREPOSTREGVAR(CurlSP, T) \
|
|
EXPORTPREPOSTREGVAR(Heat, T) \
|
|
EXPORTPREPOSTREGVAR(Interference2, T) \
|
|
EXPORTPREPOSTREGVAR(Sinq, T) \
|
|
EXPORTPREPOSTREGVAR(Sinhq, T) \
|
|
EXPORTPREPOSTREGVAR(Secq, T) \
|
|
EXPORTPREPOSTREGVAR(Sechq, T) \
|
|
EXPORTPREPOSTREGVAR(Tanq, T) \
|
|
EXPORTPREPOSTREGVAR(Tanhq, T) \
|
|
EXPORTPREPOSTREGVAR(Cosq, T) \
|
|
EXPORTPREPOSTREGVAR(Coshq, T) \
|
|
EXPORTPREPOSTREGVAR(Cotq, T) \
|
|
EXPORTPREPOSTREGVAR(Cothq, T) \
|
|
EXPORTPREPOSTREGVAR(Cscq, T) \
|
|
EXPORTPREPOSTREGVAR(Cschq, T) \
|
|
EXPORTPREPOSTREGVAR(Estiq, T) \
|
|
EXPORTPREPOSTREGVAR(Loq, T) \
|
|
EXPORTPREPOSTREGVAR(Curvature, T) \
|
|
EXPORTPREPOSTREGVAR(Qode, T) \
|
|
EXPORTPREPOSTREGVAR(BlurHeart, T) \
|
|
EXPORTPREPOSTREGVAR(Gdoffs, T) \
|
|
EXPORTPREPOSTREGVAR(Octagon, T) \
|
|
EXPORTPREPOSTREGVAR(Trade, T) \
|
|
EXPORTPREPOSTREGVAR(Juliac, T) \
|
|
EXPORTPREPOSTREGVAR(Blade3D, T) \
|
|
EXPORTPREPOSTREGVAR(Blob3D, T) \
|
|
EXPORTPREPOSTREGVAR(Block, T) \
|
|
EXPORTPREPOSTREGVAR(Blocky, T) \
|
|
EXPORTPREPOSTREGVAR(Bubble2, T) \
|
|
EXPORTPREPOSTREGVAR(CircleLinear, T) \
|
|
EXPORTPREPOSTREGVAR(CircleRand, T) \
|
|
EXPORTPREPOSTREGVAR(CircleTrans1, T) \
|
|
EXPORTPREPOSTREGVAR(Cubic3D, T) \
|
|
EXPORTPREPOSTREGVAR(CubicLattice3D, T) \
|
|
EXPORTPREPOSTREGVAR(Foci3D, T) \
|
|
EXPORTPREPOSTREGVAR(FociP, T) \
|
|
EXPORTPREPOSTREGVAR(Ho, T) \
|
|
EXPORTPREPOSTREGVAR(Julia3Dq, T) \
|
|
EXPORTPREPOSTREGVAR(Line, T) \
|
|
EXPORTPREPOSTREGVAR(Loonie2, T) \
|
|
EXPORTPREPOSTREGVAR(Loonie3, T) \
|
|
EXPORTPREPOSTREGVAR(Loonie3D, T) \
|
|
EXPORTPREPOSTREGVAR(Mcarpet, T) \
|
|
EXPORTPREPOSTREGVAR(Waves23D, T) \
|
|
EXPORTPREPOSTREGVAR(Pie3D, T) \
|
|
EXPORTPREPOSTREGVAR(Popcorn23D, T) \
|
|
EXPORTPREPOSTREGVAR(Sinusoidal3D, T) \
|
|
EXPORTPREPOSTREGVAR(Scry3D, T) \
|
|
EXPORTPREPOSTREGVAR(Shredlin, T) \
|
|
EXPORTPREPOSTREGVAR(SplitBrdr, T) \
|
|
EXPORTPREPOSTREGVAR(Wdisc, T) \
|
|
EXPORTPREPOSTREGVAR(Falloff, T) \
|
|
EXPORTPREPOSTREGVAR(Falloff2, T) \
|
|
EXPORTPREPOSTREGVAR(Falloff3, T) \
|
|
EXPORTPREPOSTREGVAR(Xtrb, T) \
|
|
EXPORTPREPOSTREGVAR(Hexaplay3D, T) \
|
|
EXPORTPREPOSTREGVAR(Hexnix3D, T) \
|
|
EXPORTPREPOSTREGVAR(Hexcrop, T) \
|
|
EXPORTPREPOSTREGVAR(Hexes, T) \
|
|
EXPORTPREPOSTREGVAR(Nblur, T) \
|
|
EXPORTPREPOSTREGVAR(Octapol, T) \
|
|
EXPORTPREPOSTREGVAR(Crob, T) \
|
|
EXPORTPREPOSTREGVAR(BubbleT3D, T) \
|
|
EXPORTPREPOSTREGVAR(Synth, T) \
|
|
EXPORTPREPOSTREGVAR(Crackle, T) \
|
|
EXPORTPREPOSTREGVAR(Crackle2, T) \
|
|
EXPORTPREPOSTREGVAR(Erf, T) \
|
|
EXPORTPREPOSTREGVAR(Xerf, T) \
|
|
EXPORTPREPOSTREGVAR(W, T) \
|
|
EXPORTPREPOSTREGVAR(X, T) \
|
|
EXPORTPREPOSTREGVAR(Y, T) \
|
|
EXPORTPREPOSTREGVAR(Z, T) \
|
|
EXPORTPREPOSTREGVAR(Splits3D, T) \
|
|
EXPORTPREPOSTREGVAR(Waves2B, T) \
|
|
EXPORTPREPOSTREGVAR(JacCn, T) \
|
|
EXPORTPREPOSTREGVAR(JacDn, T) \
|
|
EXPORTPREPOSTREGVAR(JacSn, T) \
|
|
EXPORTPREPOSTREGVAR(PressureWave, T) \
|
|
EXPORTPREPOSTREGVAR(Gamma, T) \
|
|
EXPORTPREPOSTREGVAR(PRose3D, T) \
|
|
EXPORTPREPOSTREGVAR(LogDB, T) \
|
|
EXPORTPREPOSTREGVAR(CircleSplit, T) \
|
|
EXPORTPREPOSTREGVAR(Cylinder2, T) \
|
|
EXPORTPREPOSTREGVAR(TileLog, T) \
|
|
EXPORTPREPOSTREGVAR(TileHlp, T) \
|
|
EXPORTPREPOSTREGVAR(Truchet, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetFill, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetHexFill, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetHexCrop, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetGlyph, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetInv, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetKnot, T) \
|
|
EXPORTPREPOSTREGVAR(Waves2Radial, T) \
|
|
EXPORTPREPOSTREGVAR(Panorama1, T) \
|
|
EXPORTPREPOSTREGVAR(Panorama2, T) \
|
|
EXPORTPREPOSTREGVAR(Helicoid, T) \
|
|
EXPORTPREPOSTREGVAR(Helix, T) \
|
|
EXPORTPREPOSTREGVAR(Sphereblur, T) \
|
|
EXPORTPREPOSTREGVAR(Cpow3, T) \
|
|
EXPORTPREPOSTREGVAR(Concentric, T) \
|
|
EXPORTPREPOSTREGVAR(Hypercrop, T) \
|
|
EXPORTPREPOSTREGVAR(Hypershift, T) \
|
|
EXPORTPREPOSTREGVAR(Hypershift2, T) \
|
|
EXPORTPREPOSTREGVAR(Lens, T) \
|
|
EXPORTPREPOSTREGVAR(Projective, T) \
|
|
EXPORTPREPOSTREGVAR(DepthBlur, T) \
|
|
EXPORTPREPOSTREGVAR(DepthBlur2, T) \
|
|
EXPORTPREPOSTREGVAR(DepthGaussian, T) \
|
|
EXPORTPREPOSTREGVAR(DepthGaussian2, T) \
|
|
EXPORTPREPOSTREGVAR(DepthNgon, T) \
|
|
EXPORTPREPOSTREGVAR(DepthNgon2, T) \
|
|
EXPORTPREPOSTREGVAR(DepthSine, T) \
|
|
EXPORTPREPOSTREGVAR(DepthSine2, T) \
|
|
EXPORTPREPOSTREGVAR(CothSpiral, T) \
|
|
EXPORTPREPOSTREGVAR(Dust, T) \
|
|
EXPORTPREPOSTREGVAR(Asteria, T) \
|
|
EXPORTPREPOSTREGVAR(Pulse, T) \
|
|
EXPORTPREPOSTREGVAR(Excinis, T) \
|
|
EXPORTPREPOSTREGVAR(Vibration, T) \
|
|
EXPORTPREPOSTREGVAR(Vibration2, T) \
|
|
EXPORTPREPOSTREGVAR(Arcsech, T) \
|
|
EXPORTPREPOSTREGVAR(Arcsech2, T) \
|
|
EXPORTPREPOSTREGVAR(Arcsinh, T) \
|
|
EXPORTPREPOSTREGVAR(Arctanh, T) \
|
|
EXPORTPREPOSTREGVAR(HexTruchet, T) \
|
|
EXPORTPREPOSTREGVAR(HexRand, T) \
|
|
EXPORTPREPOSTREGVAR(Smartshape, T) \
|
|
EXPORTPREPOSTREGVAR(Squares, T) \
|
|
EXPORTPREPOSTREGVAR(Starblur2, T) \
|
|
EXPORTPREPOSTREGVAR(UnicornGaloshen, T) \
|
|
EXPORTPREPOSTREGVAR(Dragonfire, T) \
|
|
EXPORTPREPOSTREGVAR(Henon, T) \
|
|
EXPORTPREPOSTREGVAR(Lozi, T) \
|
|
EXPORTPREPOSTREGVAR(PointSymmetry, T) \
|
|
EXPORTPREPOSTREGVAR(DSpherical, T) \
|
|
EXPORTPREPOSTREGVAR(Modulusx, T) \
|
|
EXPORTPREPOSTREGVAR(Modulusy, T) \
|
|
EXPORTPREPOSTREGVAR(Rotate, T) \
|
|
EXPORTPREPOSTREGVAR(Shift, T) \
|
|
template EMBER_API class PostSmartcropVariation<T>; /*Only implemented as post.*/ \
|
|
EXPORTPREPOSTREGVAR(DCBubble, T) \
|
|
EXPORTPREPOSTREGVAR(DCCarpet, T) \
|
|
EXPORTPREPOSTREGVAR(DCCube, T) \
|
|
EXPORTPREPOSTREGVAR(DCCylinder, T) \
|
|
EXPORTPREPOSTREGVAR(DCGridOut, T) \
|
|
EXPORTPREPOSTREGVAR(DCLinear, T) \
|
|
EXPORTPREPOSTREGVAR(DCPerlin, T) \
|
|
EXPORTPREPOSTREGVAR(DCZTransl, T) \
|
|
EXPORTPREPOSTREGVAR(DCTriangle, T) \
|
|
EXPORTPREPOSTREGVAR(RandCubes, T) \
|
|
EXPORTPREPOSTREGVAR(PixelFlow, T) \
|
|
EXPORTPREPOSTREGVAR(Waves22, T) \
|
|
EXPORTPREPOSTREGVAR(Waves23, T) \
|
|
EXPORTPREPOSTREGVAR(Waves42, T) \
|
|
EXPORTPREPOSTREGVAR(Waves3, T) \
|
|
EXPORTPREPOSTREGVAR(Waves4, T) \
|
|
EXPORTPREPOSTREGVAR(Gnarly, T) \
|
|
EXPORTPREPOSTREGVAR(Inkdrop, T) \
|
|
EXPORTPREPOSTREGVAR(HexModulus, T) \
|
|
EXPORTPREPOSTREGVAR(Vignette, T) \
|
|
template EMBER_API class VariationList<T>; \
|
|
template EMBER_API class SpatialFilter<T>; \
|
|
template EMBER_API class GaussianFilter<T>; \
|
|
template EMBER_API class HermiteFilter<T>; \
|
|
template EMBER_API class BoxFilter<T>; \
|
|
template EMBER_API class TriangleFilter<T>; \
|
|
template EMBER_API class BellFilter<T>; \
|
|
template EMBER_API class BsplineFilter<T>; \
|
|
template EMBER_API class MitchellFilter<T>; \
|
|
template EMBER_API class BlackmanFilter<T>; \
|
|
template EMBER_API class CatromFilter<T>; \
|
|
template EMBER_API class HanningFilter<T>; \
|
|
template EMBER_API class HammingFilter<T>; \
|
|
template EMBER_API class Lanczos3Filter<T>; \
|
|
template EMBER_API class Lanczos2Filter<T>; \
|
|
template EMBER_API class QuadraticFilter<T>; \
|
|
template EMBER_API class DensityFilter<T>; \
|
|
template EMBER_API class TemporalFilter<T>; \
|
|
template EMBER_API class ExpTemporalFilter<T>; \
|
|
template EMBER_API class GaussianTemporalFilter<T>; \
|
|
template EMBER_API class BoxTemporalFilter<T>; \
|
|
template EMBER_API class SpatialFilterCreator<T>; \
|
|
template EMBER_API class TemporalFilterCreator<T>; \
|
|
template EMBER_API class Interpolater<T>; \
|
|
template EMBER_API class Ember<T>; \
|
|
template EMBER_API class CarToRas<T>; \
|
|
template EMBER_API class Curves<T>; \
|
|
template EMBER_API class XmlToEmber<T>; \
|
|
template EMBER_API class EmberToXml<T>;
|
|
|
|
#define EXPORT_TWO_TYPE_EMBER(T, bucketT) \
|
|
template EMBER_API class SheepTools<T, bucketT>;
|
|
|
|
EXPORT_SINGLE_TYPE_EMBER(float)
|
|
EXPORT_TWO_TYPE_EMBER(float, float)
|
|
|
|
//Only ever use float palettes.
|
|
template EMBER_API class Palette<float>;
|
|
template EMBER_API class PaletteList<float>;
|
|
template EMBER_API class Spline<float>;
|
|
|
|
#ifdef DO_DOUBLE
|
|
EXPORT_SINGLE_TYPE_EMBER(double)
|
|
EXPORT_TWO_TYPE_EMBER(double, float)
|
|
#endif
|
|
}
|