/------------------------------------------------------------------------------ Document about relaxation demosystem effect: "boxGrower" Updated 2017/7/16 adapt 2017 ------------------------------------------------------------------------------/ Generic description: The effect is growing tree like structures from selected mesh shapes (configured in Skene.qml file) with chosen interval and pattern either on a plane or from surfaces of any objects (this surfaces emit still TBD!). Effect is based on seed meshes emitted into the trans VBO. These seed meshes emit a copy of itself every emitRateMS time (in milliseconds), and also make another branch every branchRateMS (also in milliseconds). Parameters: /------------------------------------------------------------------------------ The term brancLevel is defined to be 0 for the main branch, 1 for the child branches of the main branch, 2 for the children of these and so on (increase by one on each child branching). ------------------------------------------------------------------------------- .grow.discardEdgeLen The whole triangle is discarded when any edge length exceeds this value. ------------------------------------------------------------------------------- .grow.maxDist Maximum distance for the vertices from the origo, after which they are discarded. ------------------------------------------------------------------------------- .grow.emitRateMS How often a new box is cloned from the previously last cloned box. ------------------------------------------------------------------------------- .grow.branchRateMS How often a new branch is generated (MS as in milliseconds) either from the main branch or from any child branch. .grow.branchRateVar The variation of the branch rate MS. .grow.branchRateFreq The variation frequency of the branch rate MS. ------------------------------------------------------------------------------- .grow.maxBranch Maximum number of branches done in the main branch. Each child branch has each one less of the max branches as their parent (meaning in other words that this parameter is decreased one per level). ------------------------------------------------------------------------------- .grow.maxLevel Maximum branch level limiting the number of child recursions to this value. ------------------------------------------------------------------------------- .grow.maxAgeSec Maximum age in seconds for each box since they are emitted. ------------------------------------------------------------------------------- .grow.maxEmitTimeSec Maximum emit time in seconds, if this is for example 10.0 then no emits into the whole tree are done after all boxes are older than 10s. ------------------------------------------------------------------------------- .grow.move How much the new emitted box is moved from the previous. Together with .grow.emitRateMS forms the growing speed. .grow.moveX, .grow.moveY, .grow.moveZ XYZ specific scales for the base move. ------------------------------------------------------------------------------- .grow.movePerLevel How much the base move value is modified per each child branch level. The move value of the child branch is moveChild = move + movePerLevel*branchLevel ------------------------------------------------------------------------------- .grow.moveOfs How much the move goes towards Y-axis in addition to the sincos curve. ------------------------------------------------------------------------------- .grow.moveOfsPerLevel How much the moveOfs value is modified per each child branch level. ------------------------------------------------------------------------------- .grow.moveFreq The frequency for the sincos move curve variation. ------------------------------------------------------------------------------- .grow.moveFreqVar How much the moveFreq is varied (with another sincos curve). ------------------------------------------------------------------------------- .grow.sca How much each emit of a new box scales the previous emitting box. Done only once at the emit time. Prefer to keep this close to 1.0 ------------------------------------------------------------------------------- .grow.scaVar How much the scale of the emitted box is varied. Prefer to keep this close to 0.0 ------------------------------------------------------------------------------- .grow.scaVarFreq What is the frequency for the scale variation. ------------------------------------------------------------------------------- .grow.scaVarPhase The phase for the scale variation. (Is this really needed??!?) ------------------------------------------------------------------------------- .grow.scalePerLevel How much the box is scaled with each new child branch. If this is for example 0.5, then the first child branch gets 0.5 scale boxes when compared to the root size and the child branches of these get 0.25 = 0.5*0.5 scale. ------------------------------------------------------------------------------- .grow.rot1 How big the rotation sincos variation amplitude from the main grow dir is on YZ plane. ------------------------------------------------------------------------------- .grow.rot2 How big the rotation sincos variation amplitude from the main grow dir is on XZ plane. ------------------------------------------------------------------------------- .grow.rot1Level How much the rotation variation 1 is modified per branch level. ------------------------------------------------------------------------------- .grow.rot2Level How much the rotation variation 2 is modified per branch level. ------------------------------------------------------------------------------- .grow.branchAng .grow.branchAngVar .grow.branchAngVarFreq The angle, variation and the variation frequency of the child branch when compared to the parent grow dir. Value of 0.0 is 90 degrees from the parents dir, 1.0 is into the parent dir and -1.0 completely against. ------------------------------------------------------------------------------- .grow.emitMeshScale How big mesh is emitted as the seed of the grower. ------------------------------------------------------------------------------- boxGrower.grow.emitTrack.freq boxGrower.grow.emitTrack.innerFreq boxGrower.grow.emitTrack.innerRad boxGrower.grow.emitTrack.rad Control the seed emit track on the XZ plane. TODO later to add surface emitter replacing this... ------------------------------------------------------------------------------- .grow.rotAmount How the sincos rotation vs the directional grow is balanced. Value of 0.0 is pure directional growth, 1.0 is pure sincos direction. ------------------------------------------------------------------------------- .grow.rotAmount How much the rotAmount changes per branch level. ------------------------------------------------------------------------------- These params are for move XY, YZ or XZ plane palette gradient. .grow.movePalAmp .grow.movePalAge (how the age of the box effects the palette offset) .grow.movePalFreq .grow.movePalFreqLevel (how much base freq increases per branch level) .grow.movePalOfs .grow.movePalOfsLevel (how much base ofs increases per branch level) palette gradient defining the grow "plane" (if one of the moveX, Y or Z is set to zero or near zero). Applied with amplitude .grow.movePalAmp and the x offset in palette image is moved in time with .grow.movePalFreq, .grow.movePalFreqLevel, .grow.movePalOfs, .grow.movePalOfsLevel, .grow.movePalAge (how the age of the box effects the palette offset). The effect for move X, Y and Z is achieved through swizzle of the moveX, moveY & moveZ in following way: (all values from green channel) if palette 0.0 >= .g < 0.333 then moveXYZ (XY plane) if palette 0.333 >= .g < 0.667 then moveZXY (XZ plane) if palette 0.667 >= .g <= 1.0 then moveYZX (YZ plane) ------------------------------------------------------------------------------- .grow.maxSca How much the maximum scale can be .grow.maxScaSmooth How smoothly the maximum scale is approached: 0.0 not smoothly at all 1.0 maximum smoothness .grow.moveScale Move after emit together when scaling existing ones bigger .grow.maxScaMove Maximum move when scaling existing .grow.maxScaMoveSmooth Move smoothing when reaching the maximum scale base move: 0.0 not smooth at all 1.0 maximum smoothness ------------------------------------------------------------------------------/ 1001Fonts Free For Commercial Use License (FFC) Preamble In this license, 'Expansiva' refers to the given .zip file, which may contain one or numerous fonts. These fonts can be of any type (.ttf, .otf, ...) and together they form a 'font family' or in short a 'typeface'. 1. Copyright Expansiva is the intellectual property of its respective author, provided it is original, and is protected by copyright laws in many parts of the world. 2. Usage Expansiva may be downloaded and used free of charge for both personal and commercial use, as long as the usage is not racist or illegal. Personal use refers to all usage that does not generate financial income in a business manner, for instance: - personal scrapbooking for yourself - recreational websites and blogs for friends and family - prints such as flyers, posters, t-shirts for churches, charities, and non-profit organizations Commercial use refers to usage in a business environment, including: - business cards, logos, advertising, websites, mobile apps for companies - t-shirts, books, apparel that will be sold for money - flyers, posters for events that charge admission - freelance graphic design work - anything that will generate direct or indirect income 3. Modification Expansiva may not be modified, altered, adapted or built upon without written permission by its respective author. This pertains all files within the downloadable font zip-file. 4. Conversion Expansiva may be converted to other formats such as WOFF, SVG or EOT webfonts, as long as the font is not modified in any other way, such as changing names or altering individual glyphs. 5. Distribution While Expansiva may freely be copied and passed along to other individuals for private use as its original downloadable zip-file, it may not be sold or published without written permission by its respective author. 6. Embedding Expansiva may be embedded into an application such as a web- or mobile app, independant of the number of the application users, as long as the application does not distribute Expansiva, such as offering it as a download. 7. Disclaimer Expansiva is offered 'as is' without any warranty. 1001fonts.com and the respective author of Expansiva shall not be liable for any damage derived from using this typeface. By using Expansiva you agree to the terms of this license. _ ___o_ :/// / : ________ : ________ ___________ __\___ /_: _____ __\___ /_ ______\ _ _ / / _ /__\__ \ _ /_\_ /__/ /__\ / / _/ / \ / _/ / // / -- ------\_________\ / /_______\ /_____//____\-tR!------> /__________/ /______\ . : : A D A P T : -=- : 32 /12 /2017 : . navidadapt 10 - navid adapt navi dad apt code, fx & rocketing <:-> deepr gfx & rocketing <:-> mistral music <:-> basscadet Using Adapted GNU Rocket, OpenGL 4.3+, Qt 5.9, FMOD, Assimp, GLM and Rodeo. Features a custom QML scriptable demo engine, made with love since 2015. -=- deepr -=- mistral -=- basscadet -=- legend -=- felor -=- minomus -=- Greetings: Accession - Ananasmurska - ASD - Avaruus - Byterapers - Brainstorm - CNCD - Complex - Damones - DCS - Dekadence - DSS - Epoch - Evoflash - Fairlight - Fit - GIN - glxblt - HBC - hear - Jac - JML - K2 - Kewlers - Ksylitol - Matt Current - MFX - NPLI - Odelay - Offence - OOBC - Optimus - Parallax - Paraguay - Peisik - Pistoke - Pixheli - moomi - pksu - Portal Process - Prismbeings - promille deZign - Roisto - SQNY - Syntesthetics - tAAt - Tekotuotanto - TPOLM - Traction - Bilotrip - Trilobit - TRSI - Twisted - And all the rest we forgot once again! Special love for our lovely wives, dogs, girls, cats and boys!!!