Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add Korean translate#359

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
diskhkme wants to merge49 commits intoOverv:main
base:main
Choose a base branch
Loading
fromdiskhkme:kr_translate
Open
Show file tree
Hide file tree
Changes from1 commit
Commits
Show all changes
49 commits
Select commitHold shift + click to select a range
5a4e2c2
kr translate, 00 and 01
diskhkmeSep 17, 2023
f2d96bd
kr translate 02 (except MacOS part)
diskhkmeSep 18, 2023
fff7580
kr translate 03-00-00 base code
diskhkmeSep 19, 2023
95c8ead
kr translate 03-00-01 instance
diskhkmeSep 19, 2023
603a24c
kr translate 03-00-02 validation layerr, backup
diskhkmeSep 27, 2023
a725ed0
kr translate 03-00-02 validation layer, finish
diskhkmeOct 12, 2023
5a8e529
kr translate 03-00-03 physical device
diskhkmeOct 12, 2023
806aa59
kr translate 03-00-04 logical device
diskhkmeOct 14, 2023
ad2d13f
kr translate 03-00-04 logical device, final
diskhkmeOct 14, 2023
dfdb3d2
kr translate update links of 03-00-02, 03
diskhkmeOct 14, 2023
c705993
kr translate 03-01-00 window surface
diskhkmeOct 14, 2023
a1e53f2
kr translate 03-01-01 swap chain
diskhkmeOct 15, 2023
7455fa4
kr translate 03-01-02 image view
diskhkmeOct 15, 2023
9fa6af7
kr translate 03-02-00 graphics pipeline, intro
diskhkmeOct 16, 2023
5b79abf
kr translate 03-02-01 shader modules
diskhkmeOct 17, 2023
a5d2faf
kr translate fixed mardown errors and links
diskhkmeOct 17, 2023
28d4c5c
kr translate 03-02-02 fixed functions
diskhkmeOct 18, 2023
fc35393
kr translate 03-02-03 render passes
diskhkmeOct 19, 2023
a0e18f4
kr translate 03-02-03 pipeline, conclusion
diskhkmeOct 19, 2023
8a05a13
kr translate 03-03-00 framebuffers
diskhkmeOct 21, 2023
81cee13
kr translate 03-03-01 drawing, framebuffers
diskhkmeOct 23, 2023
f9317ab
kr translate 03-03-02 drawing, command buffers
diskhkmeOct 23, 2023
2c9b387
kr translate fix typo
diskhkmeFeb 5, 2024
0b4c98c
kr translate fix typo
diskhkmeFeb 6, 2024
26cfdc5
kr translate fix typo
diskhkmeFeb 6, 2024
03ea8d3
kr translate 03-03-02 rendering and presentation
diskhkmeFeb 7, 2024
de9ddfa
Merge branch 'kr_translate' of https://github.com/diskhkme/VulkanTuto…
diskhkmeFeb 9, 2024
dc891b9
kr translate 03-03-03 frames in flight
diskhkmeFeb 9, 2024
b0b49f2
kr translate 03-03-04 swap chain recreation
diskhkmeFeb 9, 2024
36cc8e0
kr translate 04-00 vertex input desciption
diskhkmeFeb 9, 2024
896d406
kr translate 04-01 vertex buffer creation
diskhkmeFeb 12, 2024
2211065
kr translate 04-02 staging buffer
diskhkmeFeb 12, 2024
9aae27a
kr translate 04-03 index buffer
diskhkmeFeb 13, 2024
4808eb1
kr translate 05-00 descriptor layout and buffer
diskhkmeFeb 15, 2024
ecce6c6
kr translate fix newline inconsistency
diskhkmeFeb 15, 2024
5d456ab
kr translate add Korean glossary, fix terms
diskhkmeFeb 15, 2024
191faaa
kr translate 05-01 descriptor pool and sets
diskhkmeFeb 15, 2024
0378f74
kr translate 06-00 images (needs improvement)
diskhkmeFeb 17, 2024
d8d8401
kr translate 06-00 image view and sampler
diskhkmeFeb 19, 2024
16261a0
kr translate change translation
diskhkmeFeb 20, 2024
bbcb64f
kr translate 06-02 combined image sampler
diskhkmeFeb 20, 2024
39c8196
kr translate 07 depth buffering
diskhkmeFeb 28, 2024
eca0c50
kr translate 08 loading models
diskhkmeMar 4, 2024
69c5920
kr translate 09 generating mipmaps
diskhkmeMar 5, 2024
a7b5555
kr translate 10 multisampling
diskhkmeMar 11, 2024
e07abd6
kr translate 11 compute shader
diskhkmeMar 20, 2024
db544d4
kr translate 90 faq
diskhkmeMar 20, 2024
5dea1a4
Merge branch 'Overv:main' into kr_translate
diskhkmeMar 20, 2024
990a8f9
kr translate sync up to date
diskhkmeMar 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
PrevPrevious commit
NextNext commit
kr translate fix typo
  • Loading branch information
