깜박임
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 |
사용되는 커널의 파일 경로를 설정합니다 Load 과 Save 작업. 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에서 실행될 수 있습니다.
|
Vectorize on CPU |
vectorize |
enabled |
활성화되면 가능하면 CPU에서 SIMD 명령어를 사용하십시오. 노트 : 이것은 현재 실험적인 기능이며 일부 유효한 깜박임 커널에서 벡터화에 실패 할 수 있습니다. |
Multiply |
InvertKernel_Multiply |
1 |
InverKernel의 결과에이 요소를 곱합니다. 노트 : 곱하기는 기본 InvertKernel에 의해 노출되는 유일한 컨트롤입니다. 커널 작성 및 몇 가지 예에 대한 자세한 내용은 Help > Documentation. |
Publish |
publishButton |
N/A |
현재 노드의 사본을 포함하는 그룹 노드를 작성하려면 클릭하십시오. 그런 다음 그룹을 기즈모로 저장할 수 있습니다. 커널 매개 변수 및 GPU 컨트롤은 게시 된 버전의 노드에서 사용자 컨트롤로 노출됩니다. |
Protect kernel |
protectKernel |
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 커널 내의 대상 높이는 이미지의 전체 높이가 아니라 현재 스트라이프의 높이입니다. 처리는 항상 타일에서 수행됩니다. CPU에서 처리는 때때로 타일이 아닌 스캔 라인에서 수행되므로이 매개 변수가 항상 효과가있는 것은 아닙니다. |
단계별 가이드
예 Nuke 스크립트
노트 : 예제 스크립트로드는 도움말을 시작한 경우에만 작동합니다. Nuke 그리고 설정했다 documentation source 에 local 에서 Behaviors > Documentation 의 탭 Preferences.
보다 Using Script Links 자세한 내용은.
커널 매개 변수에 추가 할 수있는 모든 노브 유형의 예
랜덤 액세스와 쌍 선형 보간을 사용하는 풍선 모양의 효과
랜덤 액세스, 삼각 함수 및 쌍 선형 보간을 사용하는 소용돌이 효과
서로 연결된 두 개의 깜박임 커널로 구현 된 2 패스 크기 조정
도움이되지 않은 죄송합니다
왜 도움이되지 않습니까? (해당되는 모든 것을 체크하세요)
의견을 보내 주셔서 감사합니다.
찾고있는 것을 찾을 수 없거나 워크 플로 관련 질문이있는 경우 시도해보십시오 파운드리 지원.
학습 내용을 개선 할 수있는 방법에 대한 의견이 있으시면 아래 버튼을 사용하여 설명서 팀에 이메일을 보내십시오.
의견을 보내 주셔서 감사합니다.