-
[LLM Workbench] btwin Memory: 세션 밖에 맥락 남기기
LLM 세션이 바뀌어도 작업 맥락을 이어가기 위해 btwin에서 사용한 파일 기반 기록, TLDR 임베딩, 검증 구조를 정리합니다.
-
[LLM Workbench] btwin Orchestration: 에이전트 작업 흐름을 작게 제어하기
무거운 agent framework 대신 thread, protocol, phase, guard, hook으로 LLM 에이전트 작업 흐름을 관리한 과정을 정리합니다.
-
[LLM Workbench] Hooklusion: 에이전트 상태를 작은 신호로 보기
Claude Code와 Codex hook event를 desktop character state로 바꿔 에이전트 작업 상태를 낮은 피로도로 확인하는 실험을 정리합니다.
-
[Vulkan] Normal Mapping: TBN 행렬과 Vulkan 구현기
노멀 매핑의 탄젠트 공간과 TBN 행렬 수학, Vulkan + ASSIMP 환경에서의 구현과 UV 컨벤션 이슈를 정리한 학습 기록입니다.
-
[Vulkan] Quaternion 곱 순서: 같은 회전이 왼쪽·오른쪽에 따라 월드·로컬이 되는 이유
쿼터니언 곱 순서가 회전의 공간 기준을 결정하는 원리를 수식으로 전개하고, GLM 기반 FPS 카메라 예시로 월드 축 yaw와 로컬 축 pitch가 왜 다른 쪽에 곱해지는지 정리했습니다.
-
[Vulkan] Camera: worldUp hint로 right를 복원할 수 있는 이유
lookAt 함수의 worldUp hint가 roll 없는 카메라에서 정확한 right 벡터를 복원하는 이유를 카메라 모델 정의에서 출발하여 수학적으로 증명하고, roll이 들어가면 왜 부족한지 정리했습니다.
-
[Vulkan] Normal Transform: 비균일 스케일에서 역전치행렬이 필요한 이유
비균일 스케일에서 노멀 벡터에 모델 행렬을 그대로 곱하면 면과의 수직 관계가 깨지는 이유를 정리하고, 수직 조건에서 역전치행렬을 유도하여 GLSL 코드와 1:1로 대응시킨 과정을 기록했습니다.
-
[Vulkan] CPU 레이트레이서 (1): 광선이 구를 만나는 순간
매개변수 직선으로 광선을 표현하고, 판별식으로 구와의 충돌을 판정한 뒤, Phong 조명으로 입체감을 만드는 과정을 정리합니다.
-
[Vulkan] CPU 레이트레이서 (2): 삼각형 충돌과 그림자
광선-삼각형 충돌을 평면 교점 + 내부 판별 2단계로 구현하고, shadow ray로 그림자를 추가하는 과정을 정리합니다.
-
[Vulkan] renderFinished 세마포어는 왜 프레임이 아니라 이미지에 묶어야 하는가
frames-in-flight를 줄였더니 Validation Layer 에러가 발생했습니다. fence와 semaphore가 각각 뭘 보장하는지, renderFinished를 이미지 인덱스로 관리해야 하는 이유를 정리합니다.