깜박임

BlinkScript 노드는 Foundry의 Blink 프레임 워크를 실행하여 코드를 한 번 작성하고 지원되는 모든 장치에서 실행할 수 있습니다. 이는 코드 변환을 통해 이루어지며, 여기서 Blink 코드는 각 대상 장치에 대한 특정 코드로 바뀝니다. 코드는 즉시 생성 및 컴파일되므로 원하는대로 장치간에 전환 할 수 있습니다.

BlinkScript는 출력의 모든 픽셀에 대해 Blink "커널"을 실행합니다. 여기서 Blink 커널은 C ++ 클래스와 유사하지만 일부 특수 매개 변수 유형 및 함수가 있습니다. 번역을 통해 BlinkScript 노드의 코드를 CPU의 경우 일반 C ++ 또는 SIMD 코드 또는 GPU의 경우 OpenCL로 변환 할 수 있습니다.

Blink 프레임 워크는 더 이상 종료 할 필요가 없으므로 플러그인 개발 워크 플로우를 크게 간소화합니다. Nuke 코드를 컴파일하십시오.

노트 :  GPU 가속에는 NVIDIA GPU 및 CUDA 4.2 이상의 드라이버가 필요합니다. 명령 행에서 렌더링 할 때 GPU를 사용하려면 명령에 --gpu를 추가하십시오.

필요한 경우 그룹 노드에 커널을 게시 한 다음 기즈모로 저장할 수 있습니다. BlinkScript의 내장 커널 보호 기능을 사용하여 게시 된 커널을 인코딩하여 IP를 보호 할 수 있습니다. 게시 된 노드가 스크립트에 저장되면 보호 된 커널을 읽을 수 없습니다.

경고:  BlinkScript는 커널 내에서 작성할 수있는 코드에 제한이 없으므로 매우 유연합니다. 결과적으로 커널 소스에서 준수한 코드로 인해 Nuke 충돌하기 때문에주의하십시오!

입력과 컨트롤

연결 타입

연결 이름

함수

입력

src

BlinkScript 커널이 적용되는 이미지입니다.

Control (UI)

Knob (Scripting)

Default Value

함수

BlinkScript Tab

Kernel File

kernelSourceFile

none

사용되는 커널의 파일 경로를 설정합니다 LoadSave 작업. BlinkScript 커널은 .rpp 파일 확장자.

Load

reloadKernelSourceFile

N/A

에 지정된 커널을로드하고 컴파일하려면 클릭하십시오. Kernel File 들.

Save

saveKernelFile

N/A

현재 커널을 위치 및 파일 이름에 저장하려면 클릭하십시오 Kernel File 들.

Clear

clearKernelSource

N/A

커널 편집기를 지우려면 클릭하십시오.

Recompile

recompile

N/A

현재 커널 편집기에있는 커널을 다시 컴파일하려면 클릭하십시오. 존재하는 모든 컴파일 오류가 화면에 표시됩니다.

Kernel Source

Kernel Editor

kernelSource

SaturationKernel

컴파일 할 커널을 입력하거나 목적에 맞게 기본 SaturationKernel을 편집하십시오.

클릭 Recompile 버튼을 눌러 변경 결과를 봅니다.

Kernel Parameters Tab

Local GPU

gpuName

N/A

렌더링 할 때 사용되는 GPU를 표시합니다 Use GPU if available 사용 가능. 로컬 GPU 디스플레이 Not available 언제:

Use CPU 로 선택 default blink device 에서 Preferences.

시스템에 적합한 GPU가 없습니다.

GPU에서 사용 가능한 여유 메모리가 충분하지 않은 경우와 같이 선택한 GPU에서 처리 할 컨텍스트를 작성할 수 없습니다.

사용 가능한 경우 다른 GPU로 이동하여 다른 GPU를 선택할 수 있습니다 Preferences 그리고에서 대안을 선택 default blink device 쓰러지 다.

노트 :  다른 GPU를 선택하면 다시 시작해야합니다 Nuke 변경 사항이 적용되기 전에

Use GPU if available

useGPUIfAvailable

enabled

활성화하면 렌더링이 Local GPU 사용 가능한 경우 CPU 대신에 지정됩니다.

