본문 바로가기

그래픽스ㆍDirectX14

그래픽스 파이프라인 (Graphics Pipeline) OpenGL ES: 09. 그래픽스 파이프라인 - YouTube 그래픽스 파이프라인이란? (Graphics Pipeline) - 그래픽스 개발자의 코딩 블로그 (tistory.com) 그래픽스 파이프라인 3차원 도형 혹은 이미지를 2차원 래스터 이미지로 표현하기 위한 단계적 방법 입력으로 정점들이 들어오면(Vertices) Vertex Shader에서 계산해주고 Primitive Assembly에 의해 Assembly 정보에 따라 삼각형 만들어주고 이 삼각형이 화면의 어디에 나오는지 Rasterization 단계를 거쳐 Fragment Shader에서 색상 결정한 후 Per-Fragment Operations 후 Framebuffer에 써짐 Transform Feedback? Vertex Shader의 .. 2022. 5. 21.
DirectX와 OpenGL OpenGL(vulkan) vs DirectX (mr-dingo.github.io) 앱플레이어 OpenGL과 Direct X는 무엇이며 차이점은 (tistory.com) OpenGL(Vulkan) 그래픽 라이브러리 Cross platform DirectX 게임업계에서 인기 많음 Vulkan에 비해 Nvidia Graphic 카드에 최적화 잘 되어있음 Windows 플랫폼 위에서만 작동 2022. 5. 21.
짐벌락과 쿼터니언 + Spherical Linear Interpolation 쿼터니언과 3차원 회전 | Quaternion | 사원수 - YouTube 쿼터니언 그래픽스나 로보틱스에서 3차원 회전을 표현할 때 많이 사용함 특히 캐릭터 애니메이션 같은 경우 각 관절들이 상대적인 회전을 표현할 때 필수적으로 사용됨 3차원 회전은 3자유도 Gimbal Lock 회전을 표현하려면 3자유도가 필요한데 앵글들이 조합이 잘못되면 자유도 하나가 사라져버려서 표현력이 떨어져버림 Euler (gimbal lock) Explained - YouTube 쿼터니언 쿼터: 4. 4원수 쿼터니언은 복소수를 확장한 x, y, z, w 성분을 갖는 4차원 벡터로 세 개의 축을 동시에 회전시켜 축에 대한 종속 관계를 없앴으며 하나의 축이 소실되는 문제점을 방지할 수 있다. a, b, c 뒤에 i, j, k는 허.. 2022. 5. 21.
렌더링 파이프라인 - 래스터라이저와 프래그먼트 셰이더 유니티 셰이더&렌더링 에센스 E04 : 렌더링 파이프라인 (3/3) - 래스터라이저와 프래그먼트 셰이더 - YouTube 렌더링 파이프라인 - 래스터라이저와 프래그먼트 셰이더 레스터라이저에서는 기본적으로 전달받은 정점들로부터 삼각형을 구성하고 그 삼각형을 채우는 프래그먼트를 생성해서 프래그먼트 셰이더에게 전달하게 됨 레스터라이저 - 뷰포트 변환: 클립공간(NDC) -> 스크린 공간 - 스캔 변환: 프리미티브(삼각형)를 이루는 프래그먼트 생성 - 정점들의 값을 보간하여 프래그먼트의 속성 값들을 결정 뷰포트 변환 클립 공간(NDC) -> 스크린 공간 정규화된 공간 -> 스크린(윈도우 화면)에 맞춘 공간으로 변형 즉, 2 x 2 x 1 짜리 직육면체 공간에 있던 정점들을 스크린에 대응되는 공간인 스크린 공간으.. 2022. 5. 21.
렌더링 파이프라인 - 정점 조립과 정점 변환 유니티 셰이더&렌더링 에센스 E03 : 렌더링 파이프라인 (2/3) - 정점 조립과 버텍스 셰이더의 변환 행렬 - YouTube 렌더링 파이프라인 - 정점 조립 정점 조립 - 정점 버퍼의 요소들을 정점 구조체로 조립 우리가 쉽게 인식할 수 없는 스트림 형태의 데이터를 우리가 쉽게 이해할 수 있는 정점 구조체 단위로 조립 정점 조립과정을 거치게 되면 삼각형에 대한 정점들에 대한 버텍스 버퍼 데이터들이 세개의 정점으로 구성되고 이 세개의 정점은 버텍스 셰이더에 대해 각각 병렬로 처리되어서 또 다른 형태의 정점으로 표현됨 정점 조립 단계를 거치고 버텍스 셰이더 단계로 진입 렌더링 파이프라인 - 버텍스 셰이더 - 정점을 입력받아 다른 형태의 정점으로 변환 - 3D 공간 상의 정점의 위치를 클립 공간으로 옮기는 .. 2022. 5. 20.
셰이더 유니티 셰이더&렌더링 에센스 E01 셰이더는 무엇인가? - YouTube 셰이더 화면에 색을 칠하는(Shading) 프로그램 랜더링 파이프라인의 일부를 유연하게 변경하는 프로그램 렌더링 파이프라인에서 프로그래머가 직접 수정할 수 있는 부분이 셰이더 셰이더 종류 버텍스 셰이더 : 그려질 위치를 결정 정점에 대해서 대응되는 화면상의 정점을 출력하는 함수이자 프로그래밍 즉 3D 공간 상의 위치를 화면 상의 위치로 변환한다고 생각하면 되는데 현실의 물체의 꼭짓점들이 종이 위에서는 어떻게 대치될지 그리는 것이라고 생각하면 됨 이 과정이 필요한 이유? 현실의 물체가 아무리 동일한 형태로 계속 존재해도 우리가 어떤 각도에서 보냐에 따라서 종이 위에 어디에 위치하고 어떤 크기로 그려질지 결정하고 밑그림을 그려야지 나중.. 2022. 5. 20.