레퍼런스 loadShader()

loadShader()

정점(vertex)과 프래그먼트(fragment) 셰이더를 로드하여 p5.Shader 객체를 생성합니다.

셰이더는 그래픽 처리 장치(GPU)에서 실행되는 프로그램입니다. 많은 픽셀을 동시에 처리할 수 있어 빠른 그래픽 작업에 유용합니다. 셰이더는 GLSL이라는 언어로 작성되며 스케치의 나머지 코드와 함께 실행됩니다.

p5.Shader 객체가 생성되면, shader() 함수와 함께 사용할 수 있습니다. 예를 들어, shader(myShader)를 호출하면 됩니다. 셰이더 프로그램은 두 개의 파일, 정점과 프래그먼트 셰이더로 구성됩니다. 정점 셰이더는 3D 기하학이 화면에 그려지는 위치에 영향을 주고, 프래그먼트 셰이더는 색상에 영향을 줍니다.

loadShader().vert 파일과 .frag 파일에서 정점과 프래그먼트 셰이더를 로드합니다. 예를 들어, loadShader('/assets/shader.vert', '/assets/shader.frag')를 호출하면 필요한 두 셰이더를 로드하고 p5.Shader 객체를 반환합니다. 세 번째 매개변수인 successCallback은 선택 사항입니다. 함수가 전달되면 셰이더가 로드된 후에 호출됩니다. 콜백 함수는 새로운 p5.Shader 객체를 매개변수로 사용할 수 있습니다.

네 번째 매개변수인 failureCallback은 선택 사항입니다. 함수가 전달되면 셰이더 로드에 실패할 경우 호출됩니다. 콜백 함수는 이벤트 오류를 매개변수로 사용할 수 있습니다. 셰이더는 로드하는 데 시간이 걸릴 수 있습니다. preload() 에서 loadShader()를 호출하면 setup() 또는 draw()에서 사용하기 전에 셰이더가 로드됩니다.

참고: 셰이더는 WebGL 모드에서만 사용할 수 있습니다.

예제

구문

loadShader(vertFilename, fragFilename, [successCallback], [failureCallback])

매개변수

vertFilename
String:

로드할 정점 셰이더의 경로

fragFilename
String:

로드할 프래그먼트 셰이더의 경로

successCallback
Function:

셰이더가 로드되면 호출할 함수. p5.Shader 객체를 전달받을 수 있습니다.

failureCallback
Function:

셰이더 로드에 실패했을 때 호출할 함수.Error 이벤트 객체를 전달받을 수 있습니다.

Returns

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!

관련 레퍼런스