Giter VIP home page Giter VIP logo

spaceblender's Introduction

SpaceBlender

Space Blender is a Blender plugin designed to generate flyover DTM videos from a 32-bit digital elevation model.

Requirements

Space Blender has the following dependencies:

  1. The Geospatial Data Abstraction Library (GDAL)
  2. NumPy
  3. SciPy

These dependencies must be installed within the blender shipped version of Python 3.3. See the installation section for instructions on meeting these dependencies

Command line Quick-Start

For this quickstart, we make the assumption that Blender is already installed and accessible via the command line as blender. If this is not the case, see installation (below).

First, we will print the usage statement for the space blender command line tool:

blender -b -P space_blend.py

This will return:

usage: blender [-h] [-r RESOLUTION] [-s SCALE] [-i INTERP] [-z ZSCALE] [-f FLYOVER] [-c COLOR] [-m] [-a] [-t TEXTURE] dtm

where:

  • -h Display the blender help documentation.
  • -r The the output resolution select from: ['180p', '360p', '480p', '720p', '1080p']. 720p is the default.
  • -s A scaling factor, between 0 and 1 used to scale the input image in the x and y directions.
  • -i The interpolation method used if a scaling factor is defined. Selected from ['nearest', 'linear', 'bicubic', 'cubic'] with the default being cubic.
  • `-z' The z direction scaling factor as a floating point number, e.g. 1.5 for a one and a half time vertical exaggeration.
  • -f The flyover type selection from: ['noflyover', 'linear', 'circle', 'diamond']. Linear is the default.
  • -c The colormap to use to colorize the DTM selected from: ['NoColorPattern','Rainbow_Saturated','Rainbow_Medium','Rainbow_Light','Blue_Steel','Earth','Diverging_BrownBlue','Diverging_RedGray','Diverging_BlueRed','Diverging_RedBrown','Diverging_RedBlue','Diverging_GreenRed','Sequential_Blue','Sequential_Green','Sequential_Red','Sequential_BlueGreen','Sequential_YellowBrown']. The default is 'Rainbow_Saturated'
  • -m A boolean flag defining whether mist is rendered.
  • -a A boolean flag defining whether stars are rendered.
  • -t A texture applied to the input image, e.g. an orthoimage.

Example usage:

While the usage examples all assume a mythical DEM 'inputdem.IMG', it is possible to use any GDAL support input data type. The development team has tested Space Blender using .IMG and .tif file formats.

  • Render a default flyover image at low spatial resolution and the lowest possible rendering resolution. This is an ideal way to test your installation.
blender -b -P space_blend.py -s 0.1 -r 180p inputdem.IMG
  • Render the same, but at full spatial and rendering resolution
blender -b -P space_blend.py -s inputdem.IMG

Installation

The development team utilizes Anaconda Python as their default python installation in part because of the ease of external package installation. The installation described below makes use of Anaconda Python and replaces the python 3.3 that ships with Blender with an Anaconda installation. This has been tested on Mac OS X and Scientific Linux.

  • Download and install Anaconda Python.
  • At the time of the last update to this ReadMe, Blender was using Python version 3.3.5. So, we will create a virutal environment that mirrors the Blender installation:
conda create -n blenderpython -p PATH_TO_INSTALL_DIRECTORY python=3.3 anaconda

where PATH_TO_INSTALL_DIRECTORY is the location where the python 3.3 folder will be created.

  • Activate the Python 3.3 environment and perform the necessary software installations.
source activate blenderpython
conda install gdal
  • Navigate to the blender directory. Within that directory, a subdirectory exists names as the version of Blender installed. On OSX, one can open the blender application folder, View Package Contents on the blender application, then enter MacOS > Version. Within thius directory is a directory called python.
  • Rename the python directroy to python_backup. This ensures that we can rollback from the changes to be made.
  • Create a new directory named python.
  • Copy the contents of the spaceblender python directory (created above) into the newly created python directory. Top-level directories within the python directory should include: bin, conda-meta, docs, Examples, include, lib, share.

Linux: Python install from distro

(Verified on Fedora27, Blender 2.79)

  • Install python3 and all the aforementioned python3 dependencies from your distro.
  • Clone the plugin repository in ~/.config/blender/2.79/scripts/addons/
  • Launch
blender -b -P ~/.config/blender/2.79/scripts/addons/SpaceBlender/space_blend.py inputdem.IMG

spaceblender's People

Contributors

cmarmo avatar jlaura avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.