노트 :  로컬 GPU없이이 옵션을 활성화하면 GPU를 사용할 수있는 머신에서 스크립트를 열 때마다 스크립트가 GPU에서 실행될 수 있습니다.
명령 행에서 렌더링하려면 --gpu 선택권.

보다 Windows, Mac OS X 및 macOS 또는 리눅스 Nuke가 지원하는 GPU에 대한 자세한 내용은.

Vectorize on CPU

vectorize

enabled

활성화되면 가능하면 CPU에서 SIMD 명령어를 사용하십시오.

노트 :  이것은 현재 실험적인 기능이며 일부 유효한 깜박임 커널에서 벡터화에 실패 할 수 있습니다.

Multiply

InvertKernel_Multiply

1

InverKernel의 결과에이 요소를 곱합니다.

노트 :  곱하기는 기본 InvertKernel에 의해 노출되는 유일한 컨트롤입니다. 커널 작성 및 몇 가지 예에 대한 자세한 내용은 Help > Documentation.

Publish

publishButton

N/A

현재 노드의 사본을 포함하는 그룹 노드를 작성하려면 클릭하십시오. 그런 다음 그룹을 기즈모로 저장할 수 있습니다.

커널 매개 변수 및 GPU 컨트롤은 게시 된 버전의 노드에서 사용자 컨트롤로 노출됩니다.

Protect kernel

protectKernel
WhenPublishing

disabled

활성화하면 게시 된 그룹의 커널이 인코딩되어 게시 된 노드가 스크립트에 기록 될 때 읽을 수 없습니다.

format

format

Dependent on Project Settings

다음과 같은 경우 출력 형식을 설정합니다 Specify output format 이 활성화되어 있지만 기본적으로 입력 형식 크기가 기본값입니다.

Specify output format

specifiedFormat

disabled

활성화되면 다음을 사용하여 출력 형식을 설정할 수 있습니다 format 제어.

이 컨트롤을 활성화하면 format 게시 된 그룹 노드의 드롭 다운

Settings Tab

Percentage of GPU memory to use

maxGPUMemory

50

BlinkScript 노드가 할당 할 수있는 GPU 메모리의 최대 백분율을 설정합니다.

Percentage of image height per tile

maxTileLines

10

BlinkScript가 단일 타일, 즉 출력을 업데이트하기 전에 렌더링하려고 시도하는 이미지 높이의 최대 백분율을 설정합니다.

노트 :  만약 Percentage of image height per tile 100보다 작 으면 대상 이미지가 여러 가로 줄무늬로 렌더링됩니다. BlinkScript 커널 내의 대상 높이는 이미지의 전체 높이가 아니라 현재 스트라이프의 높이입니다.

BlinkScript 커널 내에서 출력 이미지 높이를 사용해야하는 경우이를 매개 변수로 전달하는 것이 좋습니다.

처리는 항상 타일에서 수행됩니다. CPU에서 처리는 때때로 타일이 아닌 스캔 라인에서 수행되므로이 매개 변수가 항상 효과가있는 것은 아닙니다.

단계별 가이드

BlinkScript 노드 사용

Nuke 스크립트

노트 :  예제 스크립트로드는 도움말을 시작한 경우에만 작동합니다. Nuke 그리고 설정했다 documentation sourcelocal 에서 Behaviors > Documentation 의 탭 Preferences.

보다 Using Script Links 자세한 내용은.

커널 매개 변수에 추가 할 수있는 모든 노브 유형의 예

랜덤 액세스와 쌍 선형 보간을 사용하는 풍선 모양의 효과

1 차원 상자 흐림

2 차원 상자 흐림

두 번째 입력에서 가중치를 가져 오는 가중치 블러

1D 범위의 액세스를 사용하는 졸졸 커튼 효과

입력이 필요없는 간단한 렌즈 플레어 생성기

Blink의 중앙값 함수를 사용하는 5x5 평균

랜덤 액세스, 삼각 함수 및 쌍 선형 보간을 사용하는 소용돌이 효과

서로 연결된 두 개의 깜박임 커널로 구현 된 2 패스 크기 조정

간단한 전환 효과