X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fsave%2FPovExporter.java;h=d4a6beb87a0482219c5ecedb5620bd2f72992f1c;hb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465;hp=19e4485c66bf0e09ec576793804bdf88c4187591;hpb=88f2c3647ed9e055090484f01a959d4581f85e7d;p=GpsPrune.git diff --git a/tim/prune/save/PovExporter.java b/tim/prune/save/PovExporter.java index 19e4485..d4a6beb 100644 --- a/tim/prune/save/PovExporter.java +++ b/tim/prune/save/PovExporter.java @@ -321,8 +321,11 @@ public class PovExporter extends Export3dFunction { // file saved - store directory in config for later Config.setConfigString(Config.KEY_TRACK_DIR, povFile.getParentFile().getAbsolutePath()); - // also store exaggeration + // also store exaggeration and grid size Config.setConfigInt(Config.KEY_HEIGHT_EXAGGERATION, (int) (_altFactor * 100)); + if (_terrainPanel.getUseTerrain() && _terrainPanel.getGridSize() > 20) { + Config.setConfigInt(Config.KEY_TERRAIN_GRID_SIZE, _terrainPanel.getGridSize()); + } } else { @@ -477,7 +480,7 @@ public class PovExporter extends Export3dFunction private void writeStartOfFile(FileWriter inWriter, String inLineSeparator, File inImageFile, File inTerrainFile) throws IOException { - inWriter.write("// Pov file produced by GpsPrune - see http://gpsprune.activityworkshop.net/"); + inWriter.write("// Pov file produced by GpsPrune - see https://gpsprune.activityworkshop.net/"); inWriter.write(inLineSeparator); inWriter.write("#version 3.6;"); inWriter.write(inLineSeparator); @@ -508,6 +511,18 @@ public class PovExporter extends Export3dFunction // Definition of terrain shape if any final String terrainDefinition = makeTerrainString(inTerrainFile, inImageFile, inLineSeparator); + final String[] pointLights = { + "// lights", + "light_source { <-1, 9, -4> color rgb <0.5 0.5 0.5>}", + "light_source { <1, 6, -14> color rgb <0.6 0.6 0.6>}", + "light_source { <11, 12, 8> color rgb <0.3 0.3 0.3>}" + }; + final String[] northwestLight = { + "// lights from NW", + "light_source { <-10, 10, 10> color rgb <1.5 1.5 1.5> parallel }", + }; + final String[] lightsLines = (inTerrainFile == null ? pointLights : northwestLight); + // Set up output String[] outputLines = { "global_settings { ambient_light rgb <4, 4, 4> }", "", @@ -623,21 +638,30 @@ public class PovExporter extends Export3dFunction " ttf \"" + fontPath + "\" \"" + I18nManager.getText("cardinal.w") + "\" 0.3, 0", " pigment { color rgb <1 1 1> }", " translate <-10.3, 0.2, 0>", - "}", "", - // MAYBE: Light positions should relate to model size - "// lights", - "light_source { <-1, 9, -4> color rgb <0.5 0.5 0.5>}", - "light_source { <1, 6, -14> color rgb <0.6 0.6 0.6>}", - "light_source { <11, 12, 8> color rgb <0.3 0.3 0.3>}", - "", + "}" }; + // write strings to file - int numLines = outputLines.length; - for (int i=0; i