방법: 기본 램버트 셰이더 만들기How to: Create a Basic Lambert Shader

이 문서에서는 셰이더 디자이너 및 DGSL(Directed Graph Shader Language)을 사용하여 기본형 램버트 조명 모델을 구현하는 조명 셰이더를 만드는 방법을 보여 줍니다.This document demonstrates how to use the Shader Designer and the Directed Graph Shader Language (DGSL) to create a lighting shader that implements the classic Lambert lighting model.

이 문서는 다음 활동을 보여 줍니다.This document demonstrates these activities:

  • 셰이더 그래프에 노드 추가Adding nodes to a shader graph

  • 노드 연결 해제Disconnecting nodes

  • 노드 연결Connecting nodes

램버트 조명 모델The Lambert lighting model

램버트 조명 모델은 주변 및 방향성 조명을 3D 장면의 음영 개체에 통합합니다.The Lambert lighting model incorporates ambient and directional lighting to shade objects in a 3-D scene. 주변 구성 요소는 3D 장면에서 기본 수준의 조명을 제공합니다.The ambient components provide a base level of illumination in the 3-D scene. 방향성 구성 요소는 방향성(멀리) 광원에서 추가 조명을 제공합니다.The directional components provide additional illumination from directional (far-away) light sources. 주변 조명은 방향에 관계없이 장면의 모든 표면에 똑같이 영향을 미칩니다.Ambient illumination affects all surfaces in the scene equally, regardless of their orientation. 특정 표면의 경우 표면의 주변 색과 장면에 있는 주변 조명의 색 및 강도를 기반으로 결과가 생성됩니다.For a given surface, it's a product of the ambient color of the surface and the color and intensity of ambient lighting in the scene. 방향성 조명은 광원 방향을 기준으로 표면 방향에 따라 장면의 모든 표면에 서로 다른 영향을 미칩니다.Directional lighting affects every surface in the scene differently, based on the orientation of the surface with respect to the direction of the light source. 표면의 확산 색 및 방향과 광원의 색, 강도 및 방향을 기반으로 결과가 생성됩니다.It's a product of the diffuse color and orientation of the surface, and the color, intensity, and direction of the light sources. 직접 광원을 향하는 표면은 최대 기여도를 받고 광원의 정반대 방향을 향하는 표면은 기여도를 받지 않습니다.Surfaces that face directly toward the light source receive the maximum contribution and surfaces that face directly away receive no contribution. 램버트 조명 모델에서 주변 구성 요소와 하나 이상의 방향성 구성 요소는 결합되어 개체의 각 점에 대한 총 확산 색 기여도를 결정합니다.Under the Lambert lighting model, the ambient component and one or more directional components are combined to determine the total diffuse color contribution for each point on the object.

시작하기 전에 속성 창과 도구 상자가 표시되는지 확인하세요.Before you begin, make sure that the Properties window and the Toolbox are displayed.

램버트 셰이더를 만들려면To create a Lambert shader

  1. 사용할 DGSL 셰이더를 만듭니다.Create a DGSL shader to work with. DGSL 셰이더를 프로젝트에 추가하는 방법에 대한 내용은 셰이더 디자이너의 시작 섹션을 참조하세요.For information about how to add a DGSL shader to your project, see the Getting Started section in Shader Designer.

  2. 최종 색 노드에서 점 색 노드의 연결을 끊습니다.Disconnect the Point Color node from the Final Color node. 점 색 노드의 RGB 터미널을 선택하고 연결 끊기를 선택합니다.Choose the RGB terminal of the Point Color node, and then choose Break Links. 알파 터미널은 연결해 둡니다.Leave the Alpha terminal connected.

  3. 램버트 노드를 그래프에 추가합니다.Add a Lambert node to the graph. 도구 상자유틸리티에서 램버트를 선택하고 디자인 화면으로 이동합니다.In the Toolbox, under Utility, select Lambert and move it to the design surface. 램버트 노드는 주변 및 확산 조명 매개 변수에 따라 픽셀의 총 확산 색 기여도를 계산합니다.The lambert node computes the total diffuse color contribution of the pixel, based on ambient and diffuse lighting parameters.

  4. 점 색 노드를 램버트 노드에 연결합니다.Connect the Point Color node to the Lambert node. 선택 모드에서 점 색 노드의 RGB 터미널을 램버트 노드의 확산 색 터미널로 이동합니다.In Select mode, move the RGB terminal of the Point Color node to the Diffuse Color terminal of the Lambert node. 이 연결은 램버트 노드에 픽셀의 보간 확산 색을 제공합니다.This connection provides the lambert node with the interpolated diffuse color of the pixel.

  5. 계산된 색 값을 최종 색에 연결합니다.Connect the computed color value to the final color. 램버트 노드의 출력 터미널을 최종 색 노드의 RGB 터미널로 이동합니다.Move the Output terminal of the Lambert node to the RGB terminal of the Final Color node.

    다음 그림은 주전자 모델에 적용된 셰이더의 완료된 셰이더 그래프 및 미리 보기를 보여 줍니다.The following illustration shows the completed shader graph and a preview of the shader applied to a teapot model.

참고

이 그림에서 셰이더의 효과를 더 잘 보여 주기 위해 셰이더의 MaterialDiffuse 매개 변수를 사용하여 주황색이 지정되었습니다.To better demonstrate the effect of the shader in this illustration, an orange color has been specified by using the MaterialDiffuse parameter of the shader. 게임 또는 앱에서는 이 매개 변수를 사용하여 각 개체의 고유한 색 값을 제공합니다.A game or app can use this parameter to supply a unique color value for each object. 재질 매개 변수에 대한 자세한 내용은 셰이더 디자이너의 셰이더 미리 보기 섹션을 참조하세요.For information about material parameters, see the Previewing Shaders section in Shader Designer.

셰이더 그래프 및 효과 미리 보기.The shader graph and a preview of its effect.

일부 셰이더의 경우 특정 도형을 사용하면 미리 보기가 더 잘 표시될 수 있습니다.Certain shapes might provide better previews for some shaders. 셰이더 디자이너에서 셰이더를 미리 보는 방법에 대한 자세한 내용은 셰이더 디자이너의 셰이더 미리 보기 섹션을 참조하세요.For more information about how to preview shaders in the Shader Designer, see the Previewing Shaders section in Shader Designer.

다음 그림은 3D 모델에 적용되는 이 문서에서 설명된 셰이더를 보여 줍니다.The following illustration shows the shader that's described in this document applied to a 3-D model.

모델에 적용된 램버트 조명.Lambert lighting applied to a model.

3D 모델에 셰이더를 적용하는 방법에 대한 자세한 내용은 방법: 3D 모델에 셰이더 적용을 참조하세요.For more information about how to apply a shader to a 3-D model, see How to: Apply a Shader to a 3-D Model.

참고 항목See Also

방법: 3D 모델에 셰이더 적용 How to: Apply a Shader to a 3-D Model
방법: 셰이더 내보내기 How to: Export a Shader
방법: 기본 퐁 셰이더 만들기 How to: Create a Basic Phong Shader
셰이더 디자이너 Shader Designer
셰이더 디자이너 노드Shader Designer Nodes