⭐ Vulkan & CMake/Vulkan
[Vulkan] Vulkan Descriptor pool
[Vulkan] Vulkan Descriptor pool
2024.09.16글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! Vulkan Descriptor pool 리소스 접근을 위한 인터페이스 Descriptor set layout은 어떤 리소스가 사용할 수 있다는 것을 정의하지만 실제로어떤 리소스가 바인딩 될지에 대한 정보는 포함하고 있지 않다. 리소스의 실제 바인딩은 Desciptor set을 ..
[Vulkan] Vulkan Descriptor set layout
[Vulkan] Vulkan Descriptor set layout
2024.09.16다음 내용은 OpenGL에는 존재하지 않고 Vulkan에서도 다소 복잡한 개념이다. 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! Vulkan Descriptor set layout 삼각형이 움직이기 위해서는 필요한 것 삼각형을 움직이기 위해서 유니폼이 필요하다.Vulkan에서는 유니폼 블록을 사용해서 유니폼을 정의해야 한다. 아래의 코드를 보면 OpenGL의 유니폼과 생김새가 다른 것을 알 수 있다. set, binding 같은 새로운 키워드가 등장한다. "layout(set = 0, binding = 0) uniform Uniform { \n"" float position[2]; ..
[Vulkan] Hello Triangle
[Vulkan] Hello Triangle
2024.09.14목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! Hello Triangle Vulkan Buffer와 Vulkan Memory 바인드하기 VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 파라미터설명 device VkDevice buffer VkBuffer memory VkDeviceMemory memoryOffset Memory 오프셋 vkBindBufferMemory 함수로 mVertexBuffer와 m..
[Vulkan] Vulkan Memory
[Vulkan] Vulkan Memory
2024.09.12Vulkan은 애플리케이션이 메모리를 직접 제어할 수 있게 하여 성능을 극대화할 수 있지만 메모리에 대한 정확한 이해가 없이 코드를 작성하면 오히려 비효율적으로 동작할 수도 있다. 목차 Vulkan Memory Vulkan Memory란? Vulkan Memory는 실제 메모리 공간을 대표하는 리소스다. (OpenGL에는 없다) Vulkan은 OpenGL과 달리 Memory를 독립된 리소스로 정의했다. 이러한 설계는 Memory 할당이 매우 무거운 작업이기 때문에 Vulkan에서는 Memory의 재활용을 하기 위함이다. (이러한 설계는 메모리 할당이 매우 무거운 작업이기 때문에 개발자가 직접 메모리를 관리하는것이 더 효율적일 것이라는 판단에서 비롯되었다. 흐음... 과연 그럴까? ) 위의..
[Vulkan] Vulkan Buffer
[Vulkan] Vulkan Buffer
2024.09.12이번 시간에는 색 스펙트럼이 보이는 삼각형을 만들 것이다. 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! Vulkan Buffer 삼각형을 그리기 위해서 필요한 것 이번에는 왼쪽의 삼각형을 만들 것이다. 왼쪽의 삼각형을 그리기 위해서는 위치 정보와 색상 정보가 필요하다. 일반적으로 Shader에는 Vertex 정보를 직접 저장하지 않는다. 이는 각 모델의 Vertex 정보가 서로 다르기 때문이다. 대신, Vertex 정보는 Buffer에 저장되며, Graphics pipeline은 이 Buffer로부터 Vertex 정보를 읽어들인다. 위의 삼각형을 그리기 위해 버퍼에..
[Vulkan] Vulkan Graphics pipeline 벌컨 그래픽스 파이프라인
[Vulkan] Vulkan Graphics pipeline 벌컨 그래픽스 파이프라인
2024.09.11글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! Vulkan Graphics pipeline Vulkan Graphics pipeline이란? Vulkan Graphics pipeline은 OpenGL과 동일하다.Vulkan은 OpenGL와 달리 Graphics pipeline의 모든 단계를 개발자가 직접 명시적으로 설정해야 한다...
[Vulkan] Vulkan Shader module
[Vulkan] Vulkan Shader module
2024.09.10목차 Vulkan Shader module Vulkan Shader module이란? Vulkan Device에 의해 실행될 쉐이더 코드를 포함하는 리소스다. VkShaderModuleCreateInfo 구조체 typedef struct VkShaderModuleCreateInfo { VkStructureType sType; const void* pNext; VkShaderModuleCreateFlags flags; size_t codeSize; const uint32_t* pCode;} VkShaderModuleCreateInfo; 멤버 변수 설명 sType 구조체의 타입 pNext NULL 또는 확장 기능 구조체의 포인터 flags 일단 0을 사용..
[Vulkan] VKSL 주의사항
[Vulkan] VKSL 주의사항
2024.09.10글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! VKSL 주의사항 GLSL 요구사항 Vulkan은 특정 버전 이상의 GLSL을 요구한다.SPIR-V로 컴파일하기 위해, GLSL은 #version 450이 권장되며, ESSL의 경우 최소 #version 310 es가 필요합니다. #version 300 esvoid main() {..
[Vulkan] SPIR-V
[Vulkan] SPIR-V
2024.09.10SPIR-V (Standard Portable Intermediate Representation V)는 Vulkan의 Shader 언어다. 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! SPIR-V SPIR-V란? SPIR는 Standard Portable Intermediate Representation의 약어다. SPIR-V는 SPIR로부터 파생되었다.SPIR-V는 Vulkan의 Shader 언어다. SPIR-V가 Vulkan과 OpenCL에서 사용되기 시작하면서 그래픽스와 컴퓨팅 생태계의 모습이 근본적으로 변하게 될 것입니다. 특히 다양한 언어를 개발자들이 사용할 수 있기 때문입니다. ..
[Vulkan] Hello fast clear
[Vulkan] Hello fast clear
2024.09.10글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! Hello fast clear 렌더링을 하기 위한 조건 Vulkan Framebuffer에 렌더링을 하기 위해서는 Vulkan Render pass를 Begin 상태로 변경해야 한다. (RenderPass가 Begin 상태로 변경될 때 Tile Memory의 데이터가 어떻게..
[Vulkan] Vulkan Framebuffer
[Vulkan] Vulkan Framebuffer
2024.09.10Vulkan Framebuffer는 그래픽스 파이프라인의 출력이 저장될 위치를 정의한 리소스다. 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! Vulkan Framebuffer Vulkan Framebuffer란? Vulkan Framebuffer는 그래픽스 파이프라인의 출력이 저장될 위치를 정의한 리소스다. (Vulkan의 Framebuffer는 OpenGL의 Framebuffer와 정확하게 동일하다.) Vulkan Framebuffer는 Vulkan Image view의 집합으로 구성된다. VkFramebufferCreateInfo 구조체 typedef struct VkFrame..
[Vulkan] Vulkan Render pass
[Vulkan] Vulkan Render pass
2024.08.16Vulkan의 Render Pass는 Framebuffer의 메모리 접근을 관리하는 리소스다. Render Pass는 GPU에서 렌더링 작업을 정의하고 최적화하기 위해 사용한다. Render Pass는 한 번의 렌더링 작업에서 수행되는 여러 Sub pass와 그 사이의 종속성을 정의한다. 메모리 액세스를 최적화하고, 효율적인 렌더링을 한다. 목차 인프런 삼각형님의 '삼각형의 실전! Vulkan 중급' 강의를 참고하였습니다. 😎 [삼각형의 실전! Vulkan 중급] 강의 들으러 가기! Vulkan Render pass Vulkan Render pass란? Render Pass는 Framebuffer의 메모리 접근을 관리하는 리소스다. Vulkan Render pass는 OpenGL에서는 존재..