VX++ Framework (VxCpp.dll)
Friendly Voxon development with classes
Public Attributes | List of all members
voxie_wind_t Struct Reference

Voxie Window Struct - Configuration for the Voxon Window. This struct manages all the settings to do with the volume. More...

#include <vxDataTypes.h>

Public Attributes

int useemu
 value determines to render the Voxie Window on hardware or via software emulation or simulation. More...
 
float emuhang
 emulator view horizontal angle expressed as radians
 
float emuvang
 emulator view vertical angle expressed as radians
 
float emudist
 distance for the emulator's viewpoint range is {0..2000.0} 0 = close, 2000 = furthest

 
int xdim
 projector's x resolution dimensions currently needs to be 912
 
int ydim
 projector's y resolution dimensions currently needs to be 1140

 
int projrate
 projector's refresh rate in Hz range is {60..107}
 
int framepervol
 number of projector's frames per volume {1..16}. example with framepervol set to 3 at projrate set to 60 render a volume at 60/3 = 20 Hz volume rate. This setting should always be at '8' on a typical VX1 setup. 60/8 =

 
int usecol
 display color setting. 0 = mono white, 1 = RGB full color time multiplexed. various negative values are for full color mono -1 = red, -2 = green, -3 yellow, -4 blue, -5 magenta, -6 cyan,
 
int dispnum
 number of displays to search for and use for volumetric rendering. a VX1 only uses 1 display but it is possible to create a volume using multiple displays.
 
int bitspervol
 bit planes per volume written by the VoxieBox.dll. Can be useful for custom volume renderer
 
voxie_disp_t disp [MAXDISP]
 An array of voxie_disp_t. These are the different display settings for each display targeted for volumetric rendering. These 'displays' are typically projectors. See voxie_disp_t for infomation of what is within this struct.
 
int hwsync_frame0
 first frame (frame is a 2D slice, a volume is created by a stack of 2D frames / slices) offset (-1 to disable sync hw). For hardware experts only let the software manage this

 
int hwsync_phase
 high precision phase offset. For hardware experts only let the software manage this
 
int hwsync_amp [4]
 amplitude {0..65536} for each channel. For hardware experts only let the software manage this
 
int hwsync_pha [4]
 phase {0..65536} for each channel. For hardware experts only let the software manage this
 
int hwsync_levthresh
 threshold ADC value for peak detection {0..1024, but typically in range: 256..512} use Host.exe to test the right level
 
int voxie_vol
 amplitude scale when using sine wave audio output {0..100}. The higher the value the more max amplitude can be sent to the motors

 
int ilacemode
 interlace mode: 0:default, 6:2/3 color mode;uses outcol[]) {0-7?}
 
int drawstroke
 determines the drawing / rending type. 1=draw on up stroke, 2=draw on down stroke, 3=draw on both up&down
 
int dither
 enable / disable dither effects 0=no dither, 1=height dither, 2=time dither, 3=height&time dither
 
int smear
 enable / disable smear 1+=increase brightness in x-y at post processing (slower render), 0=not
 
int usekeystone
 0=no keystone compensation (for testing only), 1=keystone quadrilateral compensation (default) More...
 
int flip
 flip coordinates in software (via voxiebox.dll) 0 = no flip, 1 = flip 90 degrees, 2 = flip 180 degrees, 3 = flip 270 degrees
 
int menu_on_voxie
 1 = display menu on voxiebox view
 
float aspx
 aspect ratio of x dimension, loaded from voxiebox.ini, used by application. Values typically around 1.f
 
float aspy
 aspect ratio of y dimension, loaded from voxiebox.ini, used by application. Values typically around 1.f
 
float aspz
 aspect ratio of z dimension, loaded from voxiebox.ini, used by application. Values typically around .4f
 
float gamma
 gamma value for interpolating many graphical draw calls
 
float density
 scale factor controlling dot density of graphical draw calls (default:1.f)
 
int sndfx_vol
 amplitude scale of sound effects {0..100}
 
int voxie_aud
 audio channel index of motor. (Playback devices..Speakers..Configure..Audio Channels)
 
