Saturday, March 21, 2015

Equalizer design and Analog Dial Implementation


Design for a vintage styled equalizer interface. Graphics were created for dials and switches: metal slider, animated screw-heads, and back panel inspired by old radio equipment.

It can be considered a test version. Be careful when processing audio with it. There are limiters in place to prohibit peaks, but they can be removed by turning either of the lower brass inlets. now you are free to overload the unit, yet, do so at your own risk. If necessary, one can screw around with the frequency centers using a flat head driver. channel potential is 10-16000hz.

Install the plugin by placing the file into a folder which your vst host will recognize as a plugin repository.

Download VST Plugin

color controls

color wheel control and palette manager. These interface controls for selecting colors, were built as an exercise. It consists of a radial hue selector, saturation and lightness xy pad, and small preview swatch. next a swatch array was added to store color settings. clicking any area in the grid will select a color slot and can output the stored color.
DOWNLOAD CONTROL DEMO











color wheel module diagram

















The main colorwheel consists of 5 modules applied to the view in sequence. "Drag angle" determines the radial direction of user mouse drag. converting an x,y ray extending from the center to 360 degree outward. this range determines the hue.

calculating ray angle




inside 'radial 360' module: fixes angle direction sector and offsets















"center blend" is an xy accumulator with range conversion between 0-255 on each dimension. the display for the center square is pair of layered gradients of value and saturation. the input hue is shifted based on current rotary degree selection.
center blend for sat-val display











The swatch array is built upon modules with multiple index synchronized arrays.
inside main schematic block










the columns are created by a little module that reads the index elements, calculates the space available in the view box, and fits as many into rows and columns as possible within size and margin dimension constraints.
columnizer: take note of integer to float conversions










there is also a module that kind of reverses the process. it converts mouse x,y click to grid units, and finds out what array index that mouse click is contained within. then the columnize module puts the highlight rectangle around that box.
find index by x,y








swatch array: each trigger activates both











The basis is the 'color array', which consists of 4 arrays, one for each A,R,G,B value. they are added and retrieved at once by index, and can get and set values with triggers. below is the color array 'edit' module, which is paired with a duplicate color array 'read' module. they are synchronized to solve a problem with modifying colors while the draw loop is setting the index value.
color array edit: access to color array items happens here.











Signal Generator interface design

The concept for this project was to be a signal generator, inspired by hardware oscilloscope. This device is used for testing sound output and frequency response in speakers or microphones. Control parameters were defined and assembled into a front panel, graphical elements illustrated as bitmap.

DOWNLOAD DEMONSTRATION VERSION
Download VST Version

Disclaimer:
Consider this a test unit, it may not work entirely as expected, and will be improved and updated as i learn.
Take care in its operation, as it can produce a wide range of signals; some settings could produce sounds with the potential to cause damage to your ears, and sound equipment. explore at reasonable levels. you will assume the risk.


functions include:
power (on/off): volume control, decibel level meter
modes: noise, sine, sweep
signal filtering: lowpass / highpass (with on/off)
oscillator module (on/off): dual oscillators with independent multiplier
channel shifting: 
 (a/b faders): channel delay, L/R shift
 (switches): delay invert and fade type(crossfade or blend)
main display: switchable(waveform/spectrum), sweep rate, frequency control, image hold.

Operation Overview:
Before switching power on, ensure the large volume dial is set at its lowest value (S/W direction) by clicking  and dragging down while over its image. tap the switch labeled "power"; a green light will confirm generator activity. slowly rotate the volume dial by vertical drag. choose an emitter type with the small silver dial below output volume. this can select either noise, tone, or sweep. following to the right of this selector, 2 small inset dials on the display, control sweep velocity and tone frequency. above them, the monitor shows their current values. also nearby, it shows decibel value. a switch at the top right of the display can flip between waveform or frequency graph projection (still in need of adjustment). at the lower right of the unit, two black faders have an effect on channel offset. the top can delay a channel up to 500 samples. the lower shifts left or right dominance. when the light below illuminates, center position is absolute. there are some tiny little switches on either side. the first indicates which side is being delayed. the other determines whether the sliders fade or blend across channels. very slight differences, mainly experimental. filters can be activated with the switch between filter dials. on the left increase lowpass filter to cut off high frequencies. on the right, highpass can exclude low frequencies. the oscillator module next door will modulate a tone at a wide range of speeds. the switch give can access to even higher rates. there happens to be a co-oscillator, to add further disruption. sometimes a complex or unpredictable tone can be created.

