4
저는 glsl을 처음 사용합니다. 모든 데모마다 변수 iResolution이 있다는 것을 알고 있습니다. https://www.shadertoy.com/new은 무엇을 의미합니까? 이 변수를 셰이더에 전달하려면 무엇이 필요합니까? 당신이 코드를 위의 "쉐이더 입력"섹션을 확장하면iResolution은 셰이더에서 무엇을 의미합니까?
저는 glsl을 처음 사용합니다. 모든 데모마다 변수 iResolution이 있다는 것을 알고 있습니다. https://www.shadertoy.com/new은 무엇을 의미합니까? 이 변수를 셰이더에 전달하려면 무엇이 필요합니까? 당신이 코드를 위의 "쉐이더 입력"섹션을 확장하면iResolution은 셰이더에서 무엇을 의미합니까?
당신은 정의를 볼 수 있습니다 설명은 거의 모든 것을 말해
. 창/뷰포트의 크기 (픽셀)입니다. 이 예에서 조각의 픽셀 단위 위치 인 gl_FragCoord
은이 크기로 나누어 져서 뷰포트 내에서 조각의 상대 위치를 얻습니다.
당신은 다른 균일 변수처럼이 설정합니다 :
GLint loc = glGetUniformLocation(program, "iResolution");
glUniform2f(loc, width, height);
곳 width
및 height
은 창/뷰포트의 크기입니다. x
및 y
값만 유용하기 때문에이 값이 vec3
으로 정의되는 것이 이상합니다.
고마워요! 이건 저를 혼란스럽게합니다. – Jackie
Shadertoy에서 pixijs로 옮겨 가고있는 쉐이더처럼 보이지는 않지만 iResolution은 [0; 1] – Slav