@diskhkme
diskhkme committedFeb 5, 2024
commit2c9b38727628b6f8efb9e7f8da50f8e2d15a6f89
2 changes: 1 addition & 1 deletionkr/00_Introduction.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -6,7 +6,7 @@

하지만, 이러한 이점을 활용하기 위해 여러분이 지불해야 할 비용은 훨씬 장황한 API를 다루어야 한다는 것입니다. 응용 프로그램에서 모든 그래픽스 API와 관련된 상세 사항들을 처음부터 설정해야 하는데, 초기 프레임 버퍼 생성이나 버퍼나 텍스처 이미지 객체들을 위한 메모리 관리 시스템을 만드는 것 등입니다. 그래픽 드라이버가 해 주는 일이 적어서 여러분의 응용 프로그램이 제대로 동작하기 위해서는 직접 더 많은 작업을 해 주어야 합니다.

여기서 말하고자 하는 것은 Vulkan이 모든 사람들을 위해 만들어진 것은 아니라는 점입니다. Vulkan은 고성능 컴퓨터 그래픽스에 관심이 있고, 여기에 시간을 투자할 의지가 있는 프로그래머를 그 대상으로 하고 있습니다. 여러분이 컴퓨터 그래픽스보다는 게임 개발에 더 관심이 있다면, 그냥 OpenGL이나 Direct3D를 계속 사용하는 것이 더 나을 것입니다. Vulkan이 짧은 시간 내에 그 자리를 대체하지는 않을 겁니다.다은 대안으로는 [Unreal Engine](https://en.wikipedia.org/wiki/Unreal_Engine#Unreal_Engine_4)
여기서 말하고자 하는 것은 Vulkan이 모든 사람들을 위해 만들어진 것은 아니라는 점입니다. Vulkan은 고성능 컴퓨터 그래픽스에 관심이 있고, 여기에 시간을 투자할 의지가 있는 프로그래머를 그 대상으로 하고 있습니다. 여러분이 컴퓨터 그래픽스보다는 게임 개발에 더 관심이 있다면, 그냥 OpenGL이나 Direct3D를 계속 사용하는 것이 더 나을 것입니다. Vulkan이 짧은 시간 내에 그 자리를 대체하지는 않을 겁니다.다른 대안으로는 [Unreal Engine](https://en.wikipedia.org/wiki/Unreal_Engine#Unreal_Engine_4)
이나 [Unity](<https://en.wikipedia.org/wiki/Unity_(game_engine)>) 같은 게임 엔진을 사용하는 것입니다. 게임 엔진을 사용하면 훨씬 고수준의 API를 통해 Vulkan을 사용 가능합니다.

그럼 각설하고, 이 튜토리얼을 위해 준비해야 할 사항들은 다음과 같습니다:
Expand Down
2 changes: 1 addition & 1 deletionkr/01_Overview.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -114,7 +114,7 @@ Vulkan의 많은 구조체들은 해당 구조체의 타입을 `sType` 멤버를

앞서 이야기한 것처럼, Vulkan은 고성능과 적은 드라이버 오버헤드를 위해 설계되었습니다. 따라서 기본적으로는 아주 제한적인 오류 체킹과 디버깅 기능만을 포함하고 있습니다. 코드를 잘못 작성하는 드라이버는 오류 코드를 반환하는 대신 그냥 크래쉬(crash)가 발생하거나, 더 나쁜 경우에는 여러분의 그래픽 카드에서는 제대로 동작하는 것처럼 보이지만 다른 그래픽 카드에서는 전혀 동작하지 않을겁니다.

Vulkan은 꼼꼼한 오류 체크를 *validationlayers* 기능을 통해 제공합니다. 검증 레이어는 API와 그래픽 드라이버 사이에 삽입되는 코드로 함수 매개변수에 대한 추가적인 검증이나 메모리 관리 문제를 추적하는 데 사용됩니다. 좋은 점은 이러한 기능을 개발 과정에서 사용하고 릴리즈 할 때에는 완전히 사용하지 않도록 하여 오버헤드를 없앨 수 있다는 것입니다. 스스로 검증 레이어를 작성할 수도 있지만, LunarG가 만든 Vulkan SDK는 표준적인 검증 레이어를 제공하고, 이 튜토리얼에서는 그것을 사용할 것입니다. 여러분은 레이어에서 날아온 디버깅 메시지를 처기하기 위한 콜백 함수를 등록해야 합니다.
Vulkan은 꼼꼼한 오류 체크를 *검증 레이어(validationlayer)* 기능을 통해 제공합니다. 검증 레이어는 API와 그래픽 드라이버 사이에 삽입되는 코드로 함수 매개변수에 대한 추가적인 검증이나 메모리 관리 문제를 추적하는 데 사용됩니다. 좋은 점은 이러한 기능을 개발 과정에서 사용하고 릴리즈 할 때에는 완전히 사용하지 않도록 하여 오버헤드를 없앨 수 있다는 것입니다. 스스로 검증 레이어를 작성할 수도 있지만, LunarG가 만든 Vulkan SDK는 표준적인 검증 레이어를 제공하고, 이 튜토리얼에서는 그것을 사용할 것입니다. 여러분은 레이어에서 날아온 디버깅 메시지를 처기하기 위한 콜백 함수를 등록해야 합니다.

Vulkan의 각 연산은 아주 명시적이고 검증 레이어는 꼼꼼하기 떄문에 화면이 검은 색 밖에 안나오는 경우에 OpenGL이나 Direct3D보다 그 원인을 찾기가 훨씬 쉽습니다!

Expand Down
2 changes: 1 addition & 1 deletionkr/02_Development_environment.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,7 +26,7 @@ SDK는 [LunarG 웹사이트](https://vulkan.lunarg.com/) 페이지 하단의 버

앞서 언급한 것처럼 Vulkan은 플랫폼 독립적인 API여서 렌더링 결과를 표시할 윈도우 생성을 위한 도구 같은것은 포함되어 있지 않습니다. Vulkan의 크로스 플랫폼 이점을 살리면서도 Win32의 어려움을 회피하는 방법으로 우리는 [GLFW library](http://www.glfw.org/)를 사용하여 윈도우를 만들 것입니다. GLFW는 윈도우, 리눅스와 MacOS를 모두 지원합니다. 비슷한 목적으로 사용 가능한 [SDL](https://www.libsdl.org/)과 같은 라이브러리도 있지만, GLFW는 윈도우 생성뿐만 아니라 Vulkan의 다른 추가적인 플랫폼 의존적인 작업들에 대한 추상화도 제공해 준다는 것입니다.

GLFW의 최신 버전을 [공식 웹사이트](http://www.glfw.org/download.html)에서 찾을 수 있습니다. 이 튜토리얼에서는 64비트 바이너리를 사용할 것인데 32비트 모드로 빌드하셔도 됩니다.그런 경우 Vulkan SDK의 `Lib` 디렉터리 대신 `Lib32` 디렉터리의 라이브러리들을 링크하셔야 합니다. 다운로드 하시고 나서 편한 곳에 압축을 푸십시오. 저는 내 문서 아래의 비주얼 스튜디오 디렉터리 아래 `Libraries` 폴더를 만들어 그 곳에 넣었습니다.
GLFW의 최신 버전을 [공식 웹사이트](http://www.glfw.org/download.html)에서 찾을 수 있습니다. 이 튜토리얼에서는 64비트 바이너리를 사용할 것인데 32비트 모드로 빌드하셔도 됩니다.그 경우에는 Vulkan SDK의 `Lib` 디렉터리 대신 `Lib32` 디렉터리의 라이브러리들을 링크하셔야 합니다. 다운로드 하시고 나서 편한 곳에 압축을 푸십시오. 저는 내 문서 아래의 비주얼 스튜디오 디렉터리 아래 `Libraries` 폴더를 만들어 그 곳에 넣었습니다.

![](/images/glfw_directory.png)

Expand Down
2 changes: 1 addition & 1 deletionkr/03_Drawing_a_triangle/00_Setup/01_Instance.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,7 +83,7 @@ if (vkCreateInstance(&createInfo, nullptr, &instance) != VK_SUCCESS) {

## VK_ERROR_INCOMPATIBLE_DRIVER 오류에 맞닥뜨린다면:

최신MultenVK SDK를 MacOS에서 사용중이하면 `vkCreateInstance`로부터 `VK_ERROR_INCOMPATIBLE_DRIVER`가 반환될 수 있습니다. [Getting Start Notes](https://vulkan.lunarg.com/doc/sdk/1.3.216.0/mac/getting_started.html)를 살펴보십시오. 1.3.216 Vulkan SDK부터는 `VK_KHR_PORTABILITY_subset` 확장이 필수적입니다.
최신MoltenVK SDK를 MacOS에서 사용중이하면 `vkCreateInstance`로부터 `VK_ERROR_INCOMPATIBLE_DRIVER`가 반환될 수 있습니다. [Getting Start Notes](https://vulkan.lunarg.com/doc/sdk/1.3.216.0/mac/getting_started.html)를 살펴보십시오. 1.3.216 Vulkan SDK부터는 `VK_KHR_PORTABILITY_subset` 확장이 필수적입니다.

오류를 해결하기 위해서는 먼저 `VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR` 비트를 `VkInstanceCreateInfo` 구조체 플래그에 추가하고, `VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME`를 인스턴스의 확장 리스트에 추가하십시오.

Expand Down
6 changes: 3 additions & 3 deletionskr/03_Drawing_a_triangle/00_Setup/02_Validation_layers.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
## 검증 레이어란?

Vulkan API는 최소한의 드라이버 오버헤드를 기반으로 설계되었고 그를 위해서 기본적으로 API에서는 최소한의 오류 체크 기능만을 포함하고 있습니다. 열거자를 잘못된 값으로 설정한다거나 필요한 매개변수에 널 포인터를 넘긴다거나 하는 간단한 오류도 일반적으로는 명시적으로 처리되지 않아서 크래시나 정의되지 않은 동작을 일으키게 됩니다.Vulkan은 여러분이 하는작업이 매우명시적이기를 요구하기 떄문에, 새로운 GPU의 기능을 사용한다거나, 논리적 장치 생성 때 필요한 것들을 깜빡한다거나 하는 작은 실수를 저지르기 쉽습니다.
Vulkan API는 최소한의 드라이버 오버헤드를 기반으로 설계되었고 그를 위해서 기본적으로 API에서는 최소한의 오류 체크 기능만을 포함하고 있습니다. 열거자를 잘못된 값으로 설정한다거나 필요한 매개변수에 널 포인터를 넘긴다거나 하는 간단한 오류도 일반적으로는 명시적으로 처리되지 않아서 크래시나 정의되지 않은 동작을 일으키게 됩니다.Vulkan에서 여러분이 하는작업은 매우명시적이어야 하기 때문에, 새로운 GPU의 기능을 사용한다거나, 논리적 장치 생성 때 필요한 것들을 깜빡한다거나 하는 작은 실수를 저지르기 쉽습니다.

하지만, 그렇다고 그러한 체크 기능이 API에 포함될 수 없는것은 아닙니다. Vulkan은 *검증 레이어*라고 알려진 우아한 해결책을 만들었습니다. 검증 레이어는 선택적인 구성요소로 Vulkan 함수 호출에 후킹(hook)할 수 있는 추가적인 연산입니다. 일반적으로 검증 레이어에서 수행하는 연산은:

Expand DownExpand Up@@ -39,7 +39,7 @@ Vulkan에는 두 가지 종류의 검증 레이어가 존재하는데 인스턴

이 장에서 우리는 Vulkan SDK에서 제공하는 표준 진단 레이어를 활성화 하는 법을 알아볼 것입니다. 확장과 마찬가지로, 검증 레이어는 그 이름을 명시하여 활성화해야 합니다. 모든 유용한 표준 검증들은 SDK에 포함되어 있는 `VK_LAYER_KHRONOS_validation`이라는 레이어에 포함되어 있습니다.

먼저 프로그램에 두 개의 구성 변수를 추가하여 사용할 레이어를 명시하고 그들을 활성화할것인지 말지를알려줍시오. 저는 디버깅 모드인지 아닌지에 따라 값을 설정하도록 했습니다. `NDEBUG` 매크로는 C++ 표준에 포함된 매크로로 "디버그가 아님"을 의미합니다.
먼저 프로그램에 두 개의 구성 변수를 추가하여 사용할 레이어를 명시하고 그들을 활성화할것인지를알려줍니다. 저는 디버깅 모드인지 아닌지에 따라 값을 설정하도록 했습니다. `NDEBUG` 매크로는 C++ 표준에 포함된 매크로로 "디버그가 아님"을 의미합니다.

```c++
const uint32_t WIDTH = 800;
Expand DownExpand Up@@ -105,7 +105,7 @@ void createInstance() {

이제 프로그램을 디버그 모드에서 실행해 오류가 발생하지 않는지 확인하세요. 오류가 발생하면, FAQ를 살펴보세요.

마지막으로, `VkInstanceCreateInfo` 구조체 초기화를구정해서 사용이 가능한 경우 검증 레이어의 이름을 포함하도록 하세요.
마지막으로, `VkInstanceCreateInfo` 구조체 초기화를수정해서 사용이 가능한 경우 검증 레이어의 이름을 포함하도록 하세요.

```c++
if (enableValidationLayers) {
Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp