본문 바로가기

Drawing - Framebuffers 이전 글: Graphics pipeline basics- Conclusion다음 글 : Drawing - Command buffers Drawing - Framebuffers 프레임 버퍼우리는 지난 몇 장에서 프레임 버퍼에 대해 많이 이야기 했고 스왑 체인 이미지와 동일한 형식의 단일 프레임 버퍼를 생각한 렌더링 패스를 구성 했지만 아직 실제로 만들지는 않았습니다. 렌더링 패스 생성 중에 지정된 어테치먼트는 VkFramebuffer 객체로 래핑하여 바인딩됩니다.모든 VkImageView 오브젝트를 참조하는 프레임버퍼는 어테치먼트를 표현 합니다.우리의 경우에는 색상 어테치먼트 하나입니다 . 그러나 어테치먼트로 사용해야 하는 이미지는 스왑 체인이 표시 할 이미지를 검색 할 때 스왑 체인이 반환하는 이미지에 .. 더보기
Graphics pipeline basics- Conclusion 이전 글 : Graphics Pipeline basics - Render passes다음 글 : Drawing - Framebuffers Graphics pipeline basics- Conclusion 정리이전 장의 모든 구조와 객체를 결합하여 그래픽 파이프 라인을 만들 수 있습니다! 다음은 우리가 지금 가지고 있는 객체의 유형입니다. 쉐이더 스테이지 : 그래픽 파이프 라인의 프로그래머블 스테이지 기능을 정의하는 쉐이더 모듈고정 기능 상태 : 입력 어셈블리, 래스터 라이저, 뷰포트 및 색상 혼합과 같이 파이프 라인의 고정 함수 단계를 정의하는 모든 구조파이프 라인 레이아웃 : 그리기 시간에 업데이트 할 수 있는 셰이더에서 참조하는 유니폼 및 푸시 값렌더링 패스 : 파이프 라인 단계에서 참조하는 어태치먼.. 더보기
Graphics Pipeline basics - Render passes 이전 글 - Graphics pipeline basics - Fixed function다음 글 - Graphics pipeline basics - Conclusion Render passes렌더링 패스 Setup 파이프 라인 생성을 완료하기 전에 Vulkan에 렌더링하는 동안 사용될 프레임 버퍼를 알려 줘야 합니다. 얼마나 많은 색상 및 깊이 버퍼가 있는지, 각각에 대해 사용할 샘플 수 및 렌더링 작업 전체에서 내용을 처리하는 방법을 지정해야 합니다. 이 모든 정보는 렌더 패스 객체에 래핑됩니다.이 객체에 대해서는 새 createRenderPass 함수를 만듭니다. createVraphicsPipeline 전에 initVulkan에서 이 함수를 호출하십시오. void initVulkan() { creat.. 더보기
Graphics Pipeline basics - Fixed function 이전 글 : Shader modules다음 글 : Render passes Fixed function예전의 그래픽 API는 그래픽 파이프 라인의 대부분의 각 스테이지에 대한 기본적인 상태를 제공하고 있었습니다. Vulkan에서는 뷰포트 크기에서 색상 혼합 기능에 이르기까지 모든 것에 대해 이러한 상태를 명시해야 합니다. 이 장에서는 이러한 고정 함수 연산을 구성하기 위해 모든 구조체를 채울 것입니다. Vertex input VkPipelineVertexInputStateCreateInfo 구조체는 버텍스 쉐이더에 전달 될 정점 데이터의 형식을 기술합니다. 이것은 대략 두 가지 방법으로 이것을 기술합니다 : 바인딩 : 데이터 간 간격과 데이터가 각 정점 또는 각 인스턴스 여부 (인스턴스화 참조)속성 설명 .. 더보기
Graphics Pipeline basics - Shader modules 이전 글 : Graphics Pipeline basics 다음 글 : Fixed functionShader modules쉐이더 모듈이전 API와 달리 Vulkan의 쉐이더 코드는 GLSL 및 HLSL과 같이 사람이 읽을 수 있는 구문이 아닌 바이트 코드 형식으로 준비 되어야 합니다. 이 바이트 코드 형식은 SPIR-V라고하며 Vulkan 및 OpenCL (둘 다 Khronos API)과 함께 사용하도록 설계되었습니다. 그래픽을 작성하고 셰이더를 계산하는 데 사용할 수 있는 형식이지만 이 튜토리얼에서는 Vulkan의 그래픽 파이프 라인에 사용 된 셰이더에 초점을 맞출 것입니다. 바이트 코드 형식을 사용하는 이점은 GPU 공급 업체가 쉐이더 코드를 이진코드로 바꾸기 위해 작성한 컴파일러가 훨씬 덜 복잡하다는.. 더보기