devNotes 9-21-16 Platonic Solids – Event Routing
devNotes 9-20-16 Cube Octahedron – Platonic Geometry Attractor Selector
devNotes 9-19-16 Platonic – Solids Plus Attractors
devNotes 9-18-16 Platonic Solids Attractors
devNotes 9-17-16 UI work Blend Modes
devNotes 9-16-16 UI work Initialization – Serialization
devNotes 9-15-16 Color Pickers UI Work
devNotes 9-14-16 Double Slider UI Work
devNotes 9-13-16 Electric Universe – Fibonacci
devNotes 9-12-16 UI Sliders – User Experience – Pendulums
devNotes 9-11-16 Pollish Hone UI Layout
devNotes 9-10-16 color picker transformation – multiple start geometries
devNotes 9-9-16 ui design and layout demo
devNotes 9-8-16 Serialization Controller Presets
devNotes 9-7-16 Persistent Presets
devNotes 9-6-16 Presets Serialization Audio
devNotes 9-5-16 Presets – Transitions – 2nd Pendulum
devNotes 9-4-16 Second Pendulum – Shader Study – Performance Limits
devNotes 9-3-16 Geometry Shaders Generating Tetrahedrons
DevNotes 9-2-16 Incorporate Compute Code into Pendulum Platform
devNotes 9-1-16 CUDA Best Practices – Occupancy Calculator
devNotes 8-31-16 Combine Compute and Geometry
devNotes 8-30-16 Compute Shader Geometry Shader Pendulum
devNotes 8-29-16 Compute Shaders with Geometry
devNotes 8-28-16 Compute And Geometry Shaders
devNotes 8-27-16 vesica pisces – pendulum – particle systems
devNotes 8-26-16 Story Board 1
devNotes 8-25-16 Pendulum
devNotes 8-24-16 Rope Physics – Pendulum
devNotes 8-23-16 serialize vector3 – lines – events
devNotes 8-22-16 equidistant segmenting hex lengths
devNote 8-21-16 A Unifying Framework
devNotes 8-20-16 Wing – Stylus – Note Disbursement
devNotes 8-19-16 Path Drawing Constant Velocity Curves on Surface of Sphere
devNotes 8-18-16 Three Voices – Colors – Video
devNotes 8-17-16 Note List with Positions
devNotes 8-16-16 MultiVoice – Vamp – Ostinato
devNotes 8-15-16 Note Collision Latency – Multi Voice – Multi Instrument – Filter Adjustment
devNotes 8-14-16 Multi Voice – Persistent Filtering
devNotes 8-13-16 Three Voices Three Instruments
devNotes 8-12-16 Controller Radial Menu – ScreenShots
devNotes 8-11-16 Vive Echo Bose
devNotes 8-10-16 Echo light ao darkness order ao chaos
devNotes 8-9-16 Controller Hex Drawing
devNotes 8-8-16 UI Interaction Stone Fox – 12 Horns
devNotes 8-7-16 UI Skinning – Line Drawing – Hex Lighting – 12 Horns
devNotes 8-6-16 renderTexture Layer definition – Illustrate
devNotes 8-05-16 Hex Lighting – Follow sphere – Instanced Rendering
devNotes 8-04-16 Controller Interaction with Argos Sphere
devNotes 8-03-16 Vive Input Module
devNotes 8-2-16 HTC Vive Development Workflow & Min App
devNotes 8-01-16 HTC Vive config and build setup
devNotes 7-31-16 Heart Radiator Sensor
devNotes 7-30-16 Drawing Lines
devNotes 7-29-16 Controller Singleton – Delegates – Events
devNotes 7-28-16 Oera Linda – Navigation – Drawing
devNotes 7-27-16 Singleton Controller – Movement – Drawing
devNotes 7-26-16 Tetragrammaton
devNotes 7-25-16 base android gearVR
devNotes 7-24-16 roots – resonance – ring
devNotes 7-23-16 new minapp – test on GearVR
devNotes 7-22-16 nature
devNotes 7-21-16 OTF drawing circular buffs spline smoothing
devNotes 7-20-16 Spline Brush Draw
devNotes 7-19-16 Spline Timing Factory Quad Distribution
devNotes 7-18-16 Catmull Rom Drawing – Equidistant Quad Centers
devNotes 7-17-16 Catmull Rom Spline Paint Function
devNotes 7-16-16 Line Drawing – Splines the Discreet to the Continuous
devNotes 7-15-16 backgound texture shader profiler quad pool
devNotes 7-14-16 paint – echo
devNotes 7-13-16 monitor logcat analysis and optimizations
devNotes 7-12-16 Bench Tabbed UI World Sphere Cursor
devNotes 7-11-16 GearVR performance – contact Vuforia & Unity
devNotes 7-10-16 profiling TDD performance goals
devNotes 7-09-16 exercise fluid pathways
devNotes 7-08-16 adb debug workflow
devNotes 7-07-16 galaxy 7 usb debug – performance – initial tests
devNotes 7-06-16 mvc hierarchy, persistent storage, reload preferences
devNotes 7-05-16 utility ui, survey, tools, json
devNotes 7-04-16 accordion 3d button selector – movement – sound follow
devNotes 7-03-16 ui interaction navigation message processing
devNotes 7-02-16 navigation OVR Camera rig movement
devNotes 7-01-16 sphere interaction cursor states voronoi
devNotes 6-30-16 GearVR testing navigation sphere cursor states
devNotes 6-29-16 navigation UI state cursor follow
devNotes 6-28-16 cursor ui interaction – sphere gaze intersection – cursor state
devNotes 6-27-16 mvc structure ui interaction
devNotes 6-26-16 fsm mvc ui Trygve Reenskaug
devNotes 6-25-16 ioc – amvcc or application-model-view-controller-component
devNotes 6-24-16 OVR cursor canvas interaction – transitions – triggers
devNotes 6-23-16 AR-VR transitions, singleton manager, ui modal dialog
devNotes 6-22-16 cursor swap, tool selection, editor functions
devNotes 6-21-16 json, scriptable objects, trackable movement, timing and placement
devNotes 6-20-16 modal menu cycling, scroll plate, tap tap tap
devNotes 6-19-16 navigation into sphere, HUD, user experience
devNotes 6-18-16 UI GearVR, devPipeline, radial menus
devNotes 6-17-16 GearVR UI work, user movement and navigation
devNotes 6-16-16 pipeline back to vr, movement, sphere cursor
devNotes 6-15-16 Sound Plot, Circular buffer, Echo Processing
devNotes 6-14-16 echo editor ui, argos mesh draft, phi
devNotes 6-13-16 echo interface, argos meshDraft levels, vertical processing
devNotes 6-12-16 VR lab, sound and partSys interfaces
devNotes 6-11-16 GearVR interface, parameter adjustment settings file, movement
devNotes 6-10-16 CLJ AR/VR composition, refinement, integrity
devNotes 6-09-16 GearVR UI, Argos Sphere Indexing, AR UI Interactions
devNotes 6-08-16 texture writing, echo buffer performance, multi tracking
devNotes 6-07-16 audio latency, GearVR ui and mobile testing
devNotes 6-06-16 GearVR pipeline, micInput, audio compression
devNotes 6-5-16 android UI, handheld AR, Argos VU
devNotes 6-4-16 orientation, navigation, gyro, compass raw vector
devNotes 6-3-16 native vuforia app structure, dev UI, look and feel
devNotes 6-2-16 AR sample, ARM performance and debug
devNotes 6-1-16 Vuforia 5.5 base, gearVR and performance evaluation
devNotes 5-31-16 fundamental lock, voice tracking, harmonizing
devNotes 5-30-16 onFilterRead, windowing and FFTs
devNotes 5-29-16 Mic input, processing and recording
devNotes 5-28-16 sound generation, audio processing, harmonizer
devNotes 5-27-16 sound processing, alignment and generation
devNotes 5-26-16 quad pool, object reuse, memory management
devNotes 5-25-2016 GPU instancing, audio echo, list processing
devNotes 5-24-16 Argos Brush, List performance, subFrame tweens
devNotes 5-23-16 sound visualization, particle system instances, pivot rotations
devNotes 5-22-16 topologies, voronoi baking
devNotes 5-21-16 code review, app design and sound painting
devNotes 5-20-16 lines, fills and fibonacci
devNotes 5-19-16 three tier workflow – particle system foundry
devNotes 5-18-16 detail, precision, focus, hexagonal solids
devNotes 5-17-16 particle system positioning, world space and ps threading
devNotes 5-16-16 timed tweens, visual flow and particle dynamics
devNotes 5-15-16 particles, instantiation, fibRider and tweening
devNotes 5-14-16 navigation, particles and time tweens
devNotes 5-13-16 timing, events and tweening
devNotes 5-12-16 scrubber, event editing and composition
devNotes 5-11-16 path follow, koreographer & theme
devNotes 5-10-16 patterns, particle system internals, crossfades
devNotes 5-09-16 events, vizEls and spinerettes
devNotes 5-08-16 dotProduct gatherings
devNotes 5-07-16 phasor on icoplane
devNotes 5-07-16 icosahedral projection
devNotes 5-05-16 Video Project 1
devNotes 5-04-16 midi events animations procrustean
devNotes 5-03-16 midi specs, delegates and events
devNotes 5-02-16 foriero – sequencer
devNotes 05-01-16 fibo Begin the Beguine
devNotes 4-30-16 ArgosFibonacci.cs – iTween driven quaternion lerp
devNotes 4-29-16 ArgosFibonacci.cs – iTween Callbacks
devNotes 4-28-16 ArgosFibonacci.cs – quad cells – indexing and tweening
devNotes 4-27-16 fibonacci nodes – triangulation and meshing
devNotes 4-26-16 fibonacci voronoi position list nb direction ordering
devNotes 4-25-16 voronoi position list and data structure
devNotes 4-24-16 build hexagons from veronoi positions
devNotes 4-23-16 hex alignment and placement
devNotes 4-22-16 hex generation using subdivision
devNotes 4-21-16 tcq implementation – hex mapping and indexing
devNotes 4-20-16 tcq – unit testing continued
devNotes 4-19-16 tcq – unit testing – 2D rotator
devNotes 4-18-16 triangle center quality – projections to/from the uv plane
devNotes 4-17-16 triangle center quality – point in given cell
devNotes 4-16-16 instancing tethered masses with radial repelling forces
devNotes 4-15-16 triangle grading – Voronoi cells and Delaunay triangulation
devNotes 4-14-16 tile matching and scaling – multum in parvo
devNotes 4-13-16 quaternion mesh tile matching
devNotes 4-12-16 spherical mapping – audio xurious
devNotes 4-11-2016 ico-sphere projection mapping – audio sample
devNotes 4-10-16 goldberg polyhedra construction and addressing
devNotes 4-09-16 circle lattice packing
devNotes 4-08-16 adb – code for ui netManager – 3rd geometry layer
devNotes 4-07-16 slerpspergsburg unclamped
devNotes 4-06-16 elastic slerp – quaternion tweens overshoot
devNotes 4-05-16 pcg utilities – quad spawning – tween – elastic
devNotes 4-04-16 minApp – targeting & timed performance – as list
devNotes 4-03-16 networking – front end UI – prepare for testing
devNotes 4-02-16 networking netMove states – Cmd from client
devNotes 4-1-16 networking – remote testing
devNotes 3-31-16 networking – remote client
devNotes 3-30-16 networking – Parenting netCamera – netCamMove code
devNotes 3-29-16 networking – Setting up a Multiplayer Project
devNotes 3-28-16 networking – NetTransform, PlayerObj, NetBehaviour
devNotes 3-27-16 path recording – spline continuity and net spawning
devNotes 3-26-16 unoShader unlit – unity online conference – wtb
devNotes 3-25-16 paint_track – paintList_track – movement recording
devNotes 3-24-16 cursor design
devNotes 3-23-16 cursor design
devNotes 3-22-16 cursor & hex addressing
devNotes 3-21-16 cursor & hex addressing
devNotes 3-16-16 hex map seam
cursor work
argosSphere nav table
Argos – devNotes – nov 2015 to Mar 2016
public float argos_bloom_envelope(float T1, float T2, float t) { if(t<T1) { return Mathf.Sin((t / T1) * (Mathf.PI / 2f)); } else if(t>T1 && t<T2+T1) { return Mathf.SmoothStep(1f, 0f, (t - T1) / T2); } return 0f; } public float argos_wiggle_evnvelope(float T1, float T2, float t) { float bas,amp; bas = 1f - (pctModulate / 2f); amp = pctModulate / 2f; float lev = argos_bloom_envelope(T1, T2, t); float wiggle = bas + amp * Mathf.Sin((t) * (wiggleFreq*2f*Mathf.PI)); if(t>0f && t < T2 + T1) { return lev * wiggle; } return 0f; }
Now on to the animated cursor…
Note on moving between – Dev Build and Tango Build
in
uncomment
//_UpdateTransformation(m_tangoARScreen.m_screenUpdateTime); //userMovement.OnPoseUpdated(transform);
and comment out
void Update () { OnPoseUpdated(Camera.main.transform); }
OnPoseUpdated(Camera.main.transform);
in
public class UserMovement : MonoBehaviour
and return the Tango_AR_Camera to position = (0,0,0)
public int getHexIdx(Vector3 point)//error code means point outside of 1% tolerance { int qIdx = getLLQuadIdx(point); if (qIdx == -1) return -1; //point outside of 1% radius tolerance Vector3 v0 = LLQuads[qIdx].mdQuad.vertices[0]; Vector3 v1 = LLQuads[qIdx].mdQuad.vertices[1]; Vector3 v2 = LLQuads[qIdx].mdQuad.vertices[2]; Vector3 v3 = LLQuads[qIdx].mdQuad.vertices[3]; Vector3 vXn = v2 - v0; float magX = vXn.magnitude; vXn.Normalize(); Vector3 vYn = v1 - v0; float magY = vYn.magnitude; vYn.Normalize(); Vector3 vP = point - v0; float magP = vP.magnitude; if (Vector3.Dot(vXn, vP) < (1f / 6f) * magX) return LLQuads[qIdx].H_idx[0]; if (Vector3.Dot(vXn, vP) > (5f / 6f) * magX) return LLQuads[qIdx].H_idx[3]; if (Vector3.Dot(vXn, vP) > ((1f / 3f) * magX) && Vector3.Dot(vXn, vP) < ((2f / 3f) * magX)) { if (Vector3.Dot(vYn, vP) < (1f / 2f) * magY) return LLQuads[qIdx].H_idx[1]; else return LLQuads[qIdx].H_idx[2]; } Vector3 A = v0 + (1f / 6f) * vXn * magX; Vector3 B = v0 + (1f / 3f) * vXn * magX + (1f/2f) * vYn * magY; Vector3 C = v1 + (1f / 6f) * vXn * magX; Vector3 D = v2 - (1f / 6f) * vXn * magX; Vector3 E = v2 - (1f / 3f) * vXn * magX + (1f / 2f) * vYn * magY; Vector3 F = v3 - (1f / 6f) * vXn * magX; Vector3 APos = point - A; Vector3 AB = B - A; Vector3 CPos = point - C; Vector3 CB = B - C; Vector3 vFwd = point.normalized; if (Vector3.Dot(vXn, vP) > (1f/6f)*magX && Vector3.Dot(vXn, vP) < (1f/3f)*magX) { if (Vector3.Dot(vYn, vP) < (1f/2f)* magY) { if (Vector3.Dot(Vector3.Cross(APos, AB), vFwd) > 0) return LLQuads[qIdx].H_idx[0]; return LLQuads[qIdx].H_idx[1]; } else { if (Vector3.Dot(Vector3.Cross(CPos, CB), vFwd) < 0) return LLQuads[qIdx].H_idx[0]; return LLQuads[qIdx].H_idx[2]; } } Vector3 DPos = point - D; Vector3 DE = E - D; Vector3 FPos = point - F; Vector3 FE = E - F; if (Vector3.Dot(vXn, vP) > (2f/3f) * magX && Vector3.Dot(vXn, vP) < (5f/6f) * magX) { if (Vector3.Dot(vYn, vP) < (1f/2f)*magY) { if(Vector3.Dot(Vector3.Cross(DPos, DE), vFwd) > 0) return LLQuads[qIdx].H_idx[1]; return LLQuads[qIdx].H_idx[3]; } else { if (Vector3.Dot(Vector3.Cross(FPos, FE), vFwd) < 0) return LLQuads[qIdx].H_idx[2]; return LLQuads[qIdx].H_idx[3]; } } return -1; }