[Unity] ComputeShader를 사용하는 Unity의 설명 페이지 중 하나를 번역합니다.

4191 단어 Unity
Unity에서 Compute Shader를 사용해 보려고 할 때 교과서적인 자료가 별로 없다고 느꼈어요.
그런 좋은 점, 그런 교과서 기사를 발견했는데, 영어로 쓰여져서...
그래서 번역을 해봤어요.
원래 페이지는 여기 있습니다.
http://scrawkblog.com/2014/06/24/directcompute-tutorial-for-unity-introduction/

DirectCompute tutorial for Unity: Introduction


Unity를 사용한 지 2년이 됐는데, 앞서 C++로 프로그램을 썼고, 스스로 OpenGL로 도형 상하문을 썼다.그때 나는 내가 만든 도형 API를 사용하는 방법을 선택했고 그 결과 GLSL 음영에 관한 많은 것을 배웠다.
Unity를 사용하기 시작하면 Cg가 마스킹 언어로 사용됩니다.GLSL과 Cg는 별 차이가 없고 비교적 간단하게 전환할 수 있다(GLSL은 실제로는 Unity가 지원하지만 느낌이 좋지 않다).OpenGL을 사용한 경험이 워낙 좋아서 평가코드에 대한 부담이 컸고, 특히 유니티에서 OpenGL을 하는 게 좋았다.(예: 최근 Prold port 등)
Unity를 사용하기 시작했을 때 Microsoft는 DirectX11을 지원하기 시작했고 Direct11은 DirectCompute API에서 나왔다.이 API는 컴퓨터 농담기를 사용하는 기초 위에서 새로운 GPU 사용 방법을 만들어 냈다.단지 문제가 하나 있을 뿐이다.DirectCompute를 사용하는 문서가 거의 없는 연속 자습서입니다.구글 선생님에게 의지해도 아무것도 없어요. 마이크로소프트의 문서가 너무 커서 아마존도 몇 가지 책만 처리했어요.만약 당신에게 좋은 학습 단서가 있다면 메일로 링크를 댓글에 붙여 주세요.
요 몇 년 동안 나는 마침내 이 강력한 API를 어떻게 사용하는지 기억했지만, 나는 아직 정보가 부족하다고 생각한다.이에 따라 Unity에 DirectCompute에 대한 연속 자습서를 쓰기로 했습니다.리더로서 Direct Compute가 필요한 이유, 기존의 그래픽 파이프라인과 무엇이 다른지, 컴퓨터 마스크로 내부 핵에 어떻게 쓰는지, GPU 내부에 깔린 라인을 어떻게 사용하는지, 어떤 버퍼 유형을 가지고 있는지나는 어떻게 스레드 공유 메모리를 동기화시키고 성능을 향상시키는지 설명하고 싶다.
일부 강좌에서는 일반 CG 면도기를 쓴 경험이 필요할 수도 있지만, 컴퓨터 면도기로 전환하기 전에 Cg 면도기를 어느 정도 이해하는 것을 강력히 추천한다.컴퓨터 마스크로 처리된 데이터를 시각적으로 표시하고 일반적인 Cg 마스크로 재현해야 하기 때문이다.하지만 나도 그걸 덮을 거야.컴퓨터 면도기는 마이크로소프트의 HLSL로 쓴 것이다.이 언어의 강좌를 추진하기 위해서는 알 필요는 없지만 어떤 차폐언어(GLLS, Cg, HLSL)를 접한 적이 있는 것이 좋다.HLSL과 Cg는 매우 비슷하기 때문에 다른 언어에 주의하지 않을 수도 있습니다.그리고 저는 syntax high lighter를 컴퓨터 면도기에 사용하는 것을 추천합니다.Monodevelop 기본 동작일 것입니다.

The Graphics pipline


