Search in sources :

Example 26 with Layer

use of org.jwildfire.create.tina.base.Layer in project JWildfire by thargor6.

the class AbstractAffine3DRandomFlameGenerator method scaleXForm.

protected void scaleXForm(Flame pFlame, int idx, double offset, double amp0) {
    Layer layer = pFlame.getFirstLayer();
    if (layer.getXForms().size() > idx) {
        pFlame.setEditPlane(EditPlane.ZX);
        XForm xform = layer.getXForms().get(idx);
        XFormTransformService.scale(xform, offset + (0.5 - Math.random()) * amp0, true, true);
        pFlame.setEditPlane(EditPlane.XY);
    }
}
Also used : XForm(org.jwildfire.create.tina.base.XForm) Layer(org.jwildfire.create.tina.base.Layer)

Example 27 with Layer

use of org.jwildfire.create.tina.base.Layer in project JWildfire by thargor6.

the class BlackAndWhiteRandomFlameGenerator method postProcessFlameBeforeRendering.

@Override
protected Flame postProcessFlameBeforeRendering(RandomFlameGeneratorState pState, Flame pFlame) {
    if (Math.random() < 0.42) {
        if (Math.random() < 0.5) {
            pFlame.setBgColorType(BGColorType.SINGLE_COLOR);
            pFlame.setBgColorRed(0);
            pFlame.setBgColorGreen(0);
            pFlame.setBgColorBlue(0);
        } else {
            pFlame.setBgColorType(BGColorType.GRADIENT_2X2);
            pFlame.setBgColorRed((int) (Math.random() * 64));
            pFlame.setBgColorGreen((int) (Math.random() * 64));
            pFlame.setBgColorBlue((int) (Math.random() * 64));
        }
        List<RGBColor> colors = new ArrayList<RGBColor>();
        colors.add(new RGBColor(255, 255, 255));
        RGBPalette gradient = RandomGradientGenerator.generatePalette(colors, true, true);
        for (Layer layer : pFlame.getLayers()) {
            layer.setPalette(gradient);
        }
    } else {
        if (Math.random() < 0.5) {
            pFlame.setBgColorType(BGColorType.SINGLE_COLOR);
            pFlame.setBgColorRed(255);
            pFlame.setBgColorGreen(255);
            pFlame.setBgColorBlue(255);
        } else {
            pFlame.setBgColorType(BGColorType.GRADIENT_2X2);
            pFlame.setBgColorRed((int) (255 - Math.random() * 64));
            pFlame.setBgColorGreen((int) (255 - Math.random() * 64));
            pFlame.setBgColorBlue((int) (255 - Math.random() * 64));
        }
        List<RGBColor> colors = new ArrayList<RGBColor>();
        colors.add(new RGBColor(0, 0, 0));
        RGBPalette gradient = RandomGradientGenerator.generatePalette(colors, true, true);
        for (Layer layer : pFlame.getLayers()) {
            layer.setPalette(gradient);
        }
    }
    pFlame.setGamma(0.45 + Math.random() * 1.5);
    pFlame.setGammaThreshold(0.2 * Math.random());
    pFlame.setSaturation(1.0);
    pFlame.setBrightness(3.0 + Math.random() * 2.0);
    pFlame.setContrast(2.5);
    pFlame.setBGTransparency(false);
    return pFlame;
}
Also used : RGBPalette(org.jwildfire.create.tina.palette.RGBPalette) RGBColor(org.jwildfire.create.tina.palette.RGBColor) ArrayList(java.util.ArrayList) Layer(org.jwildfire.create.tina.base.Layer)

Example 28 with Layer

use of org.jwildfire.create.tina.base.Layer in project JWildfire by thargor6.

the class RectDOFBlurShape method prepare.

@Override
public void prepare(FlameTransformationContext pFlameTransformationContext, AbstractRandomGenerator pRandGen, double pCamDOF_10) {
    super.prepare(pFlameTransformationContext, pRandGen, pCamDOF_10);
    s = new XYZPoint();
    d = new XYZPoint();
    xform = new XForm();
    fnc = new SquareFunc();
    fnc.init(pFlameTransformationContext, new Layer(), xform, 1.0);
    width = params.get(PARAM_WIDTH);
}
Also used : SquareFunc(org.jwildfire.create.tina.variation.SquareFunc) XForm(org.jwildfire.create.tina.base.XForm) XYZPoint(org.jwildfire.create.tina.base.XYZPoint) Layer(org.jwildfire.create.tina.base.Layer)

Example 29 with Layer

use of org.jwildfire.create.tina.base.Layer in project JWildfire by thargor6.

the class HeartDOFBlurShape method prepare.