Tuesday, August 26, 2014

watch model

first stage front-back
Beginning modeling of a watch. Stauer "Noire" model. I enjoy the design and hope to capture the details as accurately as possible.

This is a practice in high polygon hard surfaces, using quads, avoiding triangles during the process. This will be textured and rendered. I plan to adapt a low poly version to be available for realtime graphics display.

In the first session, the main case body was blocked out in medium detail and contains a subdivision surface modifier. Material zones are assigned for chrome and brushed areas.


subdivision view
edges
In the fine details of the back plate some triangles are hiding around, as long as they contribute to a clean surface, i'm not too concerned. This area received very heavy edge duplication to help smooth the bevels. It seems to give a clean result; nice highlights on the bevels with no real distortion. These areas will never really be seen, it is just for study.
surface result
Alternative: creased edges

matcap rendering with crown and pins completed
square holes become round
strap and latch
Modeling the band was done in mirror and went quickly. The tiny holes were fairly tedious but came out smooth. A useful tool for sniffing out any hiding n-gons, has been MeshLint. Also helps in finding other wonky geometry. simple and effective. At this stage some tweaks before texturing.

A few UV paintings to represent the band and face.
textures - bump map - strap color

The band was produced mostly by bump mapping. Images painted with Gimp 2.8
consisting of stitches and a paint crackle overlay.
bump map applied to material
Thinking about how to make the intricate engraving for the watch face. Blender mesh designs to be converted into vector SVG and imported to Inkscape. This script was discovered on a post at blender artists, and worked very well.
face engraving test patterns
 
engraving pattern in blender
A radiating mesh with a few subdivision, twisted proportionally from center. The vector image was imported nicely in Inkscape. More editing in Gimp, for duplicating and eroding the layers, a kind of expanding depth was able to build up. finishing details in vector: concentric circles around edges, sub-dials with crosshatching, date window, and small raised area for label.


face engraving pattern for bump map

bump map test application

full face bumpmap

face texture detailed in Inkscape
Next is rigging the band so it can be curved around and posed.
rigged bands using empties+IK+hooks

Adjusting materials, camera, and test rendering.
nodes - dial face bump map
nodes - environment applied

mask application - chrome/brushed
nodes - anisotropic/chrome mask

textures work in progress

rendering scene - work in progress

rendering - all detailed

A few spots need to be perfected. probably add the numbering to the bump-map for a bit of embossing. band uv and texture adjustment. indicator spots on hands. probably incorporate in cool "noire" context; currently a lame concrete bitmap substitutes while details are tweaked. not to forget to adapt a low-poly version.

Saturday, August 23, 2014

Blender - Cycles rendering textures with alpha mask

The problem was to get Cycles to render a texture with its alpha as transparent.
Acting within the "compositing" nodes and checking "use nodes" on. Output to Viewer Node.
Some difficulty in activating the viewer node is fixed by clicking material /compositing buttons repeatedly. This refreshes and shows the output through the node network.

In compositing, simply load the "image texture" which contains the alpha, as a node.
Connect its alpha output to the factor of a "converter/Color Ramp". This goes out to a Viewer node. Now the output can be saved within the image viewer as an Alpha Mask!


Finally, back in material nodes, both Image Textures can be loaded. Forked from their UV node to Image Vector, the "Alpha Mask" color goes into the Factor of a Mix Shader.
A Transparent Shader connects into the Top Mix Shader input.
The Image Texture color, maps through an Emission Shader, to the Bottom Mix Shader input.
Finally the Mix is output to Material Surface.

Of course the Emission shader could be substituted for diffuse or whatever surface quality is needed.

Easier as a diagram.
Step 1: Compositing View










Step 2: Material View

Saturday, August 16, 2014

Alien model.

setting up blender
learning the interface
the alien creature built in polygon mesh. skinning, surface painting. it will be posable.
shows only surface depth
initial depth-map sketches
based on the alien3, with a canine form and piercing tail. freestyle design elements. there may be some cleanup and modifications to the mesh. hands modeled after skeletal cat claws.
pursuit of high polygon sculpt is highly processor intensive. instead it has surface sculpting by bump map. it will receive diffuse color, reflectivity.

in honor of Giger alien design


no texture, teeth detail

Practice of Art

To be placed here, the process images.
updates will follow.
various stages of arrangement