Skip to content

Commit

Permalink
fix(cleanup): bumped docker base to ubuntu-20.04 (lts); added cool_sc…
Browse files Browse the repository at this point in the history
…ene stage, cleanup
  • Loading branch information
TennisGazelle committed May 25, 2021
1 parent 97c41c3 commit 19a7152
Show file tree
Hide file tree
Showing 10 changed files with 2,274 additions and 88 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
all: set_paths scene_render edit_render
all: set_paths model_render scene_render edit_render

cool_scene_render: blender/cool_scene.blend
python3 scripts/render.py --stage cool_scene
Expand Down
16 changes: 10 additions & 6 deletions config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
stages:
cool_scene:
buffer_frames: 1-90
force_update: false
render_output: 'imgs/buffer/'
engine: CYCLES # todo: figure out how to do EEVEE
blend_file: cool_scene.blend
render_format: PNG
blender_flags: ''

scene:
buffer_frames: 1-90
force_update: false
Expand Down Expand Up @@ -48,11 +57,6 @@ model_output_format: '{model}_{angle}_{map}'
# experimental below, do not alter
docker:
image: tennisgazelle/blender-pipeline:latest
#render_cmd: docker run --rm -v {cwd}/blender/:/blender/ -v {cwd}/imgs:/imgs ikester/blender blender/{blend_file} -o {output_location} -E {engine} -F {format} -t 8 {flags}
render_cmd: docker run --rm -v {cwd}/blender/:/blender/ -v {cwd}/imgs:/imgs tennisgazelle/blender-pipeline:latest blender/{blend_file} -E {engine} -F {format} -t 8 {flags}
render_cmd: docker run --rm -v {cwd}/blender/:/blender/ -v {cwd}/imgs:/imgs {image} blender/{blend_file} -E {engine} -F {format} -t 8 {flags}
# python_cmd: docker run --rm -v ${cwd}/blender/:/blender/ -v ${cwd}/scripts:/scripts -v ${cwd}/config.yaml:/config.yaml tennisgazelle/blender-pipeline:latest blender/scene.blend --python scripts/get_path.py
var_defaults:
engine: CYCLES
format: PNG
output_location: imgs/buffer/

1,121 changes: 1,120 additions & 1 deletion logs/render-frame-1.log

Large diffs are not rendered by default.

1,121 changes: 1,120 additions & 1 deletion logs/render-frame-2.log

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion scripts/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:20.04

LABEL authors="Daniel Lopez <daniellopez@nevada.unr.edu>"

Expand Down
23 changes: 14 additions & 9 deletions scripts/Dockerfile.old
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
FROM kuralabs/python3-dev
FROM ubuntu:16.04

LABEL authors="Daniel Lopez <daniellopez@nevada.unr.edu>"

RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y

RUN apt-get install -y wget libfreetype6 libglu1-mesa libxi6

# set up deps for blender
RUN apt-get update && \
apt-get install -y \
curl \
Expand All @@ -18,12 +13,22 @@ RUN apt-get update && \
xz-utils && \
apt-get -y autoremove

# Download blender
ENV BLENDER_MAJOR 2.82
ENV BLENDER_VERSION 2.82a
ENV BLENDER_URL https://download.blender.org/release/Blender${BLENDER_MAJOR}/blender-${BLENDER_VERSION}-linux64.tar.xz

RUN curl -L ${BLENDER_URL} | tar -xJ -C /usr/local/ && \
mv /usr/local/blender-${BLENDER_VERSION}-linux64 /usr/local/blender
RUN curl -L ${BLENDER_URL} | tar -xJ -C /usr/local/ \
&& mv /usr/local/blender-${BLENDER_VERSION}-linux64 /usr/local/blender

# run the pip install for the bundled python
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
&& ls /usr/local/blender/${BLENDER_MAJOR}/python/lib \
&& /usr/local/blender/${BLENDER_MAJOR}/python/bin/python3.7m get-pip.py \
&& /usr/local/blender/${BLENDER_MAJOR}/python/bin/python3.7m -m pip install pyyaml yamale --user

# Get the config common library near the blender executable
COPY common.py /usr/local/blender/${BLENDER_MAJOR}/python/lib/python3.7/