DirectCompute가 필요한 이유를 이해하기 위해서는 기본 파이프의 역사를 알아야 한다.
그것은 90년대 초에 시작되었다.그때는 3D 그래픽이 유명해지고 GPU도 표준 기능이 되고 있었다.그래픽스 API가 필요했기 때문에 개발자는 힘들지만 강력한 새 장비를 사용했다.1992년 OpenGL10이 해제되고 IRIS GL로 불리는 시스템 SGI와 함께 발생합니다.MS는 OpenGL 초기 구성원 중 한 명으로 OpenGL 아키텍처를 검토(ARB)해 SGI, Digital Equipment Corp, IBM, Intel 표준의 OpenGL 개발을 도왔다.한 번은 MS가 ARB에서 탈퇴해 독자적인 경쟁사 시스템인 Direct 3D를 개발했는데, 이는 DirectX의 API의 일부였다.ARB는 Khronos그룹으로 발전해 현재 3Dlabs, ATI, 디스크리에이트, 에반스&Suther land, Intel, NVIDIA, SGI, Sun Microsystems 등이 멤버다.
모든 개발자는 GPU와 OpenGL에서 형상을 전달하고 출력 화면에 픽셀을 표시하기 전에 파이프를 통과해야 한다.파이프가 수정되고 개발자 부분에서 ON/OFF를 지정하며 어떤 설정을 수정합니다.개발자가 GPU에 더 많은 요청을 요구하기 때문에 파이프는 더욱 높은 특징을 가지기 때문에 파이프 자체가 더욱 유연해져야 한다.그 해결책으로 파이프의 일부분이 프로그래밍이 가능해졌다.개발자는 파이프가 있는 부분을 처리하기 위해 프로그램을 쓸 수 있다.이 새 프로그램은 면도기라고 불린다.(프로그램과 면도기는 기술적으로 차이가 있지만 여기서는 말을 하지 않는다.)
이 새로운 프로그래밍 가능한 파이프는 새로운 가능성을 만들어 과거 세대 게임의 도형 품질에 없어서는 안 될 일부분이 되었다.파이프는 처음에는 도형을 생성하기 위해 개발되었지만 새로운 자유도로 GPU는 다른 다양한 유형의 알고리즘에 적용될 수 있다.
연구는 이미 시작되었고 GPU의 다중 스레드 환경에서 실행되는 알고리즘으로 수정되었고 그 범위는 물리학, 경제학, 수학 등 GPU로 데이터를 처리하기 시작했다.성능이 낮은 GPU는 견딜 수 없어 GPU와 General Purpose Graphical Processing Unit 프로그래밍 등을 생산했다.

General Purpose Graphical Processing Unit programming


GPU가 곧 주류가 되어 산업 이용이 시작되었다.하지만 문제가 있습니다.그래픽스 API는 그래픽 파이프라인에도 휘감겨 있습니다.얼마나 유연한 차폐물이 주어졌든지 간에 파이프에 대한 제한도 고려할 필요가 있다.
Vertex 농담은 정점을 출력하고 Fragment 농담기는 픽셀을 출력하는 데도 사용됩니다.뛰어난 치환과 구상으로 개발된 반면, GPU가 추가로 개발되더라도 새로운 사용법이 있을 것으로 보인다.API는 개발자가 그래픽 파이프라인의 복잡도와 낮은 성능의 GPU를 제공하고 그래픽 이외의 설정에서 고통받는 환경을 제공받기 때문에 자유롭게 사용할 수 있도록 하는 것이 필요하다.
앞으로 몇 년 동안 GPU의 API가 등장하기 시작했고 현재 개발자들은 CUDA, OpenCL, DirectCompute 등의 선택을 사용하지 않는다.새 API는 GPU를 완전히 새로운 방식으로 이동하며 기존 그래픽 파이프라인의 경계가 사라집니다.몇 가지 제한이 있지만 다중 스레드 환경에서 일할 수 있다.
GPU에 대한 요구는 도형과 무관한 설정에서 GPU를 사용하는 방법을 제공하면서 게임 업계에서 새로운 가능성을 열성적으로 만드는 방법을 제공했다.게임은 더욱 사실적으로 변해 현실 세계의 물리를 모의하기 시작했다.이런 계산은 복잡한 처리를 필요로 한다.
성능과 자유도는 GPU에서 제공하기 때문에 그것들의 계산은 매우 큰 범위 내에서 더욱 정교해졌다.원래의 도형 API는 우리가 현재 다루고 있는 3D 게임과 완전히 새로운 세계와 연결되어 있다.새 GPU의 API도 마찬가지로 새로운 시대의 게임을 선사할 것입니다.현재 세대의 게임은 API의 이용으로 인해 더욱 사실적인 도형과 신뢰성이 높은 물리에 의해 지배되고 있다.
니가 지금 필요한 건 그걸 어떻게 쓰는 거야?다음 부분에서 내핵을 어떻게 설치하는지, 라인으로 매립하는 것을 토론한다.
다음 그림은 현재 dx11 파이프라인입니다.

번역은 했지만...


이 보도는 개요로 이루어진 orz가 아니다
다음 기사를 보면 실제의 구체적인 내용인 것 같습니다.

좋은 웹페이지 즐겨찾기