a vector texture node…
…that can load SVG (and why not other 2D vector data)
…that can repeat the texture along y and/or x axis (sort of like noise size)
…that can vary the size and/or rotation of each repeated ‘texture copy’, randomly and/or in linear/exponential/sine/square-wave fashion, why not have x/y translation too
…which can skip repetitions randomly or in linear fashion, and can set the distance between each ‘repeated texture’
…that has simple interface with activation button and sliders for each property
Imagine you have a picture of a crater, and a model of a moon. Displaying monotonic rows of identical craters wouldnt be very credible.
However, once you vary the size, rotation around z axis and location of crater-textures on the model-moon surface, you get very credible moon surface.
You could use rows of wrinkle-vectors nor-mapped on skin, each rotated and translated (randomly) to quickly reproduce skin wrinkles.
Or wou might want to show nails holding up an old wooden wall, this time lined up in pairs in two rows, each nail slightly differently rotated and with tiny jitter on x&y location to simulate a real sloppy carpenters handiwork
Maybe just the straight rows of vent holes on a building wall, staggered rows of vent inlet vectors
What do you think? Someone I talked this over with said that it may not be easy to map 2D vector gfx on 3D surf?
- SVG texture import (convert into bitmap or whatever?)
- Implement repeat XY, Clipping minXY/maxXY, Clip/Repeat/Checker, simple texture features
Minimal Vector Texture Engine
— Guide - infinite line going through the centerpoint of texture plane
------ properties: rotation
------ Multiple guides possible!
- Minimal Vector Texture Engine
— Atoms - user defined SVG graphic
------ properties:XYZ offset, XYZ rotation, XYZ scaling
------ Also preset SVG primitives (line/circle/square/triangle/suzanne)
— Duplication of Atoms along the Guide
----- Main function!
----- Distributed by Atom width or by Guide resolution
— UI - nice easy to use texture node ui with sliders and numbers + preview
— Blender add-on or a plugin
Vector Texture Engine
— Property-modulator: modulate Atoms properties
— Modulator functions for XYZ trans/rot/scaling:
------ static value (+/-)
------ linear modulation (multiplier)
------ cyclic modulation (sin/sqr/tri/saw/random modulation)
------ easing modulation (exponential/quadratic/circular easing)
------ Values can be rounded to integer (ie. sine wave becomes square wave with values -1, 0, +1)
- Vector Texture Engine
— Native blender texture type
Advanced Vector Texture Engine features
— Modulator stack where different modulators can be chained (many modulators can be combined)
— Modulator input and output offset/min/max/multipliers
— UI - modulator stack, add modulator curve preview (2d/3d)
- Advanced Vector Texture Engine features
This texture generator will duplicate SVG graphic object-atoms along a infinite vector guide going through the centerpoint of the texture plane (canvas).
To create an interesting an interesting texture, user can rotate the guide, and translate, rotate and scale each of the atoms, either by static value, or linearly or cyclically against time or xy coords.
User can then duplicate guides and apply trans/rot/scale to each of these duplicates.
Each of the properties mentioned before could be also attached to a ‘modulator’ that could modulate the properties along time or xy-coords. For example, sine wave function multiplier could be applied to the y-trans of each atom, translating the rows or atoms to reseble ripple-profile.
For example, make a floor tile texture by duplicating a square tile graphic along a guide running along the y axis, and then duplicating the guides along the x-axis.[end]