화면을 그리는 도중에 적용할 p5.Shader 객체를 설정합니다.
셰이더는 그래픽 처리 장치(GPU)에서 실행되는 프로그램입니다. 많은 픽셀이나 정점(vertex)을 동시에 처리할 수 있어 빠른 그래픽 작업에 유용합니다. 셰이더는 GLSL이라는 언어로 작성되며 스케치의 나머지 코드와 함께 실행됩니다. p5.Shader 객체는 createShader()와 loadShader() 함수를 사용하여 생성할 수 있습니다.
매개변수 s
는 각 픽셀을 처리하는 데 사용할 p5.Shader 객체입니다. 예를 들어, shader(myShader)
를 호출하면 myShader
가 적용되어 캔버스의 각 픽셀을 처리합니다. 셰이더는 다음과 같은 경우에 사용됩니다:
- 텍스처가 활성화되어 있고
sampler2D
유니폼을 포함하는 경우. - 조명이 활성화되어 있고
aNormal
속성이 포함되어 있거나 다음과 같은 유니폼 중 하나가 있는 경우:uUseLighting
,uAmbientLightCount
,uDirectionalLightCount
,uPointLightCount
,uAmbientColor
,uDirectionalDiffuseColors
,uDirectionalSpecularColors
,uPointLightLocation
,uPointLightDiffuseColors
,uPointLightSpecularColors
,uLightingDirection
, 또는uSpecular
. - 조명이나 텍스처가 없는 경우 면을 채웁니다.
uStrokeWeight
유니폼을 포함하는 경우 획을 그립니다.
p5.Shader 객체의 프래그먼트 셰이더(fragment shader) 및 정점 셰이더(vertex shader) 소스 코드는 처음 shader()
에 전달될 때 컴파일됩니다. 셰이더를 컴파일하는 것에 대한 자세한 내용은 MDN을 참조하십시오.
resetShader()를 호출하여 스케치의 기본 셰이더로 복원할 수 있습니다.
참고: 셰이더는 WebGL 모드에서만 사용할 수 있습니다.
예제
구문
shader(s)
매개변수
s
p5.Shader:
적용할 p5.Shader 객체
Notice any errors or typos? Please let us know. Please feel free to edit src/webgl/material.js and open a pull request!