전체 글 18

소프트웨어 렌더러 만들기 - 17 (3D 렌더링)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/bd9fed296433cc0cfb0299d3d511b2eebba8b39b GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com (또또) 오랜만입니다와, 정말 바쁜 해였다. 졸업작품이 끝났으니 렌더러를 다시 손대보자 싶어서 자리에 앉았다. 특히, 올해 안으로 이 렌더러를 3D로 만들고 싶었기..

소프트웨어 렌더러 만들기 - 16 (삼각형 클리핑 + 버그 수정)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/1fec655e44bffcbd7eff43adea8ca4067748468f GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com(또) 오랜만입니다한 달 정도 정신없이 졸업 작품과 관련된 일을 했다. 그러다 오늘 약~간 시간이 남길래 다시 이 프로젝트에 손을 댔다. 지금은 새벽 3시 반. 피곤..

소프트웨어 렌더러 만들기 - 15 (키보드 입력)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/5f60ce091d4a69b2071bad751aeb2ca73636d833 GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com키보드 입력을 위한 함수일단 전공 수업이었던 과목에서 배운 바에 따르면 키보드 입력은 WndProc에서 WM_KEYDOWN, WM_KEYUP 같은 메시지를 통해서 ..

소프트웨어 렌더러 만들기 - 14 (텍스처링)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/b7de9ae464050e28b4a0df087a3d53d1a5eaed63 GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com stb 라이브러리png, jpg, tga 등 다양한 포맷을 이미지 라이브러리에 대해 찾아보니 stb 라이브러리 얘기가 많았고, CK렌더러도 stb를 사용하고 있다는..

소프트웨어 렌더러 만들기 - 13 (삼각형 채우기, 보간)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/4b2ed704877d380fac65cc97ae67b3457b3f060a GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com무게중심 좌표 vs 스캔라인저번 게시물에서 삼각형의 와이어프레임을 그렸으니 이제 색칠해볼 차례다. 내가 알고있는 선에서는 무게중심 좌표와 스캔라인 방식 중 어떻게 구..

소프트웨어 렌더러 만들기 - 12 (삼각형 그리기 + 버그 수정)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/51cb9f0f79f7447f93ead08c7fea180eec1bce6e GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com 얼렁뚱땅 버그 천국삼각형을 그리는 처리는 간단했다. 그냥 DrawLine 3번 하면 되니까. 그리고 버텍스 버퍼와 인덱스 버퍼에 대한 개념을 전공 수업에서 배워서 ..

소프트웨어 렌더러 만들기 - 11 (메모리 누수 해결 및 성능 최적화)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/f26aa3b245df0417381fa1a5e0fe323d778c1ccb GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com끔찍한 성능렌더러를 만들면서 만난 복병이 있다면 성능이다. 처음에는 GPU 쓰는 것도 아니니까 성능은 그럭저럭 나와도 괜찮다고 생각하면서 넘어갔는데, 더블 버퍼링 만..

소프트웨어 렌더러 만들기 - 10 (DeltaTime 및 fps 측정 구현)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/edb995170a50bb1f7e3d466fae34a2722dcd5b4d GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com고해상도 타이머성능 측정(fps)과 DeltaTime 구현을 위해서 C/C++ 표준 라이브러리를 이용해야하나 싶었는데, CK 렌더러를 살펴보니 힌트를 얻을 수 있었다..

소프트웨어 렌더러 만들기 - 9 (Resize 대응)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/dcd6f06b4da884d4ea3b921220752ecbfb601979 GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.comWIN32_LEAN_AND_MEAN#define WIN32_LEAN_AND_MEAN CK 렌더러의 프리컴파일 헤더를 보다보니 이런 부분이 있어서 MSDN을 찾아보았다..

소프트웨어 렌더러 만들기 - 8 (렌더러 구조 및 더블 버퍼링)

여기까지의 작업내용:https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/ae54dc291b2d7497b31f674c9235fbbd080ba54d GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.com삽질의 기록졸업 작품을 하다보니 렌더러에 아예 신경을 못쓰고 있었다. 방학 후 조금 쉬다가, 며칠을 매달려서 CK렌더러를 분석하고 이를 모방한  렌더러 구조를 만들고 ..