목록과제 (103)
응애맘마조

주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다. 노멀 매핑 폴리곤의 법선 벡터의 값을 사용하여 로우 폴리곤의 그래픽 환경에서 하이 폴리곤의 입체감 및 질감을 구현하는 방법입니다. 물론 물체의 질감을 있는 그대로 표현하게 되면 삼각형의 양이 상당히 많아지고 연산량도 증가하게 되지만 노멀 매핑을 사용하면 반대로 폴리곤을 적게 사용하고도 비슷하게 효과를 낼 수 있는 기술입니다. 원리로는 실제 사람이 눈으로 볼 때는 물체의 표면에 굴곡이 있을 때 그 굴곡 때문에 표면의 방향성이 바뀌고 그 방향에 따라 빛이 다르게 반사되기 때문에 보는 사람이 그 굴곡을 느낄 수 있습니다. 하지만 DirectX에서는..
주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다. 스키닝은 피부를 붙이는 작업이며 Mesh를 애니메이션 할 때 접합부위를 자연스럽게 이어 붙이기 위한 기술입니다. 3D는 2D와 다르게 Mesh에서 관절과 관절 사이가 끊김 현상이 발생할 수 있는데 이를 막는 방법 스키닝이라고 합니다. '단일 Mesh + 가중치 사용'의 방법이 가장 이상적인 형태로 A의 애니메이션 행렬 Ma와 B의 애니메이션 행렬 Mb가 각각 가중치 Wa와 Wb값에 의해 결합되어 최종값을 만드는 것을 알 수 있습니다. 먼저 스키닝은 스킨을 이루는 단일 Mesh와 뼈대(bone)로 이루어진 구조를 갖고 있습니다. 이 뼈대는 캐릭..

230621 강의 https://keisukeaso.tistory.com/198에 이어서 본인이 원하는 파일을 로드하는 것이 과제였습니다. #include "stdafx.h" #include "Main.h" Main::Main() { } Main::~Main() { } void Main::Init() { Cam = Camera::Create(); Cam->LoadFile("Cam.xml"); Camera::main = Cam; Cam->width = App.GetWidth(); Cam->height = App.GetHeight(); Cam->viewport.width = App.GetWidth(); Cam->viewport.height = App.GetHeight(); grid = Grid::Create..
주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다. 영상으로 보는 SIMD SIMD는 한 번에 데이터 여러 개를 명령어 하나로 처리하는 기법을 말합니다. 현재 대부분 프로그램은 하나의 명령으로 하나의 데이터를 처리하는 것이고 2개의 데이터를 처리하려면 2번 연산을 하는 SISD 방식으로 동작합니다. 이는 CPU 성능을 100% 활용하지 못하는 방식입니다. CPU 정보를 볼 수 있는 프로그램에서 MMX, SSE, SSE2, SSE3 같은 형식을 볼 수 있습니다. Intel SIMD Extention MMX SSE/SSE2 AVX/AVX2 AVS512F 레지스터 크기 64 128 256 512 위..
https://keisukeaso.tistory.com/192 이전 과제에서 점프랑 카메라 3인칭 시점이 추가 되었고 벽에 대한 충돌과 아이템 획득시 다음으로 넘어갈 수 있도록 하는 것이 과제였습니다. 영상으로 찍고싶었으나 그렇게 되면 플레이시간이 길어짐에 따라 링크로 첨부하겠습니다. https://drive.google.com/drive/folders/13PLYBljS38IHCbSamGtGd57774nZ_H4y?usp=sharing [Build 폴더] → [Game1.exe 실행]으로 하시면 됩니다.