본문 바로가기

Nuke/Blink Script14

Blink Scripting 101 - C++의 For 루프 C++의 For 루프 설명For 루프는 특정 조건에 따라 작업을 여러 번 반복할 수 있도록 도와주는 C++의 기본 문법입니다. 이 문법을 사용하면 반복되는 코드를 일일이 작성하지 않아도 되고, 반복 횟수를 유연하게 제어할 수 있습니다.For 루프의 기본 구조for (int i = 0; i 구성 요소:초기화 (int i = 0): 루프가 시작될 때 실행되는 부분으로, 카운터 역할을 하는 변수를 설정합니다. 일반적으로 0부터 시작합니다.조건 (i : 루프가 계속 실행될지 멈출지를 결정하는 조건입니다. 조건이 true인 동안 루프가 실행됩니다.증가 (i++): 각 반복이 끝날 때 카운터 값을 업데이트합니다. 일반적으로 1씩 증가시킵니다.이 세 가지가 결합되어 루프가 정해진 횟수만큼 실행됩니다.예제: For 루.. 2024. 12. 11.
Blink Scripting 101 - 2D Radial Ramp 구현 2D Radial Ramp 구현: 두 가지 접근 방식2D 공간에서의 Radial Ramp는 이미지를 기준으로 중심에서 바깥쪽으로 점진적으로 변화하는 값을 계산하는 작업입니다. 이 작업은 주로 비네팅 효과(vignetting), 마스크 생성, 혹은 기타 그래픽적 효과를 구현할 때 유용합니다. 이 섹션에서는 두 가지 방식으로 Radial Ramp를 구현하는 방법을 살펴보고, 각각의 핵심 아이디어와 과정을 정리하겠습니다.1. 첫 번째 접근 방식: 거리 공식 기반개요첫 번째 방법은 간단한 거리 공식(distance formula)을 기반으로 하여 각 픽셀의 중심으로부터의 거리를 계산하고 이를 Normalize(정규화)하여 Ramp를 생성합니다.주요 공식거리 공식:이를 이용해 중심에서 바깥으로 갈수록 값이 증가하.. 2024. 12. 11.
Blink Scripting 101 - 이미지 변환 적용 이미지 변환 적용: 이분선형 보간법, 스케일링, 회전제공된 코드는 이분선형 보간법, 스케일링, 회전과 같은 다양한 이미지를 변환하는 기술을 보여줍니다. 이 변환들은 이미지의 각 채널(RGBA)을 개별적으로 제어할 수 있으며, 이미지를 다루는 방식에 대한 유연성을 제공합니다. 아래는 코드에서 설명된 주요 개념과 구현 내용을 정리한 것입니다.이분선형 보간법 (Bilinear Interpolation)이분선형 보간법은 픽셀 좌표 사이의 부동소수점 위치에 대해 픽셀 값을 보간하는 방법입니다. 이 방법은 대상 좌표와 주변 픽셀 그리드 사이의 비율을 기반으로 주변 픽셀 값의 가중 평균을 계산합니다.기본 이분선형 변환기본 변환 코드는 이분선형 보간법을 적용하여 이미지를 이동시키는 작업을 합니다. 이동은 X, Y 축에.. 2024. 12. 11.
Blink Scripting 101 - UV 맵 생성 예제 UV 맵 생성 예제 (Compositor용)UV 맵 생성에서 고려할 점: Blink의 접근 방식Blink에서 UV 맵을 생성할 때 고려해야 할 몇 가지 중요한 사항이 있습니다. 가장 중요한 점은 이미지의 접근 방식(eRead)에 따라 계산 방식이 달라진다는 것입니다. Blink에서는 두 가지 주요 접근 방식이 있습니다: eAccessPoint와 eAccessRandom입니다.1. ImageImage는 Nuke의 설정에서 지정된 높이 타일 수에 따라 계산이 정의됩니다. 이 방식은 지정된 타일 크기 내에서만 계산이 이루어집니다. 즉, 이미지를 타일 단위로 나누어 처리할 때, 각 타일은 고정된 범위 내에서만 접근할 수 있습니다. 이 방식은 이미지가 큰 경우 성능을 최적화할 수 있지만, 특정한 위치나 크기의 데.. 2024. 12. 11.
Blink Scripting 101 - Combining Input Image and Custom Color Combining Input Image and Custom Color목표이 섹션에서는 앞서 배운 내용을 결합하여 입력 이미지를 받아 이를 사용자가 정의한 색상 값과 곱해 새로운 출력을 생성하는 Blink 스크립트를 만들어 보겠습니다.Custom_ColorMult 코드kernel Custom_ColorMult : ImageComputationKernel{ Image src; // 입력 이미지, 가장자리를 클램핑 Image dst; // 출력 이미지 param: float4 color; .. 2024. 12. 11.
Blink Scripting 101 - Custom_Color Custom Blink Script: Custom_Color목표이번에는 **Custom_Color**라는 이름의 새로운 Blink 스크립트를 만들어 보고, 불필요한 부분은 제거하고 최적화하겠습니다. 또한 코드의 각 부분 옆에 설명을 추가해 작업 내용을 이해하고 다른 사람들에게 공유할 수 있도록 하겠습니다.Blink 스크립트에서 코드에 포함되지 않는 주석을 작성하려면 //를 사용합니다.Custom_Color 코드ernel Custom_Color : ImageComputationKernel{ Image dst; //output image param: float4 color; .. 2024. 12. 11.