GLSL01

TouchDesigner 2020. 1. 8. 01:29

GLSL 기본

1. parameter에서 변수명을 정의해줌. (Public과 유사)

2. out - 마지막 결과를 할당할 변수 선언

3. TDOutputSwizzle - 텍스처 형식에 따라 올바른 채널(색상)이 들어가게 함.

GLSL UV맵

sTD2DInputs - glsl 오퍼레이터에 연결된 이미지 파일을 받아오는.

vUV.st - s : x좌표 0 - 1, t: y좌표 0 - 1텍스처의 픽셀 좌표 설정할 때 사용.

+ 참고 (for vUV 이해)

remap 오퍼레이터는 두번째 입력(r, g값)에 따라, 첫번째 이미지를 변형시키는 것이다.

vUV.st를 r, g 값으로 갖는 색상환을 대입해주면 원본이미지가 나온다.
이로부터 vUV가 텍스처 좌표(0-1)를 임을 알 수 있다.


Input Extend Mode UV - 0-1 좌표 범위 벗어나는 부분을 처리하는 방식 정함. 

Pixel Format - 픽셀이 저장되는 방식 지정. 8bit rgba채널에 대해서 0-1사이의 값만 저장 가능. 
아티팩트 현상이 일어날 수 있음. 하지만 다른 포맷에 비하여 메모리를 적게 차지함. 

*아티팩트 현상 : 픽셀의 층이 나뉘어지는 현상

 


한 중심점으로 모이는 이미지 만들기 

1. 각 x,y 좌표에서 중심점을 빼서 중심에서 좌표값으로 가는 벡터를 구한다.
2. 좌표계에 (중심 * 정규화된 방향벡터)를 더한다. 

정규화 - 크기가 1인 벡터를 만듦. (단위벡터)
center를 곱하는 이유는 정규화된 벡터는 일률적으로 크기가 1이기 때문이다.
따라서, 다시 center를 곱해줘서 크기를 만든다. 

center곱을 하지 않을 경우에는 모든 좌표가 center로 향한다. 



'TouchDesigner' 카테고리의 다른 글

GLSL03  (0) 2020.01.11
GLSL02  (0) 2020.01.09
터치 디자이너 최적화 팁  (0) 2020.01.03
유니티 터치디자이너 연동 syphon  (0) 2019.12.29
TouchDesigner WorkShop02- Interoperability with softwares&devices  (1) 2019.03.02
Posted by 도이(doi)
,

1. transform 오퍼레이터 마지막에 연결

static한 이미지는  번만 cook 한다.     

그렇기 때문에 유동성 있는 operator 마지막에 연결하는게 좋다. 



2. 이미지 해상도 사이즈에 맞게 줄이기

이미지를 사용할 해상도에 따른 성능 차이가 크게 나타난다.     

이미지를 중첩 시킬 때는 이미지 사이즈에 맞게 잘라서 사용해라. 


3. gpu memory fragmentation 방지하기
사용 가능한 메모리가 충분히 존재하지만 사용이 불가능한 상태.
memory fragmentation
방지하는 방법은 다양한 해상도의 양을 제한하는 것이다.
동일한 해상도로 교체할 쉽게 메모리에 배치된다. 

*버퍼란? 

데이터를 곳에서 다른 곳으로 전송하는 동안
일시적으로 데이터를 보관하는 메모리 영역. (저장)


4. 다른 실행 창들을 꺼놓고 사용할
특히, 바이러스 검사 프로그램


터치디자이너 big thing
GLSL, GPU particle system


'TouchDesigner' 카테고리의 다른 글

GLSL02  (0) 2020.01.09
GLSL01  (0) 2020.01.08
유니티 터치디자이너 연동 syphon  (0) 2019.12.29
TouchDesigner WorkShop02- Interoperability with softwares&devices  (1) 2019.03.02
TouchDesigner WorkShop01- Introduction to TouchDesigner  (0) 2019.02.24
Posted by 도이(doi)
,

https://github.com/keijiro/KlakSyphon

1. 위에 패키지 다운 받은 후 Unity에 import

2. MainCamera에 Syphon Server 스크립트 추가 

3. 터치디자이너에서 syphon spout in 오퍼레이터 생성 후 유니티 연동

4. 연동 성공! :)

Posted by 도이(doi)
,

TouchDesigner WorkShop02
- Interoperability with softwares&devices


- container와 base의 차이 
둘 다 operator들을 정리 담아두는 역할을 한다.
container는 inspector로써 조작 가능성 크고, base그냥 담아두는 용도이다.

- shuffle
사용자가 보기 편한 방식으로 데이터를 섞어주는 것 

MIDI 연결
Maotik midi device - launch pad mini


dialogs > midi device mapper


Create New Mapping버튼을 눌러서 midi 신호를 mapping.
여러개의 midi혹은 device를 동시에 연결 시킬 수도 있음.


미디를 연결한 후에 midi in(chop) operator로 데이터를 받아옴. 


-서로 다른 컴퓨터 간에 데이터 송수신하기 
ip주소 확인 어떤 네트워크에 연결되어있는지 확인
change adapter option
와이파이로 연결해서 서로 파일을 주고 받을 수 있음
인터넷 연결에가서 ip주소 확인
ip fix를 사용해서 항상 같은 주소를 사용함 

- 프로토콜을 보내는 방법 
osc는 여러 장비를 연결할 때 좋다
컴퓨터1 - osc out (open source controller out) - 네트워크 주소 쓰기 / 정보를 보내는
컴퓨터2 - osc in - 정보를 받음  

*OSC
Open Sound Control (OSC) is a protocol for networking sound synthesizers, computers, and other multimedia devices for purposes such as musical performance or show control.


- 두 개의 서로 다른 터치디자이너간의 데이터 송수신
touch in - 터치디자이너의 정보를 받음(touch out의 정보 받음)
touch out - 터치디자이너의 정보를 보냄 

NDI
NDI는 뉴텍에서 개발한 IP 전송 프로토콜의 일종으로
무(無)손실, 압축, 제로(Zero) 딜레이, 멀티캐스트를 특징으로 하는 네트워크 비디오 전송용 코덱이다.


스트리밍 비디오를 같은 공간에서 공유할 수 있다.
+more info link


ENTTEC

조명 제어 장치


- syphon spout in 
TOP 의 Siphon Spout 은 Windows 의 Spout 프레임 워크 또는 MacOS의 Syphon 을 지원하는 다른 응용 프로그램의 공유 메모리를 통해 텍스처 이미지를 가져옵니다 공유 메모리를 사용하기 때문에 공유 메모리는 실행중인 컴퓨터에서만 작동하며 네트워크를 통해 다른 컴퓨터로 텍스처를 전송하지 않습니다. 다른 컴퓨터에 텍스처를 보내려면 참조 TOP에서 터치 및 TOP 아웃 터치 , 또는 TOP에서 NDI를 하고 NDI 아웃 TOP .

 프로젝션 맵핑을 할 때 사용할 수 있는 텍스쳐 


ILDA
ILDA는 International Laser Display Association의 약자로, 여기서 나오는 여러가지 규정들이 레이저 디스플레이 업계 표준이된다. 이 단체에서 규정한 인터페이스와 패턴이 레이저 프로젝터에서 매우 중요한 역할을 한다.

ILDA 패턴은 프로젝터의 성능과 상태를 점검해 볼 수 있는 패턴이다.

+more info link


Kinect

kinect를 통해서 다양한 텍스쳐를 얻어낼 수 있음 
kinect chop에 들어가서 얻을 수 있는 다양한 데이터가 있다. 

kinect2에서는 face tracking이 가능함 - 감정, 안경, 입모양 같은 것들을 갖고 올 수 있음
kinect point cloud 추천 


- trace(sop)

- trim
데이터를 분리시켜주는 역할

- feedback 
흔적을 남기는 

- Instance Animation
*터디에서 instance가 가장 강력하게 animation을 만들 수 있다.  
+ 관련 튜토리얼

- 아이패드를 이용한 컨트롤 

iPad를 이용해서 system 컨트롤을 함
-
lemur application

zerror v1.6 - interface 제작하는 어플 


- shader toy (GLSL)
https://www.shadertoy.com/


Posted by 도이(doi)
,