GN⁺: 셰이더에 대한 인터랙티브한 소개
(mayerowitz.io)- 본 기사는 그래픽을 생성하는 GPU에서 실행되는 작은 프로그램인 쉐이더에 대한 상호작용적인 소개입니다.
- 쉐이더는 그들의 속도와 효율성을 통해 달성되는 병렬화 때문에 비디오 게임과 컴퓨터 그래픽에서 사용됩니다.
- 저자는 웹사이트에서 간단한 CSS 애니메이션을 대체하는 쉐이더 기반 애니메이션을 만드는 방법을 설명합니다.
- 본 기사는 입력, 좌표, 내장 타입, 출력의 사용을 포함하여 쉐이더를 만드는 방법에 대한 자세한 설명을 제공합니다.
- 저자는 공간 내 다른 점들과의 거리를 통해 형상을 표현하는 Signed Distance Functions (SDFs) 개념을 소개합니다.
- 본 기사는 또한 SDFs를 사용하여 개별 형상을 병합하여 복잡한 형상, 예를 들어 블롭을 만드는 방법을 설명합니다.
- 저자는 시간 유니폼을 쉐이더에 공급함으로써 형상을 애니메이션화하는 방법을 보여줍니다.
- 본 기사는 사용자가 마우스를 사용하여 블롭 내의 공의 위치를 제어할 수 있게 하는 쉐이더에 사용자 상호작용을 도입하는 방법에 대한 안내로 마무리됩니다.
- 저자는 쉐이더에 대해 더 알고 싶은 사람들을 위해 The Book of Shaders와 YouTube의 Shader Art Coding 소개 등의 추가 자료를 추천합니다.
Hacker News 의견
- 저자가 셰이더에 대한 상호작용적인 소개를 작성하고, 그 학습 과정을 온라인으로 공유하였습니다.
- 독자들은 이 튜토리얼을 알기 쉽고 유용하다고 평가하며, 특히 이전 지식이 제한적인 사람들에게 도움이 되었습니다.
- 기본 조명 모델과 법선과 내적 간의 상호 작용에 대한 튜토리얼에 대한 수요가 있습니다.
- 예술적 배경을 가진 개인들이 프로그래밍으로 전환하면서 이 튜토리얼을 좋아합니다.
- 일부 독자들은 shadertoy.com의 "happy bouncing" 셰이더와 같은 추가 자료를 공유하였습니다.
- 저자가 계속해서 더 많은 콘텐츠를 제작할 것이라는 기대가 있습니다. 비슷한 이니셔티브들이 강하게 시작하지만 지속되지 않는 경우가 많기 때문입니다.
- 튜토리얼은 재미있고 플레이풀한 접근법으로 주제를 더욱 접근하기 쉽게 만들어, 칭찬을 받았습니다.
- 'cel shading'의 철자를 'cell shading'으로 잘못 쓴 것에 대해 사소한 수정이 제안되었습니다.
- 셰이더의 제약사항들, 예를 들어 메모리가 없고 상태가 없는 특성,은 일부 독자들에게 해방감을 줍니다.
- 한 독자는 튜토리얼이 셰이더의 도전적인 부분을 간과하고 있다고 비판하며, 그들이 모든 응용 프로그램, 특히 비3D 응용 프로그램에 적합하지 않다고 주장합니다.
- 전반적으로, 튜토리얼은 명확성과 접근성에 대해 잘 받아들여지고 칭찬받았습니다.