3D 렌더링에서, 재질은 표면이 빛에 어떻게 반응하는지를 결정합니다. p5의 WEBGL 모드는 ambient, emissive, normal, 그리고 specular 재질을 지원합니다.
Ambient 재질은 오직 주변광(ambient light)에만 반응합니다. Specular 재질은 모든 광원에 반응합니다. p5에서 Emissive 재질은 광원과 상관없이 본인의 색을 나타냅니다. 다른 맥락에서 보면, Emissive 재질은 일반적으로 빛을 방출합니다. Normal 재질은 표면의 각 부분이 어느 방향을 향하고 있는지를 시각화합니다. Normal 재질은 빛에 반응하지 않습니다.
Ambient 재질과 Emissive 재질은 서로 조합될 수 있습니다. 이 두 재질은 채우기(fill)와 윤곽선(stroke)과도 조합될 수 있습니다. 채우기는 표면의 기본 색상을 설정하고, 윤곽선은 객체의 정점 색상을 설정합니다.
추가적으로, texture()는 이미지로 물체를 감쌉니다. 이 예제의 모델과 이미지 텍스처는 NASA’s collection에서 가져온 것입니다.
재질(Materials) by p5.js Contributors and the Processing Foundation is licensed under CC BY-NC-SA 4.0.
관련 예제
![](/_astro/11_3D-00_Geometries-thumbnail.CIGxWPlb_ZrLzA7.webp)
No alt text
지오메트리
사용자 정의 모델을 포함하여, 3D 도형을 그립니다.
![](/_astro/11_3D-01_Custom_Geometry-thumbnail.hOI_CIjS_kGC1q.webp)
No alt text
사용자 정의 지오메트리
프로그래밍을 통해 3D 도형을 생성합니다.
![](/_astro/11_3D-02_Materials-thumbnail.BH6mGApZ_Z1y8uVN.webp)
No alt text
재질(Materials)
3D 객체의 색상, 질감, 그리고 빛에 반응하는 정도를 변경합니다.
![](/_astro/11_3D-03_Orbit_Control-thumbnail.-zEVdjrU_Zua1gI.webp)
No alt text
궤도 컨트롤(Orbit Control)
마우스로 카메라를 제어합니다.
![](/_astro/11_3D-04_Filter_Shader-thumbnail.BSzfvPSy_Z7FNLg.webp)
No alt text
필터 셰이더(Filter Shader)
셰이더로 이미지를 조작합니다.
![](/_astro/11_3D-05_Adjusting_Positions_With_A_Shader-thumbnail.D6XjOyN8_1AWOoU.webp)
No alt text
셰이더로 위치 조정하기
셰이더를 사용하여 도형의 정점을 조정합니다.
![](/_astro/11_3D-06_Framebuffer_Blur-thumbnail.Ck8s9IeK_Z1r2Q1P.webp)
No alt text
프레임버퍼 흐림(Framebuffer Blur)
카메라의 심도(depth of field)를 시뮬레이션합니다.