Hacker News 의견
  • 3D API 셰이더 컴파일의 복잡성에 대한 훌륭한 개요

    • 크로스-3D-API 셰이더 컴파일의 복잡한 문제에 대한 개요가 제공됨.
    • D3D와 마이크로소프트에 초점을 맞추고 있지만, 다른 3D API에서도 상황이 크게 나아지지 않음.
    • 예를 들어, 리눅스 호스트에서 메탈 셰이더를 크로스 컴파일할 수 없으며, macOS와 최근에는 윈도우즈에서만 가능함.
    • 만약 Mach 팀이 "Zig를 크로스-3D-API 셰이더 컴파일러로 사용"하는 것을 성공시키고, "Zig를 크로스 컴파일 툴체인으로 사용"하는 것처럼 원활하게 작동시킬 수 있다면, 이는 1995년 이후 컴퓨터 그래픽스에서 가장 큰 사건이 될 것임.
  • Godot와 관련된 문제

    • Direct3D 12 지원은 현재 Godot와 함께 배포되는 DirectX Shader Compiler의 독점적인 dxil.dll 라이브러리에 의존하고 있음.
    • 독점 소프트웨어를 배포하는 것은 Godot 프로젝트의 사명에 반함.
  • 추가적인 .dll 배포에 대한 논의

    • 많은 비디오 게임들이 이미 사용하는 독점 미들웨어(Bink, SpeedTree, PhysX 등)와 마찬가지로 추가적인 .dll을 배포하는 것이 필요하지 않음.
    • 대부분의 게임 런처(Steam, GOG, Epic 등)도 각각의 .DLL을 요구함.
    • 많은 게임들이 D3D11On12를 사용하며, 많은 출시된 게임들이 설치 파일 중에 dxil.dll을 포함하고 있음.
    • 코드 서명을 역공학하고 재구현한 작업은 특히 dxil.dll의 출력과 비트 단위로 동일하기 때문에 놀라운 일임.
    • 하지만, 더 쉬운 방법을 선호하는 사람들은 단순히 DLL을 배포하는 것을 선택할 수도 있음.
  • DXIL.dll 서명에 대한 질문

    • DXIL.dll이 수행하는 서명은 단순히 수정된 MD5인가?
  • LLVM의 코드 생성 계층과 인프라에 대한 DXC의 변화

    • DXC의 LLVM 포크는 LLVM의 코드 생성 계층과 인프라를 제거하거나 손상시킴.
    • 이 문제를 해결하고 손상된 LLVM 기능을 복구하는 것은 엄청난 작업이 될 것임.
    • 리소스 제약으로 인해 새로운 DXC 컴파일러에서 이 문제를 해결할 계획이 없음.
    • 미래에 Clang에서 DXBC 생성을 지원할 수도 있지만, 그 작업은 DXIL과 SPIR-V 생성을 먼저 지원하는 것에 초점을 맞추고 있어 몇 년 동안 시작되지 않을 것임.
    • 마이크로소프트 측에서 명확한 기대치를 설정하는 것에 대한 감사함을 표현함.
  • Mach 생태계에 대한 조언

    • 특히 mach-sysgpu에 대해 조사할 것을 권장함, 이는 WebGPU의 완전한 재구현으로, 주로 17세의 Ali Chraghi에 의해 작성됨.
  • SDL_gpu와 SDL3에 대한 논의

    • SDL 팀은 SDL3에서 출시될 SDL_gpu라는 새로운 셰이더 언어를 개발 중임.
    • 이는 게임에서 3D 그래픽과 관련하여 플랫폼 간 작업을 할 수 있는 방법을 제공할 것임.
  • Zig 언어의 활용

    • Zig 자체를 셰이딩 언어로 사용하는 것은 멋진 일임.
    • Zig는 진정한 언어로, 빌드 시스템이자 셰이딩 언어임.
  • 인프라 작업에 대한 감사의 표현

    • 이러한 종류의 인프라 작업이 많은 문을 열어주기 때문에 읽는 것이 기쁨임.
  • DXIL 발음에 대한 언급

    • DXIL은 "dixel"로 발음되며, "pixel"에서 'p'를 'd'로 바꾼 것과 같음.