본문 바로가기

OpenGL

Graphics Pipeline basics - introduction 이전 글 : Image views 다음 글 : Shader modules Graphics Pipeline basicsIntroduction다음 몇 강좌를 통해 우리는 첫 번째 삼각형을 그리도록 구성된 그래픽 파이프 라인을 설정할 것입니다. 그래픽 파이프 라인은 렌더링 타겟의 픽셀까지 메쉬의 꼭지점과 텍스처를 가져 오는 일련의 작업입니다. 간략한 개요가 아래에 표시됩니다. 입력 어셈블러는 지정한 버퍼에서 원시 버텍스 데이터를 수집하고 인덱스 버퍼를 사용하여 버텍스 데이터 자체를 복제하지 않고도 특정 요소를 반복 할 수 있도록 합니다. 버텍스 쉐이더는 모든 버텍스에 대해 실행되며, 일반적으로 버텍스 위치를 모델 공간에서 스크린 공간으로 변환하는 작업을 합니다. 또한 버텍스 별 데이터를 다음 파이프 라인 스테.. 더보기
Presentation - Image views 이전 글 : Swap chain 다음 글 : Graphics Pipeline basics Image views스왑 체인의 렌더 파이프 라인을 포함하여 VkImage 를 사용하려면 렌더링 파이프 라인에서 VkImageView 객체를 만들어야 합니다. 이미지 뷰는 말 그대로 이미지에 대한 뷰입니다. 밉 매핑 을 사용하지 않고 2D 텍스처, 깊이 텍스처로 처리 해야하는 경우와 같이 이미지에 액세스하는 방법과 액세스 할 이미지 부분을 설명합니다. 이 장에서는 스왑 체인의 모든 이미지에 대한 기본 이미지 뷰를 생성하여 나중에 색상 대상으로 사용할 수있는 createImageViews 함수를 작성합니다. 먼저 이미지 뷰를 저장할 클래스 멤버를 추가합니다. std::vector swapChainImageViews; .. 더보기
Presentation - Swap chain 이전 글 : Window surface 다음 글 : Image views Swap chain스왑 체인Vulkan에는 "기본 프레임 버퍼" 개념이 없으므로 화면에서 시각화 하기 전에 렌더링 할 버퍼를 소유하는 인프라가 필요합니다. 이 인프라를 스왑 체인 이라고 하며 Vulkan에 명시 적으로 만들어야 합니다. 스왑 체인은 본질적으로 화면에 표시되기를 기다리는 이미지 대기열입니다. 우리의 응용 프로그램은 그와 같은 이미지를 가져 와서 그 이미지를 큐에 반환합니다. 대기열의 작동 방식과 대기열에서 이미지를 표시하기 위한 조건은 스왑 체인 설정 방법에 따라 다르지만 스왑 체인의 일반적인 목적은 이미지의 프레젠테이션을 화면 새로 고침 빈도와 동기화하는 것입니다. Checking for swap chain supp.. 더보기
Presentation - Window surface 이전 글 : Logical device and queue 다음 글 : Swap chain Window surface Vulkan은 플랫폼에 독립적인 API 이기 때문에 자체적으로 윈도우 시스템과 직접 인터페이스 할 수 없습니다. Vulkan 과 윈도우 시스템 간의 연결을 설정하여 결과를 화면에 표시 하려면 WSI (Window System Integration) 확장을 사용해야 합니다. 이 장에서는 VK_KHR_surface 의 첫 번째 항목에 대해 설명 합겠습니다.렌더링 된 이미지를 윈도우 화면에 나타내는 VkSurfaceKHR 객체에 대하여 살펴 보게 될 것 입니다.. 우리 프로그램의 윈도우 화면은 이미 GLFW로 만들어져 있습니다. VK_KHR_surface 확장 기능은 인스턴스 수준의 확장 기능이.. 더보기
Setup - Logical device and queue 이전 글 : Physical devices and queue families 다음 글 : Window surface Logical device and queue논리적 디바이스와 큐 Introduction 사용하려는 물리적 장치를 선택한 후에는 논리적 장치를 설정하여 인터페이스 할 필요가 있습니다. 논리적 디바이스 작성 프로세스는 인스턴스 작성 프로세스와 유사하며 사용 하려는 기능을 명시 해야 합니다. 또한 앞에서 어떤 대기열 패밀리를 사용할 수 있는지 검토 했으므로 그 검토에 의하여 , 지금 생성 할 대기열을 지정 해야 합니다. 다양한 요구 사항이 있는 경우 동일한 물리적 장치에서 여러 논리적 장치를 만들 수도 있습니다. 논리 장치 핸들을 저장할 새 클래스 멤버를 추가하는 것으로 시작 하십시오. VkDe.. 더보기
Development environment 이전 글 : Overview다음 글 : Drawing Triangle - Base code Development environment 이 장에서는 Vulkan 응용 프로그램 개발을 위한 환경을 설정하고 유용한 라이브러리를 설치합니다. 컴파일러를 제외한 모든 도구는 Windows 및 Linux와 호환 되지만 설치 단계가 조금씩 다르므로 여기서는 별도로 설명합니다. Windows Windows 용으로 개발하는 경우 Visual Studio 2013 또는 2015를 사용하여 코드를 컴파일 한다고 가정 합니다. 단계는 두 버전에서 동일 하지만 Vulkan SDK에는 현재 Visual Studio 2013과 호환되는 디버그 기호 만 포함됩니다. 실제로는 문제가 아니지만 사용자가 고려해야 할 사항 입니다 Vulka.. 더보기