셰이더 디자이너 노드Shader Designer Nodes

설명서의 이 섹션에 있는 문서에는 그래픽 효과를 만드는 데 사용할 수 있는 다양한 셰이더 디자이너 노드에 대한 정보가 포함되어 있습니다.The articles in this section of the documentation contain information about the various Shader Designer nodes that you can use to create graphics effects.

노드 및 노드 형식Nodes and node types

셰이더 디자이너는 시각적 효과를 그래프로 나타냅니다.The Shader Designer represents visual effects as a graph. 이러한 그래프는 의도된 효과를 얻기 위해 구체적으로 선택되고 정확한 방법으로 연결된 노드에서 작성됩니다.These graphs are built from nodes that are specifically chosen and connected in precise ways to achieve the intended affect. 각 노드는 정보 조각 또는 수학 함수를 나타내며 그 사이의 연결은 정보가 그래프를 통과하여 결과를 얻는 방법을 나타냅니다.Each node represents either a piece of information or a mathematical function, and the connections between them represent how the information flows through the graph to produce the result. 셰이더 디자이너는 필터, 질감 노드, 매개 변수, 상수, 유틸리티 노드 및 수학 노드의 서로 다른 6개 노드 형식을 제공하고, 각 형식에는 여러 개의 개별 노드가 있습니다.The Shader Designer provides six different node types—filters, texture nodes, parameters, constants, utility nodes, and math nodes—and several individual nodes belong to each type. 이러한 노드와 노드 형식은 이 섹션의 다른 문서(이 문서의 끝 부분에 있는 링크 참조)에서 설명합니다.These nodes and node types are described in the other articles in this section—see the links at the end of this document.

노드 구조Node structure

모든 노드는 공통 요소의 조합으로 구성됩니다.All nodes are made up of a combination of common elements. 모든 노드에는 오른쪽에 하나 이상의 출력 터미널이 있습니다(셰이더의 출력을 나타내는 최종 색 노드 제외).Every node has at least one output terminal on its right-hand side (except the final color node, which represents the output of the shader). 계산 또는 질감 샘플러를 나타내는 노드는 왼쪽에 입력 터미널이 있지만, 정보를 나타내는 노드에는 입력 터미널이 없습니다.Nodes that represent calculations or texture samplers have input terminals on their left-hand sides, but nodes that represent information have no input terminals. 출력 터미널은 입력 터미널에 연결되어 한 노드에서 다른 노드로 정보를 이동합니다.Output terminals are connected to input terminals to move information from one node to another.

입력 승격Promotion of inputs