VOLUME /media
WORKDIR /
Expand Down
6 changes: 6 additions & 0 deletions scripts/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ def init_config():
for stage in config['stages']:
config['stages'][stage]['buffer_frames'] = parse_frames(config['stages'][stage]['buffer_frames'])

for model in config['models']:
if model[0] != '_':
if 'include' not in config['models'][model].keys():
# add the default in case this list is empty
config['models'][model]['include'] = []

return config

def parse_frames(frames_as_string):
Expand Down
68 changes: 1 addition & 67 deletions scripts/config_schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ model_stage:
depth_scale: num(required=False)
video: bool(required=False)
rotation_iterations: int(required=False)
include: list(enum('color', 'depth', 'normal', 'albedo', 'id'), min=1)
include: list(enum('color', 'depth', 'normal', 'albedo', 'id'), min=1, required=False)

model_settings:
engine: enum('CYCLES', 'EEVEE')
Expand All @@ -37,70 +37,4 @@ model_settings:
docker_config:
image: str()
render_cmd: str()
var_defaults:
engine: enum('CYCLES', 'EEVEE', required=False)
format: enum('PNG', 'AVI', required=False)
output_location: str()


# scene:
# buffer_frames: 1
# force_update: false
# render_output: 'imgs/buffer/'
# engine: CYCLES # todo: figure out how to do EEVEE
# blend_file: scene.blend
# render_format: PNG
# blender_flags: ''

# edit:
# buffer_frames: 1-90
# force_update: false
# render_output: 'imgs/out/'
# engine: CYCLES
# blend_file: edit.blend
# render_format: AVIRAW
# blender_flags: '-a' # include this to render as a video

# cool_scene:
# buffer_frames: 1-90
# force_update: false
# render_output: 'imgs/buffer/'
# engine: CYCLES # todo: figure out how to do EEVEE
# blend_file: cool_scene.blend
# render_format: PNG
# blender_flags: ''

# models:
# - cool_cube:
# obj_file: 'blender/models/curve-skeleton-cube.obj'
# render_output: 'imgs/out/models/'
# scaling_factor: 1 # default (1)
# remove_doubles: true # default (false)
# edge_split: false # default (false)
# depth_scale: 1.4 # default (1.4)
# color_depth: 8 # default (8)
# format: PNG # default PNG
# video: false # default (false); if true, format is ____ and rotation_iteration will be 5 sec rotation at 30 fps (150)
# resolution: 600 # is square; default (600)
# rotation_iterations: 30 # default 6
# include:
# - color # default only one active
# - depth
# - normal
# - albedo
# - id


# file_output_format: '{bfile}_{stage}_####'
# model_output_format: '{model}_{angle}_{map}'

# docker:
# image: tennisgazelle/blender-pipeline:latest
# #render_cmd: docker run --rm -v {cwd}/blender/:/blender/ -v {cwd}/imgs:/imgs ikester/blender blender/{blend_file} -o {output_location} -E {engine} -F {format} -t 8 {flags}
# render_cmd: docker run --rm -v {cwd}/blender/:/blender/ -v {cwd}/imgs:/imgs tennisgazelle/blender-pipeline:latest blender/{blend_file} -E {engine} -F {format} -t 8 {flags}
# # python_cmd: docker run --rm -v ${cwd}/blender/:/blender/ -v ${cwd}/scripts:/scripts -v ${cwd}/config.yaml:/config.yaml tennisgazelle/blender-pipeline:latest blender/scene.blend --python scripts/get_path.py
# var_defaults:
# engine: CYCLES
# format: PNG
# output_location: imgs/buffer/

2 changes: 0 additions & 2 deletions scripts/model-render.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
import math
from glob import glob

os.listdir('.')

from common import init_config

config = init_config()
Expand Down
1 change: 1 addition & 0 deletions scripts/render.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ def render_animation(render_cmd):
cwd = os.getcwd(),
blend_file = config['stages'][stage]['blend_file'],
output_location = config['stages'][stage]['render_output'],
image = config['docker']['image'],
engine = config['stages'][stage]['engine'],
format = config['stages'][stage]['render_format'],
flags = config['stages'][stage]['blender_flags']
Expand Down

0 comments on commit 19a7152

Please sign in to comment.