붓털 72가닥을 1/240초마다 계산합니다.
0.3 mm 격자의 한지 위로 물과 먹이 번집니다.
천천히 누르면 굵어지고, 움직이며 떼면 끝이 빠집니다.
붓. 붓털 72가닥을 각각 입자 10개짜리 사슬로 만들고, 1/240초 고정 간격의 위치 기반 동역학(PBD)으로 풉니다. 가닥마다 길이 제약, 원래 모양으로 돌아가려는 탄성, 먹을 머금은 털끼리 모이는 응집을 겁니다. 종이에 닿은 입자는 마찰로 끌리고, 누른 깊이만큼 바깥으로 퍼집니다.
먹 흐름. 털마다 먹 양이 따로 있고 붓 배의 저장량에서 조금씩 다시 채워집니다. 채워지는 속도가 털마다 달라서 먹이 줄면 바깥 털부터 마르고, 마른 털은 종이 섬유의 높은 곳에만 먹을 남겨 갈필이 됩니다.
종이. 64×36 cm를 2134×1200칸(한 칸 약 0.3 mm)으로 나누고, 칸마다 물·떠 있는 안료·섬유에 걸린 안료·종이 습기를 WebGPU 컴퓨트 셰이더가 1/120초마다 갱신합니다. 물은 높이 차가 표면장력 문턱을 넘을 때만 이웃으로 흐르고 섬유 방향으로 더 잘 흐릅니다. 안료는 물이 흡수되거나 마를 때 섬유에 걸리고, 번진 가장자리는 더 빨리 말라 짙어집니다.
기록. 새 종이를 편 뒤의 붓 입력을 물리 스텝마다 저장합니다. 다시 쓰기는 영상을 되감는 것이 아니라, 같은 입력을 같은 엔진에 넣어 빈 종이부터 다시 계산합니다.
렌더링. 먹 농도는 지수 감쇠로 종이 색을 덮고, 젖은 면은 조명 반사를 받습니다. 붓과 문진의 그림자는 거리장(SDF) 소프트 섀도로 계산합니다.
종이 위를 드래그해서 씁니다. 펜은 필압을 그대로 읽습니다.
천천히 머무르면 굵어지고, 움직이면서 떼면 끝이 뾰족하게 빠집니다.
D 먹 찍기 · N 새 종이 · P 일시정지 · R 녹화 · F 넓게 보기 · E 종이 떼어 보기
Apple Pencil을 기울이면 붓대도 같이 기웁니다.
모두 시뮬레이션 안에서 계산한 값이며 실제 측정값이 아닙니다.
이 실험은 붓털 물리와 종이 격자를 실제로 계산해야 해서, 대신 보여 줄 정지 화면을 두지 않았습니다. Chrome이나 Edge 113 이상, Safari 26 이상에서 열어 주세요. 하드웨어 가속이 꺼져 있으면 브라우저 설정에서 켜야 합니다.