셰이더 디자이너는 게임 또는 앱에서 효과를 사용할 수 있도록 궁극적으로 HLSL 소스 코드를 생성해야 하기 때문에 셰이더 디자이너 노드에는 HLSL에서 사용하는 형식 승격 규칙이 적용됩니다.Because the Shader Designer must ultimately generate HLSL source code so that the effect can be used in a game or app, Shader Designer nodes are subject to the type-promotion rules that HLSL uses. 그래픽 하드웨어는 주로 부동 소수점 값에서 작동하기 때문에 다른 형식 간의 승격(예: int에서 float로 또는 float에서 double로) 입력은 일반적이지 않습니다.Because graphics hardware operates primarily on floating-point values, type promotion between different types—for example, from int to float, or from float to double—is uncommon. 대신 그래픽 하드웨어에서 정보의 여러 부분에 대해 동일한 작업을 한 번에 사용하기 때문에 더 짧은 여러 개의 입력이 가장 긴 입력의 크기에 맞게 길어지는 다른 종류의 승격이 발생할 수 있습니다.Instead, because graphics hardware uses the same operation on multiple pieces of information at once, a different kind of promotion can occur in which the shorter of a number of inputs is lengthened to match the size of the longest input. 길이를 늘리는 방법은 입력 형식 및 연산 자체에 따라 다릅니다.How it is lengthened depends on the type of the input, and also on the operation itself:

  • 더 작은 형식이 스칼라 값인 경우If the smaller type is a scalar value, then:

    스칼라의 값은 큰 입력과 크기가 같은 벡터로 복제됩니다.The value of the scalar is replicated into a vector that is equal in size to the larger input. 예를 들어 연산이 무엇이든 간에 연산의 최대 입력이 3개 요소 벡터이면 5.0 스칼라 입력은 벡터(5.0, 5.0, 5.0)이 됩니다.For example, the scalar input 5.0 becomes the vector (5.0, 5.0, 5.0) when the largest input of the operation is a three-element vector, regardless of what the operation is.

  • 더 작은 형식이 벡터이고 연산이 곱셈(*, /, % 등)인 경우If the smaller type is a vector, and the operation is multiplicative (*, /, %, and so on), then:

    벡터의 값이 더 큰 입력과 크기가 같은 벡터의 선행 요소로 복사되고 후행 요소는 1.0으로 설정됩니다.The value of the vector is copied into the leading elements of a vector that is equal in size to the larger input, and the trailing elements are set to 1.0. 예를 들어 4개 요소 벡터로 곱하는 경우 벡터 입력(5.0, 5.0)은 벡터(5.0, 5.0, 1.0, 1.0)이 됩니다.For example, the vector input (5.0, 5.0) becomes the vector (5.0, 5.0, 1.0, 1.0) when it's multiplied by a four-element vector. 이렇게 하면 1.0 곱셈 항등원을 사용하여 출력의 세 번째 및 네 번째 요소가 유지됩니다.This preserves the third and fourth elements of the output by using the multiplicative identity, 1.0.

  • 더 작은 형식이 벡터이고 연산이 덧셈(+, - 등)인 경우If the smaller type is a vector, and the operation is additive (+, -, and so on), then:

    벡터의 값이 더 큰 입력과 크기가 같은 벡터의 선행 요소로 복사되고 후행 요소는 0.0으로 설정됩니다.The value of the vector is copied into the leading elements of a vector that is equal in size to the larger input, and the trailing elements are set to 0.0. 예를 들어 4개 요소 벡터에 더하는 경우 벡터 입력(5.0, 5.0)은 벡터(5.0, 5.0, 0.0, 0.0)이 됩니다.For example, the vector input (5.0, 5.0) becomes the vector (5.0, 5.0, 0.0, 0.0) when it's added to a four-element vector. 이렇게 하면 0.0 덧셈 항등원을 사용하여 출력의 세 번째 및 네 번째 요소가 유지됩니다.This preserves the third and fourth elements of the output by using the additive identity, 0.0.

제목Title 설명Description
상수 노드Constant Nodes 셰이더 계산에서 리터럴 값 및 보간된 꼭짓점 상태 정보를 나타내는 데 사용할 수 있는 노드를 설명합니다.Describes nodes that you can use to represent literal values and interpolated vertex-state information in shader calculations. 꼭짓점 상태가 보간되고, 이에 따라 각 픽셀마다 다르기 때문에 각 픽셀 셰이더 인스턴스에서 다른 버전의 상수를 받습니다.Because vertex-state is interpolated—and therefore, is different for each pixel—each pixel-shader instance receives a different version of the constant.
매개 변수 노드Parameter Nodes 셰이더 계산에서 카메라 위치, 재질 속성, 조명 매개 변수, 시간 및 기타 앱 상태 정보를 나타내는 데 사용할 수 있는 노드를 설명합니다.Describes nodes that you can use to represent camera position, material properties, lighting parameters, time, and other app-state information in shader calculations.
질감 노드Texture Nodes 다양한 질감 유형과 기하 도형을 샘플링하고 일반적인 방법으로 질감 좌표를 산출하거나 변환하는 데 사용할 수 있는 노드를 설명합니다.Describes the nodes that you can use to sample various texture types and geometries, and to produce or transform texture coordinates in common ways.
수학 노드Math Nodes HLSL 명령에 직접 매핑되는 대수, 논리, 삼각 및 기타 수학 연산을 수행하는 데 사용할 수 있는 노드를 설명합니다.Describes the nodes that you can use to perform algebraic, logic, trigonometric, and other mathematical operations that map directly to HLSL instructions.
유틸리티 노드Utility Nodes 일반적인 조명 계산 및 HLSL 명령에 직접 매핑되지 않는 기타 일반 작업을 수행하는 데 사용할 수 있는 노드를 설명합니다.Describes the nodes that you can use to perform common lighting calculations and other common operations that do not map directly to HLSL instructions.
필터 노드Filter Nodes 질감 필터링 및 색 필터링을 수행하는 데 사용할 수 있는 노드를 설명합니다.Describes the nodes that you can use to perform texture filtering and color filtering.