250624

lililllilillll·2025년 6월 24일

개발 일지

목록 보기
212/350

✅ What I did today


  • LeetCode
  • DirectX 12를 이용한 3D 게임 프로그래밍 입문


⚔️ LeetCode


9. Palindrome Number

bool Nine::isPalindrome(int x) {
    //std::string x_str = std::to_string(x);
    //int x_len = x_str.length();
    //for(int i=0; i< x_len/2; i++)
    //{
    //    if (x_str[i] != x_str[x_len - i -1])
    //    {
    //        return false;
    //    }
    //}
    //return true;

    if (x < 0 || (x != 0 && x % 10 == 0)) return false;

    int x_backward = 0;

    while (x > x_backward)
    {
        x_backward = x_backward * 10 + x % 10;
        x /= 10;
    }

    return x == x_backward || x == x_backward / 10;
}

헤더 중복 방지

#ifndef NINE_H
#define NINE_H

// 여기에 실제 클래스나 함수 선언

#endif

이거랑 #pragma once 이거랑 같은 효과.
헤더 안에 이미 있던 헤더 또 포함돼있으면 오류 발생하는거 방지.

Visual Studio 들여쓰기 조절

들여쓰기 증가 Tab
들여쓰기 감소 Shift + Tab

boolalpha

cout << true << endl;         // 기본 출력: 1
cout << boolalpha << true;    // 출력: true

static은 선언부에만 붙이고, 정의부에는 붙이지 않는다.



📖 DirectX 12를 이용한 3D 게임 프로그래밍 입문


2h 40m

1.6.9 부동 소수점 오차

정규화같은 거 할 때 부동소수점으로 표현되니까 수치 오차 발생한다.
작은 상수 (Epsilon) 정의해놓고 오차가 그것보다 작은지로 판단.
아니면 XMVector3NearEqual()이라는 함수도 있다.

Chapter 2 행렬 대수

소행렬 : 행이랑 열 제거한 행렬

여인수행렬 : 각 성분 여인수 계산해서 같은 위치에 배치한 행렬
딸림행렬 : 여인수 행렬의 전치 행렬. 행렬식으로 나누면 원본 행렬의 역행렬 나옴.

행렬식 : 그 행렬이 공간을 얼마나 늘리고 뒤집는지 나타내는 값

2.8 DirectXMath의 행렬

XMMATRIX : 4x4 행렬 표현
XMFLOAT4X4 : 행렬 저장할 때 사용

함수 매개변수는 XMVECTOR랑 비슷한데, XMMATRIX는 매개변수 하나가 XMVECTOR 매개변수 네 개에 해당.

호출 규약 : 함수 호출할 때 인자를 레지스터, 스택 어디에 저장할지, 호출자, 피호출자 누가 정리할지, 반환값 어디에 둘지 정의하는 규칙
XM_CALLCONV 호출규약을 지정하는 이유 : SIMD 벡터를 레지스터로 직접 전달하고, XMVECTOR의 16바이트 정렬도 하기 위해

profile
너 정말 **핵심**을 찔렀어

0개의 댓글