out.close();
}
@Override
public synchronized JsonObject toJson() {
JsonObject desc = new JsonObject();
desc.add("sdfVersion", SDF_VERSION);
desc.add("name", name);
desc.add("width", width);
desc.add("height", height);
desc.add("exposure", exposure);
desc.add("postprocess", postprocess.ordinal());
desc.add("renderTime", renderTime);
desc.add("spp", spp);
desc.add("sppTarget", sppTarget);
desc.add("rayDepth", rayDepth);
desc.add("pathTrace", pathTrace);
desc.add("dumpFrequency", dumpFrequency);
desc.add("saveSnapshots", saveSnapshots);
desc.add("emittersEnabled", emittersEnabled);
desc.add("emitterIntensity", emitterIntensity);
desc.add("sunEnabled", sunEnabled);
desc.add("stillWater", stillWater);
desc.add("clearWater", clearWater);
desc.add("biomeColorsEnabled", biomeColors);
desc.add("atmosphereEnabled", atmosphereEnabled);
desc.add("volumetricFogEnabled", volumetricFogEnabled);
desc.add("waterHeight", waterHeight);
// save world info
if (!worldPath.isEmpty()) {
JsonObject world = new JsonObject();
world.add("path", worldPath);
world.add("dimension", worldDimension);
desc.add("world", world);
}
desc.add("camera", camera.toJson());
desc.add("sun", sun.toJson());