// Converting PNG 16-bit heightfields into SRTM ASCII terrain matrices 
// (C) 2010 Jörg 'Yadgar' Bleimann
// Non-commercial use is free; any commercial usage needs written authorization by the copyright owner

#include "functions.inc"

#declare xdim=1200;
#declare ydim=1200;

#declare deadsea=422;
#declare everest=8848;
#declare rng=everest+deadsea;


global_settings
{
  assumed_gamma 2.2
}

#declare hf=
pigment
{
  image_map
  {
    png "../auxiliary/S44E147_S44E148.png" 
  }
}  

#fopen srtm "../auxiliary/S44E147_S44E148.txt" write
#declare b=0;
#while (b<ydim)
  #declare a=0;
  #while (a<xdim)
    #declare cv=eval_pigment(hf, <1/(xdim*2)+a*(1/xdim), 1/(ydim*2)+b*(1/ydim), 0>);
    #declare h=rng*(cv.red+cv.green/256)-deadsea;
    #declare h=h+0.99;
    #write (srtm, str(h, 1, 2), " ")
    #declare a=a+1;
  #end
  #declare b=b+1;
#end
#fclose srtm

camera
{
  orthographic
  up <0, ydim, 0>
  right <xdim, 0, 0>
  location <xdim/2, ydim/2, -10>
  look_at <xdim/2, ydim/2, 0>
}