vvvv
vvvv 개요
빌딩블록 방식의 툴
- 마우스클릭과 드래그를 통한 새로운 프로그래밍 방식
- MAX msp
- 맥 쿼츠 컴포져
vvvv snap nodes to grid
- https://vvvv.org/contribution/snap-nodes-to-grid
vvvv 패치 내에서의 스크롤링에 관하여
- alt와 함께 스크롤하면 가로스크롤
- ctrl과 함께 스크롤하면 빠른 스크롤
튜토리얼 사이트
- https://vvvv.org/documentation/tutorials
- http://everyware.kr/home/category/lectures/vvvv-basics/
API 사이트
- vvvv sdk : https://github.com/microdee/vvvv-sdk
- 프로그램 파일 및 에드온 : https://vvvv.org/downloads
- VVVV.Audio Pack Alpha : https://vvvv.org/contributions/7934/all ** https://vvvv.org/contribution/vvvv.audio-pack-alpha
VVVV 기본단위
- 패치
- 노드
- IO박스
- 핀
value 인스펙터
각 칸의 의미
- Descriptive name : 가시적으로 표시할 이름
- Precision : 소숫점 자리수
- Unit: 변수의 단위표기 (mm, 원 등등)
- Show Slider : 드래그 가능한 슬라이더를 표시함
- Maximum : 슬라이더로 도달할 수 있는 최대값
- Minimum : 슬라이더로 도달할 수 있는 최소값
- Slider Behavior
- Endless : 끝없음. 변화량이 다소 적음 (최대값과, 최소값에 따름)
- slider : 실제 변수슬라이더의 위치에 따른 값변화
- Slider Constrains : 슬라이딩 방향 csX(가로) csY(세로)
- 구획별로 나누어 [기본 프로퍼티 / input value / output value]
변수 입력방법
- 인스펙터에서 해당 값 더블클릭 입력
- 해당 값 핀을 우클릭 드래그하여 위아래
- 해당 값 핀을 우더블클릭하여 값 입력
각 칸 왼쪽의 흰색, 회색, 검은색 칸
- 우클릭시 형태변경
- 읽기 쓰기 상태가 변경됨
- 검은색 : read write
- 회색 : read only
- 흰색 : protect
렌더러 (renderer)
- 화면에 마우스 왼쪽 더블클릭
- Renderer 입력하면 각종 렌더러를 볼수 있음
GDI Renderer
- GDI(Graphics Device Interface)
- alt+1, alt+2, alt+3 로 렌더러의 상태를 변경할 수 있음
- 마우스 왼쪽더블클릭. 검색창에 마우스 우클릭, GDI 항목을 눌러서 GDI renderer에 그려낼 수 있는 객체들을 확인할 수 있음
- Group을 이용하여 여러 GDI Geometry를 사용가능함
input 인자값들
- clear : 0일경우 클리어하지 않음(누적으로 그림이 그려짐), 1일경우 클리어됨
- backbuffer width, height : 백버퍼에 먼저 그린다음 프론트로 가져오게 되는데 그 백 버퍼의 크기
- fullscreen : 전체화면 표시 , 0윈도우, 1전체화면
- viewport transform : 뷰포트를 전체로 움직임 (스크린의 센터점 등이 바뀔수 있음)
keymatch에서 사용하는 키 이름
- https://msdn.microsoft.com/de-de/library/system.windows.forms.keys.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1
output 인자값들
- backbuffer width, height: 현재 랜더러의 백버퍼 크기
- GDI out : 랜더러를 통하여 만들어진 GDI를 꺼내서 후처리 할 수 있음
Spread
- 마우스 우클릭 : 변수생성
- Ctrl+I : 인스펙터창 띄우기
- Columns, Rows, Pages : Spread 크기 지정
- Show SliceIndex
- SliceCount Mode : ColsRowsPages로 설정하면 변수가 없더라도 칸을 나누어 각 변수를 보여준다
LinearSpread
- 순서대로 Input, Width, Alignment, Phase, Spread Count
- Input: 시작값
- Width: 시작값을 중심으로 Spread될 범위, -width/2 ~ +width/2까지
- Alignment : 기준점 설정, 왼쪽, 가운데, 오른쪽 선택가능
- Phase : 기준점을 중심으로 얼마나 좌우로 밀어낼 것인가를 결정
- Spread Count : 위 최소 최대값을 spread count 갯수만큼 나눈다
RandomSpread
- RandomSeed: 랜덤의 씨앗이 되는 변수, 이 값이 같다면 결과도 같은 패턴으로 나오게 된다. 두개 이상의 RandomSpread는 각각 다른 seed를 가지고 있어야한다.
CircularSpread
typoSpread
GetSlice
- Index : 시작위치 0부터 시작
- Bin Size: 한번에 받아올 데이터의 갯수
spectral
- Spread 변수를 한꺼번에 처리하기 위한 노드
texture filters
- BlurDirectional : 방향성있는 블러
- Edge : 경계선 강조
- Grain : 원본기반 노이즈
- median : 복화시 (특수유리로 비친 반대편 같은)
- Twirl : 중심 뒤틀림
- Magnigy : 중심 볼록함
- LensBlur : 카메라 랜즈 초점 안맞을때 생기는 흐림
- pixelize : 모자이크
- emboss : 모노톤의 올록볼록 화면
- DotPainter : 동그라미와 컬러로 표현되는 화면
- polygonize : 폴리곤으로 표현
- 등 texture filter를 받아서 사용하는 node는 모두 화면효과를 줄 수 있다.
단축키
- Ctrl+I : 인스펙터창 띄우기
- Ctrl+T : 창을 항상 위에 위치하도록 하기
- Ctrl+Y : 라인 정리하기
- Alt+2 : 렌더창 임베드 시키기
-
https://vvvv.org/node/164074
- Ctrl+G : 그룹만들기
- Ctrl+Shift+S : 다른이름으로 저장
여러가지 노드명
- 한번에 수식을 적용하기 위한 expr
- 데이터를 누적하기위한 queue
- spread를 합치고 쪼개기 위한 Stallone
- spread를 한번에 연산하고 싶을때는 (value spectral)이 붙은 노드를 사용하면 됨
vvvv + arduino
- firmata : https://www.arduino.cc/en/Reference/Firmata
- ino 파일 다운로드 후 IDE로 아두이노에 업로드
- https://github.com/firmata/arduino/blob/master/examples/StandardFirmata/StandardFirmata.ino
- 여기서 받은것만 제대로 작동함. 다른데서 받은건 컴파일에러나네
- https://github.com/firmata/arduino/tree/configurable
vvvv + midi
- https://vvvv.org/contribution/vvvv.audio-pack-alpha
- 하단 download에서 다운 가능
- loopBe1 : http://www.nerds.de/en/download.html
- asio4all : http://www.asio4all.org/