전체 글 23

소프트웨어 렌더러 만들기 - 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렌더러를 분석하고 이를 모방한  렌더러 구조를 만들고 ..

소프트웨어 렌더러 만들기 - 7 (직선 그리기)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/3c741c781e32f772d56da936a6d7e51f08b4d452 GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다. C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub. github.com Graphics 모듈 추가 뭔가 화면에 그려주는 처리 같은걸 어디서 해줄까 고민을 하다가 HCGraphics라는 모듈을 하나 추가해줬다. 이번에 구현한 직선을 ..

소프트웨어 렌더러 만들기 - 6 (다양한 크기의 Vector와 Square Matrix)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/ce2dd7eae5a67e2c5af487c7a53f9d28351fd1b4 GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다. C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub. github.com 게으르게 좀 놀았습니다 기말 시즌에 학기작 작업 바쁘게 마무리하고, 학생회도 마무리 짓고 하다보니 사이드 프로젝트에 대한 관심도가 자연스럽게 떨어졌다. 어쩌다보..

소프트웨어 렌더러 만들기 - 5 (Custom Assertion)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/f069823fcd73b59876f2b7fddf085b1d647bf826 GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다.C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub.github.comAssertion 매크로#pragma once#ifdef NDEBUG#define ASSERT(expression) ((void)0)#else#include #inc..

소프트웨어 렌더러 만들기 - 4 (Math헤더 보강)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/0a71d0b0df0a0bb7648bcd3d6618afa300d0ea9f GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다. C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub. github.com 상수 추가 static constexpr float PI = 3.1415926535897932f; static constexpr float TwoPI = 2 *..

소프트웨어 렌더러 만들기 - 3 (스크린 좌표계, 출력 영역 조정)

여기까지의 작업내용: https://github.com/hwi-middle/HimchanSoftwareRenderer/tree/9319547dcbf3a0961f261d0d2c9e165bb4f8e04d GitHub - hwi-middle/HimchanSoftwareRenderer: C++로 구현한 소프트웨어 렌더러입니다. C++로 구현한 소프트웨어 렌더러입니다. Contribute to hwi-middle/HimchanSoftwareRenderer development by creating an account on GitHub. github.com 스크린 좌표계 ↔ 데카르트 좌표계 변환 struct ScreenPoint { FORCEINLINE static Vector2 ScreenToCartesian(c..