File: BatchRenderer.lua

package info (click to toggle)
imagevis3d 3.1.0-7
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 20,840 kB
  • sloc: cpp: 125,470; ansic: 83,889; sh: 959; python: 557; perl: 467; xml: 258; makefile: 115
file content (42 lines) | stat: -rw-r--r-- 1,508 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
description = [[
********************************************************************************

Brief:  Example ImageVis3D batch renderer.
Author: James Hughes
Date:   December 2012

********************************************************************************
]]

print(description)

-- Program arguments?
dataset = "/Users/jhughes/sci/datasets/c60.uvf"
outputDir = "/Users/jhughes/sci/output/BatchRenderer"
shadersDir = "/Users/jhughes/sci/imagevis3d/Tuvok/Shaders"

-- Build 3D slice based volume renderer.
-- Parameters are: renderer type, use only power of two textures, downsample to 8 bits,
--                 disable border, bias and scale TF.
print("Initializing renderer")
renderer = tuvok.renderer.new(tuvok.renderer.types.OpenGL_SBVR, false, false, false, false, false)

-- Both load dataset and add shader path must be done before passing the context.
renderer.loadDataset(dataset)
renderer.addShaderPath(shadersDir)

-- tuvok.createContext() is a function that is bound in BatchRenderer.
-- Parameters are: Framebuffer width and height, color bits, depth bits, stencil 
--                 bits, double buffer, and if visible.
context = tuvok.createContext(640,480, 32,24,8, true, false)
renderer.initialize(context)
renderer.resize({640, 480})
renderer.setRendererTarget(tuvok.renderer.types.RT_Headless)
renderer.paint()

renderer.setRendererTarget(tuvok.renderer.types.RT_Capture)
renderer.captureSingleFrame(outputDir .. '/render.png', true)

renderer.cleanup()
deleteClass(renderer)