📄 readme-coverage-texturemap
字号:
SaVi - live dynamic coverage texturemaps in GeomviewLloyd Wood, January 2005.$Id: README-COVERAGE-TEXTUREMAP,v 1.14 2005/02/07 19:56:09 lloydwood Exp $USING DYNAMIC COVERAGE TEXTUREMAPPING=====================================Launch SaVi from geomview. Open the coverage panel window from theView menu and turn on 'Send cylindrical map to Geomview' and'Texturemapping' in the coverage panel's Rendering menu to introducetexturemapping of large cylindrical coverage map to Geomview's Earthsphere, so that Geomview shows you in three dimensions what you can seein the SaVi coverage panel in two.This requires the coverage panel open, as we're reusing the maparea that the coverage panel draws; the coverage map must alsobe set to the default cylindrical projection that can be mappedonto Geomview's sphere correctly.The -large-map option resizes the coverage panel map from 600x300 to1024x512, giving smoother texturemapping results. If you have troublerendering in Geomview at one size, try the other.SaVi 1.2.5 improved the rendering in Geomview considerably, by relyingon Geomview to draw its vector outline of the Earth over coverage data.SaVi 1.2.6 made dynamic texturemapping user-selectable via the Renderingmenu in the coverage panel, replacing the -dynamic-texture command-lineflag.The remaining -dynamic-texture-with-map flag restores older behaviourof texturemapping the entire coverage map, including its bitmap Earthoutline, so that the vector outline is not needed and is unused. Thisrequires less computational power from Geomview than drawing the vectorEarth over an outline-free texturemap, but doesn't look as good.Try this only when performance feels particularly sluggish whiledynamic texturemapping is on.TEXTUREMAP COMPRESSION======================Texturemaps sent from SaVi to Geomview can be transparently compressedusing zlib where available; you can tell whether compression is workingby seeing if SaVi creates either an uncompressed .ppm temporary file orthe far smaller .ppm.gz compressed file when the coverage panel is opened.Transparent compression requires use of the free zlib library.If the zlib library and zlib.h are not already availableon your system, zlib can be downloaded from http://www.gzip.org/zlib/and shown to work with: cd zlib-1.2.1 ./configure -s make testThen install zlib as superuser (or get an administrator to do so) with: make installTransparent compression must be selectively enabled in the SaVi codeby editing SaVi's src/Makefile to remove the -DNO_ZLIB flag beforerecompiling SaVi after 'make clean'.TECHNICAL DETAILS=================Opening the coverage window and turning on texturemapping starts copyingcoverage maps to Geomview via a temporary file, with fallback to writing$HOME/coverage-savi.ppm or .ppm.gz if a temporary file cannot be createdin the system temporary directory.The fallback method presumes that $HOME is a user-writable directory(which is usually the case) and that the installation of SaVi is onlybeing used once for dynamic texturemapping by each person.The large coverage panel option exists because 1024x512 seemed to bethe only size that Geomview was willing to texturemap, which is why-large-map (also good for viewing maps on megapixel displays or savinghigh-quality maps) is suggested. If texturemapping is not working asexpected, the standard Earth.ppm.Z texturemap should appear in Geomviewas a fallback.To cope with failure of dynamic texturemapping and displaying the statictexturemap correctly, original rotation of the cylindrical map in SaViby 90 degrees to place the Americas central has been corrected tomatch Geomview and conventional projections. The sinusoidal map stillhas the Americas central, and is handled specially.Interval decay is turned on because white areas show up in Geomview'slighting as gold, and blue is rather cooler.The cylindrical projection requirement for texturemaps means thatcommonly-available unprojected maps of that size (e.g. Living Earthsamples) cannot be used correctly to replace the static Earth.ppm.Ztexturemap; their geometry is wrong and poles become overly large,pushing continents towards the equator. Don't use them.PROGRAMMING IMPLEMENTATION NOTES================================Mapping is horribly convenient because the Tcl coverage image iseffectively already a raw RGB ppm file, which we write to a scratchfile we tell Geomview to read in.Changing Image_Width/Height and having everything rescale is jolly handy.We're reusing the cylindrical projection of the coverage map (rather thanbuilding a separate image, which would require clearer image/grid handlingin src/coverage_vis.c and would be even more of a slowdown since we'rerendering two separate maps). Texturemapping of non-cylindrical projectionshas been disabled as inconvenient for viewing in Geomview.Correct image/grid handling probably requires pointer to image storedin grid structure we're passing around, checking that the Tcl imagereferenced exists, etc.NOTES ON MAP CREATION=====================1024x512 sinusoidal pbm map was created from the 600x300 map(scaled in gimp, made 1-bit as greyscale indexed colour, savedas xbm, run through xbmtopbm). Cylindrical map created from same-sizeEarth.ppm.Z, by using threshold in gimp before going 1-bit and xbm.New unprojected equirectangular maps were created from maps generatedby Versamap, then screenshots had colours altered, were run through gimp'svarious filters, resized and saved similarly. http://www.versamap.com/Lloyd Wood (L.Wood@ee.surrey.ac.uk)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -