분류 전체보기 25

[GLSL] GLSL 내장함수 : step, Mix

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 이번 강의 내용 목차 4번째 강의는 크게 IF문 / 함수(Step, Mix)로 구성되어있다. if문을 통해서 한 이미지 내에서 분기점을 만들고, 그 분기점에 따라 다른 이펙트가 적용되도록 만드는 것이 이번 강의의 목적이다.참고로 문법적인 상세한 설명은 하지 않을 예정이며 모두 다루진 않으니 영상도 한 번쯤 시청하는걸 권한다. IF문 TD 내의 좌표를 생각해보자. 지난 시간처럼 따로 곱해주지않는한 좌표는 기본적으로 (0,0) -> (1,1) 로 구성되어있다. if문과 좌표값을 적절히 사용하면 한 이미지 내에서도 여러가지 변형을 적용할 수 있다. void main(){ vec2 p = vUV.st; ve..

TouchDesigner 02:36:38

[GLSL] Zoom Effect

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 의도치않게 밀리고 밀린 GLSL 시리즈... HLSL을 공부하느라 밀렸다는 것도 약간 아이러니하다 흥미로운 TD 튜토리얼 영상을 찾아서 그걸 공부해보기전에 TDSW GLSL 시리즈를 끝내고 싶어서 다시 시작했다. GLSL와 크게 관련 없는 부분은 길게 설명해두지 않았으니 가급적 원본 동영상도 시청하길 권장한다!Zoom Effect : UV이번 시간에 만들어볼 것은 이미지가 zomm in-out 되는 간단한 이펙트다!우선 이미지를 한 장 준비해서 Index 0로 GLSL top에 연결해준다. v.UV를 변수로 대체해서 진행해보자. 이 때 sTD2DInputs[0] 텍스쳐와 같이 쓰게되는데, 이것은 TD에 내장되어..

TouchDesigner/GLSL 2025.05.29

[Unity] MediaPipe Plugin 설치

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. MediaPipe Plugin을 설치하면서 겪었던 오류만 작성해두었다.실제 설치 방법은 동영상 및 참고 자료에 작성한 URL 참고! homuler/MediaPipeUnityPlugin: Unity plugin to run MediaPipe GitHub - homuler/MediaPipeUnityPlugin: Unity plugin to run MediaPipeUnity plugin to run MediaPipe. Contribute to homuler/MediaPipeUnityPlugin development by creating an account on GitHub.github.com Bazel 설치 관련..

Unity/자료 2025.05.26

[자료구조] 선형 자료구조 : List, Stack, Queue, DeQue

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 선형구조 : List1. 선형 리스트(Linear List)연속되는 기억장치에 저장되느 자료구조로, 대표적으로 배열(array)이 있다. 원하는 정보가 있으면 해당하는 Index에 바로 찾아가면 되므로 접근속도가 빠르다는게 특징이다.단, 데이터 삽입-삭제시 데이터를 이동해주어야하므로 번거롭다. 2. 연결 리스트(Linked List)자료를 임의의 공간에 기억시키고, 순서에 따라 포인터로 연결시킨 자료구조이다.기억공간이 연속적이지 않고, 포인터를 통해 사슬처럼 앞뒤가 연결되어있는 것이 특징이다. 따라서 배열과 같은 선형 리스트와 비교했을 때 데이터(원소)의 삽입과 제거가 용이하지만 접근 속도가 느리다는 단점도 존..

Data structure 2025.05.09

[Shader] Dithering Shader

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 원래 디더링이 어떤 역할을 하는지, 어떤 개념인지도 같이 작성했었는데 글이 한 번 날아갔다...개념까지 다시 정리할 힘이 없으므로 개념은 생략하고 코드 작업만 작성했다. (개념 자체는 참고자료에 잘 적혀있다)간단히 말하자면 알파 블렌딩을 쓰지 않는다는 뜻! 코드 원문(Git Hub)코드 원문은 참고자료에 GitHub주소를 달아두었다. PropertiesProperties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Main Texture", 2D) = "white" {} _DitherScale("Dither Scale", F..

Shader 2025.05.09

[자료구조] 시간복잡도와 Big-O 표기

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 좋은 알고리즘을 평가하는 척도 : 시간복잡도와 공간복잡도 기본적으로 시간복잡도, 즉 속도가 얼마나 빠르냐에 따라서 좋은 알고리즘을 평가하게 된다.그리고 시간복잡도를 측정하기 위해서 데이터에서 연산 횟수가 얼마나 되는지를 연산해야하는데이를 알아보는 지표 빅오, 빅오메가, 빅세타 표기법이라고 한다. 각자 최악-최선-평균을 구하는 표기법이다. 빅오(Big-O) 표기법시간복잡도를 통한 성능을 측정하기 위해서 보통 빅오(Big-O)를 지표로 삼게되는데,최악인 상황에서 잘 작동한다는건 결국 어떤 상황에서도 수행이 보장됨을 의미하기 때문이다. 빅 오 표기법은 ‘n이 커질 때 알고리즘의 단계가 얼마만큼 증가하는가’ 를 잘..

Data structure 2025.05.09

[Shader] Fog with SkyBox

f공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 해당 예제는 유니티의 Built-in 코드를 기반으로 작업하였다. 이것은 수정하기전의 모습이다. World 전체에 Fog Lighting이 적용되지 않는 것이 확인된다. 기존의 코드에서 수정한 부분들 위에서 언급한 Fog 관련 처리 및 include할 HLSL 파일들 수정이 주로 이루어졌다. 기존 코드는 CG기반이기에 HLSL로 수정 작성하면서 필요해진 작업이다. 즉, 본래 사용되었던 내장함수들을 사용할 수 없기 때문에 추가하거나 대체해줄 필요가 있었다. 1. Unity_PI PI는 우리가 알고있는 파이(x) 즉 3.14이다. URP에서 내장되어있지 않으므로 직접 추가해주었다. 2. UnityObj..

Shader 2025.05.08

[기초수학] 선형성(Linearity)

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 선형성은 행렬을 배우기 전에 알아두어야할 기초 원리이므로, 이 다음에 공부할 행렬-역행렬 파트와 함께 보는 것이 좋다. 1. 선형성 (Linearity)1-1 선형성의 개념 선형성이란 어떤 함수나 연산이 선형적인 특성을 보이는 것을 의미한다. 따라서 그래프상에서 선형성은 항상 직선의 형태를 띄고 있다. 수학에서는 선형성을 만족하기 위해서 가산성(가법성)과 1차 동차성을 만족해야한다. 가산성 : f( x + y ) = f(x) + f(y) 1차 동차성 : f(k * x ) = k * f(x) (여기서 K란 스칼라 값을 의미함) 선형성을 만족하는 함수를 찾기 위해서는 위의 두 식을 대변해봐야한다. ex) ..

Math 2025.04.25

[Shader] OPaque Error with Unlit Shader (불투명 쉐이더 문제)

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 스터디 피드백을 해주던 도중 생긴 문제를 해결했던 것을 기록한다. 결론부터 말하자면 '오브젝트를 페이드 아웃 시키는 fade-out shader, 즉 Transparent가 Unlit Shader에서 적용되지 않는 문제가 발생했었고 이를 해결했었다. 이 이야기를 하면서 ZBuffer 및 알파 블렌드(Alpha Blend)에 대해서도 같이 작성하며 알파를 다루기 전 알아야할 이론을 공부했다. 교재나 웹사이트를 참고하며 정리한거기에 다소 난잡할것이다. Z Buffer?Z Buffer는 깊이 Buffer라고도 부르며, 이름 그대로 화면 기준에서 '깊이값'이 얼마인지 저장하고 있는 Buffer이다.X축과 Y축만이 ..

Shader 2025.04.25

[Shader] HLSL 작성 숙달을 위한 구조 파악 with Reflection Example

공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다. 최근 공부를 위해 참고하고 있는 교재는 Surface Shader 중점적으로 다루고 있다. URP를 사용하기 위해서는 HLSL 기반으로 Shader를 작성할 필요가 있기 때문에 현재 공부는 교재 내용을 따라 학습 후 HLSL로 고치는 방식으로 진행하고 있다. HLSL의 구조 즉 Properties -> SubShader -> Pass -> struct Attributes, struct Varyinge -> Vertex Shader - > Fragment Shader 아래는 교재를 참고하면서 작성한 Cubemap 기반 Reflection 코드이다.위에서 언급했듯이 HLSL이 아닌 Surface Shader..

Shader 2025.04.24