본문 바로가기

반응형

분류 전체보기

[Handmade Hero] 003 - Allocating a Backbuffer 오늘의 공부 Win32 API - CreateDIBSection: 마우스에 의한 윈도우창 사이즈 변경 - - BITMAPINFO: 각각의 헤더들의 설정을 지정해준다 - WM_SIZE가 불릴 때마다 Memory Leak이 있는지 확인하기 C++ Static의 사용처 3종류 - Global Variable: 누구나 사용할 수 있기에 일반적으로 사용을 비추천한다. - Local Variable: Local Persist - Local to file: 해당 파일에서만 사용할 수 있다. (internal) Reference - Official Lesson 더보기
[Handmade Hero] 002 - Opening a Win32 Window 현대 게임의 특징 - Rendering에 관한 모든 걸 GPU에 맡긴다. - GPU가 하는 일을 모른 채로 그냥 맡긴다. Handmade Hero 엔진의 특징 - GPU가 어떻게 일하는지 모르기때문에 직접 Win32 API를 이용해 Renderer를 만들어 사용한다. - 실제로 Rendering이 어떤 방식으로 이루어지는가 이해하기 위함. 오늘의 공부 Win32 지식 Basic Functions - WNDCLASS : 여러가지 기본 설정을 할 수 있는 function들을 사용하기위해 쓰인다. - WindowProc: Callback Function, 메시지를 받아서 실행한다.- RegisterClass: WNDCLASS를 통해 윈도우창을 열기 위해 필요한 Function.- CreateWindow: 여러.. 더보기
난리블루스 기초화성 2: 화성학의 핵 3화음 (Triad chords) - 둘중 어느 계산법으로 해도 똑같은 값이 나온다. 파란색 계산법 - 근음을 기준으로 해서 3도와 5도 계산 노란색 계산법 - 근음을 기준으로 해서 3도 2개 계산 Reference - 기타 코드의 탄생과 이해: 화성학의 핵심 - 난리블루스 더보기
난리블루스 기초화성 1 - 음정, 음계 온음과 반음 - 온음 = tone (C-D, D-E, F-G, G-A) - 반음 = semitone (E-F, B-C) 음정 - 1도 => ex: 파파 (같은음) - 2도 => ex: 도레 - 3도 => ex: 도레미 - 7도 => ex: 도레미파솔라시 - 8도 => ex: 파솔라시도레미파 (옥타브) 예: 같은 3도라도 온음 2개 혹은 온음1개 반음1개가 되어있는 음정이 있다. - - 장3도란? => 온음 2개 - - 단3도란 => 온음1개, 반음1개 - - 장,단을 구분할 때 반음만 헤아리자. - - 반음이 하나도 없다면 "장" (2,3도 해당) => Major, 밝은 느낌 - - 반음이 1개가 있다면 "단" (2,3도 해당) => Minior, 어두운 느낌 - - 반음이 1개면 장 (6,7도 해당) .. 더보기
온음계적 음정 (Tritone, 증, 감) Definition - 온음 = Whole tone - 음정 = interval = 음간의 거리 - Tritone: 온음 3개로 구성된 음 - 온음계적 음정: 흰 건반만 사용하는 음정 증4도 (Augmented) - 4도 - 6개의 반음이 이동한다. - 완전4도보다 거리가 멀기때문에 Augmented (증)을 사용 감5도 (Diminished) - 5도 - 6개의 반음이 이동한다. - 완전5도보다 거리가 짧기때문에 Diminished (감)을 사용 Conclusion - 파-시 = 증4도 - 시-파 = 감5 - 어느 음정을 봐도 빠르고 정확하게 계산할 수 있도록 계산하여야 한다. Reference - 음정을 풀어보자 I - 온음계적 음정 문제풀이 더보기
[Handmade Hero] 001 - Setting Up the Windows Build 기본 설정 - startup.bat @ C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup => Windows 시작시 가상 드라이브 실행 - build.bat (.exe파일을 빌드하기 위한 batch 파일) - shell.bat (비쥬얼 스튜디오 컴파일러를 사용하기 위한 batch 파일) - devenv \build\win32_handmade.exe (.sln 파일을 사용하기 위한 커맨드) - user32.lib -> MessageBox같은 function을 사용하기 위해 컴파일할 때 포함시켜야 한다. 개념 - CRT Library for C compiler - Import Library (Ex: user32.lib) -> 특정 Function을 .. 더보기
[Handmade Hero] Intro to C on Windows - Day 5 1. 코드 => 실행 프로그램까지의 과정source code to Executable- OBJ + LIB into Linker - Executable (Defined by Microsoft + Intel format)Exe File- Header - Fixup table (Call windows code) - Intel format code (Start running)2. Virtual MemoryPage- Divided into "page" (Physical) - Page Table - Each page has flags (Read, Write, Execute) - Page Fault - ICache for efficient CPU operation3. Shift Operator- Shift the b.. 더보기
[Handmade Hero] Intro to C on Windows - Day 4 1. Endian - High Order Byte Low Order Byte - DIsk에 있는 데이터 (이미지 오디오 등)을 어떻게 불러오는지 (Endian 유형)을 알아두어야한다. Little endian - Memory Layout: Low Order Byte comes first - Standard (x86, arm, x64) Big endian - Memory Layout: High Order Byte comes first - powerpc, xbox, playstation 2. Padding Byte struct projectilfe { char unsigned IsThisOnFire; int Damage; int ParticlesPerSecond; short HowManyCooks; } //.. 더보기

반응형