@Override
public void prepare(FlameTransformationContext pFlameTransformationContext, AbstractRandomGenerator pRandGen, double pCamDOF_10) {
    super.prepare(pFlameTransformationContext, pRandGen, pCamDOF_10);
    s = new XYZPoint();
    d = new XYZPoint();
    xform = new XForm();
    fnc = new XHeartBlurWFFunc();
    for (String paramName : getParamNames()) {
        fnc.setParameter(paramName, params.get(paramName));
    }
    fnc.init(pFlameTransformationContext, new Layer(), xform, 1.0);
}
Also used : XHeartBlurWFFunc(org.jwildfire.create.tina.variation.XHeartBlurWFFunc) XForm(org.jwildfire.create.tina.base.XForm) XYZPoint(org.jwildfire.create.tina.base.XYZPoint) Layer(org.jwildfire.create.tina.base.Layer)

Example 30 with Layer

use of org.jwildfire.create.tina.base.Layer in project JWildfire by thargor6.

the class IFlamesController method createNewFlame.

private Flame createNewFlame() {
    Flame flame = new Flame();
    flame.setBGTransparency(prefs.isTinaDefaultBGTransparency());
    flame.setCamRoll(0);
    flame.setCamPitch(0);
    flame.setCamYaw(0);
    flame.setCamPerspective(0);
    flame.setWidth(800);
    flame.setHeight(600);
    flame.setCamZoom(1);
    {
        Layer layer = flame.getFirstLayer();
        new RandomGradientMutation().execute(layer);
        XForm xForm = new XForm();
        layer.getXForms().add(xForm);
        xForm.setWeight(0.5);
        IFlamesFunc iflames = (IFlamesFunc) VariationFuncList.getVariationFuncInstance("iflames_wf", true);
        if (imageLibrary.size() > 0) {
            String imgFilename = imageLibrary.get((int) (Math.random() * imageLibrary.size())).getFilename();
            iflames.getImageParams().setImageFilename(imgFilename);
        }
        if (flameLibrary.size() > 0) {
            for (int i = 0; i < IFlamesFunc.MAX_FLAME_COUNT; i++) {
                if (i > 1 && Math.random() < 0.33) {
                    iflames.getFlameParams(i).setFlameXML(null);
                } else if (Math.random() < 0.50) {
                    Flame libFlame = flameLibrary.get((int) (Math.random() * flameLibrary.size())).getFlame();
                    String libFlameXML;
                    try {
                        libFlameXML = new FlameWriter().getFlameXML(libFlame);
                    } catch (Exception e) {
                        libFlameXML = null;
                        e.printStackTrace();
                    }
                    iflames.getFlameParams(i).setFlameXML(libFlameXML);
                }
            }
        }
        if (Math.random() < 0.5) {
            iflames.getImageParams().setShape_distribution(ShapeDistribution.HUE);
        } else {
            iflames.getImageParams().setShape_distribution(ShapeDistribution.RANDOM);
        }
        for (int i = 0; i < IFlamesFunc.MAX_FLAME_COUNT; i++) {
            iflames.getFlameParams(i).setSize(2.0 + Math.random() * 4.0);
        }
        iflames.getMotionParams().setPreview(previewButton.isSelected() ? 1 : 0);
        xForm.addVariation(1.0, iflames);
    }
    return flame.makeCopy();
}
Also used : FlameWriter(org.jwildfire.create.tina.io.FlameWriter) XForm(org.jwildfire.create.tina.base.XForm) RandomGradientMutation(org.jwildfire.create.tina.mutagen.RandomGradientMutation) Layer(org.jwildfire.create.tina.base.Layer) IFlamesFunc(org.jwildfire.create.tina.variation.iflames.IFlamesFunc) Flame(org.jwildfire.create.tina.base.Flame) RenderedFlame(org.jwildfire.create.tina.render.RenderedFlame)

Aggregations

Layer (org.jwildfire.create.tina.base.Layer)105 XForm (org.jwildfire.create.tina.base.XForm)73 Flame (org.jwildfire.create.tina.base.Flame)63 VariationFunc (org.jwildfire.create.tina.variation.VariationFunc)31 XYZPoint (org.jwildfire.create.tina.base.XYZPoint)16 RenderedFlame (org.jwildfire.create.tina.render.RenderedFlame)13 RGBPalette (org.jwildfire.create.tina.palette.RGBPalette)9 ArrayList (java.util.ArrayList)8 FlameWriter (org.jwildfire.create.tina.io.FlameWriter)5 RandomGradientMutation (org.jwildfire.create.tina.mutagen.RandomGradientMutation)4 Linear3DFunc (org.jwildfire.create.tina.variation.Linear3DFunc)4 DefaultTableModel (javax.swing.table.DefaultTableModel)2 Test (org.junit.Test)2 QualityProfile (org.jwildfire.base.QualityProfile)2 ResolutionProfile (org.jwildfire.base.ResolutionProfile)2 XMLAttributes (org.jwildfire.base.Tools.XMLAttributes)2 HeadlessBatchRendererController (org.jwildfire.create.tina.batch.HeadlessBatchRendererController)2 Job (org.jwildfire.create.tina.batch.Job)2 JobRenderThread (org.jwildfire.create.tina.batch.JobRenderThread)2 JobRenderThreadController (org.jwildfire.create.tina.batch.JobRenderThreadController)2