int excl_audio
 enable / disable exclusive audio mode 1=exclusive audio mode (much faster & more stable sync - recommended!
 
int sndfx_aud [2]
 audio channel indices of sound effects, [0]=left, [1]=right
 
int playsamprate
 sample rate used by audio driver (written by voxie_init()). 0 is written if no audio channels are enabled in voxiebox.ini.
 
int playnchans
 number of audio channels expected to be rendered by user audio mixer
 
int recsamprate
 recording sample rate - to use, must write before voxie_init()
 
int recnchans
 number of audio channels in recording callback
 
int isrecording
 0=normally, 1 when .REC file recorder is in progress (written by voxiebox.DLL)
 
int hacks
 bit0!=0:exclusive mouse; bit1!=0:disable REC/TCP options under File menu (for Voxieplay)
 
int dispcur
 current display selected in menus {0..dispnum-1}
 
int sndfx_nspk
 variable to hold the number of physical speakers {1 = VX1 default, 2 = stereo system}
 
int hwdispnum
 variable to manage the number of hardware displays
 
float freq
 starting value in Hz (must be set before first call to voxie_init()); obsolete - not used by current hardware
 
float phase
 phase lock {0.0..1.0} (can be updated on later calls to voxie_init()); obsolete - not used by current hardware
 
int thread_override_hack
 0:default thread behavior, 1..n:force n threads for voxie_drawspr()/voxie_drawheimap(); bound to: {1 .. #CPU cores (1 less on hw)}
 
int motortyp
 0=DCBrush+A*, 1=CP+FreqIn+A*, 2=BL_Airplane+A*, 3=VSpin1.0+CP+FreqIn, 4=VSpin1.0+BL+A4915, 5=VSpin1.0+BL+WS2408
 
int clipshape
 don't render voxels outside of shape. 0 for a rectangle (for VX1) and 1 for a circle (for Spinner) 0=rectangle (vw.aspx,vw.aspy), 1=circle (vw.aspr)
 
int goalrpm
 for Spinner only. The goalrpm rate for the motor to spin up to.
 
int cpmaxrpm
 for Spinner only. Maximum rotation rate the voxiebox.dll will allow the motor to spin
 
int ianghak
 for Spinner only. Phase offset for rotation (0-65535)
 
int ldotnum
 dot number the size of a single voxel. affects brightness. Range:{0..3}, 0=default
 
int normhax
 Used by global normal shading stores the vertical and horizontal angle and amplitude : (vang/*-90..90*‍/<<20) + ((hang/*-180..180*‍/&4095)<<8) + amp/*0..255*‍/. 0=disable.
 
unsigned char upndow
 volumetric up down sweep technique: 0=sawtooth, 1=triangle
 
unsigned char scrshape
 screen shape 0=helix, 1=peanut/hurricane
 
unsigned char filler [2]
 not sure need to ask Ken what this is
 
int nblades
 screen shape: 0=VX1 (not spinner), 1=/|, 2=/|/|, ..
 
int usejoy
 usb gamepad input API -1=none, 0=joyInfoEx (directInput), 1=XInput
 
int dimcaps
 dim top & bottom by sine - up/dn (VX1) mode only. 0 is default.
 
float emugam
 gamma applied to emulator rendering mode #1. Typical range: 0.25-4.0
 
float asprmin
 minimum radius; typically 0.10
 
float sync_usb_offset
 offset to USB timing (see voxiebox menu Stats..On:PDF)
 
int sensemask [3]
 for multicolor/multiprojector modes: which data goes to projector. Ex (R/B mode): [0]=0xff0000, [1]=0x00ff00
 
int outcol [3]
 for multicolor/multiprojector modes: LED color of projector Ex (R/B mode): [0]=0xff0000, [1]=0x00ff00
 
float aspr
 size of radius; typically 1.41 or sqrt(2) to circumscribe square
 
float sawtoothrat
 //for /|/| or /| screens; typically: 0.875, range: ~0.5-1.0
 

Detailed Description

Voxie Window Struct - Configuration for the Voxon Window. This struct manages all the settings to do with the volume.

Most settings to do with creating a volume are contained here. This struct is passed in when VoxieBox::init() is called. Most of these settings can be updated while the volume is rendering. Pass the voxie_wind_t struct through VoxieBox::update() for the settings to be applied to the current volume.

See also
VoxieBox::update()
VoxieBox::voxie_disp_t()

Member Data Documentation

◆ useemu

int voxie_wind_t::useemu

value determines to render the Voxie Window on hardware or via software emulation or simulation.

set values are: 0 to run on Voxon hardware, 1 = emulator perspective view (looks like authentic hardware), 2 = simulator perspective view, 3 = emulator orthogonal view, 4 = emulator orthogonal view using older, slower code.

◆ usekeystone

int voxie_wind_t::usekeystone

0=no keystone compensation (for testing only), 1=keystone quadrilateral compensation (default)

See also
voxie_disp_t

The documentation for this struct was generated from the following file: