목록전체 글 (155)
센로그
◆ C++ 처리 과정전처리 - 컴파일 - 링크 ▶ Preprocessing (전처리).cpp + .h컴파일러가 코드를 이해하기 쉽게 처리해줌 헤더파일 합쳐주고, #pragma once 처리하고,... 그런 거 함 전처리의 네단계 과정Trigraph replacement (트라이그래프 대체)과거 특수문자 사용이 어려울 때 트라이그래프(3개의 문자 조합)를 통해 특수문자를 표현했었음전처리 과정에서 이를 실제 특수 문자로 바꿔줌 현대에는 거의 사용되지 않으나, C++ 표준으로 남아있으므로 이런게 사용될수도 있구나 정도만 알고있으면 됨Line splicing (줄 이어붙이기)역슬래시(\)를 사용해 물리적으로 줄을 나눈 경우 이들을 하나의 논리적 줄로 합쳐줌Tokenization (토큰화)코드를 토큰과 공백으로 ..
◆ Programming Language for Game왜 게임에서는 객체지향을 쓸까?당연하게도, 절차지향인 경우, 게임으로 가면 문제가 많아짐하나 바꿀려면 그거 관련해서 다른거에 영향주는 거 다 찾아서 바꿔야 함객체지향은 해당 객체 하나만 바꾸면 되니까 굿 ◆ low-level language vs high-level languangelow-level language어셈블리어, 기계어직접 메모리 관리 해줘야 함high-level languagePython, C++, JAVA, ...자동으로 garbage collection 지원해주기도 함. (C#, Python, Java)◆ Nominal Typing vs Structural Typing타입을 비교하는 방식에 따라 명목적 타이핑, 구조적 타이핑으로 나..
▶ Scene Optimization Layer실행중에 적절히 씬을 최적화하기 위한 목적 몇가지 자주쓰이는 씬 최적화 기법이 있음Frustum CullingSpatial subdivisionLOD ▷ Scene Optimizaion Layer - Frustrum cull카메라 뷰에 비치는 부분만 렌더링 정확히는, 카메라의 뷰 frustum 안에 들어가는 부분만 렌더링하고, 나머지는 불필요하므로 컬링하여 렌더링 과정에서 제외 ▷ Scene Optimizaion Layer - Spatial subdivisionvertex들을 공간 단위로 구분해서 각 영역에 포함된 객체들을 관리하는 기법 그러면 뭔가를 찾을 때 이 큐브(구분된 공간) 단위로 순회해서 찾는 것임. (원래는 전체 vertex 다 순회) 이렇게 하..
◆ 게임 엔진이란고퀄리티 게임을 쉽고 빠르게 개발하기 위한 도구엄청난 프로그래밍 스킬이나 계산 리소스 없이도 사용 가능Unity, Unreal 엔진 등등 ◆ 게임 엔진의 구성게임 엔진은 일반적으로 도구들 + 런타임 구성 요소로 구성됨다른 컴퓨터 시스템들처럼, 게임엔진도 내부적으로 "계층적"으로 구성되어 있음 다음 그림처럼, 엄청 많은 시스템이 계층으로 구성되는데, 상위 계층이 바껴도 하위는 안바뀜 지금부터 각 계층들에 대해 하나씩 알아볼 것임. (하위계층부터~!) ▶ Hardware Layer타겟 하드웨어(게임이 실행될 하드웨어) 게임이 어떤 하드웨어에서 실행될 것인지 결정.pc, 태블릿, 스마트폰 ... ▶ Device Drivers LayerHW를 다루기 위한 SW 드라이버란, 하드웨어를 다루기 위해..
◆ Internetworking 어떻게해서 Internetworking(네트워크-네트워크 간 연결)이 되냐? 2계층에서 링크를 통해서 LAN -> Router 까지 전달. 3계층에서 Router -> Router 전달. ◆ Internetworking 과정 A 주소에서 D 주소로 패킷을 보낸다고 하자. (A와 D는 논리 주소) LAN 안에서는 MAC 주소를 공유하기 때문에, 우선 2계층에서 D의 MAC 주소를 찾아봄. (브릿지가 learn 했으니까, 학습이 되어 있으면 아마 바로 찾아갈 것임.) 근데 (같은 LAN 아니니까 당연하게도) LAN 안에서 D의 MAC주소 못 찾음! 그러면 바로 default gateway의 MAC주소를 찾아, 포트에 있는 MAC 주소로 보냄. 그러면 라우터(R1)가 받음. W..
◆ IPv4 Addreses IPv4는 현재도 사용중인 32비트 주소. 모든 네트워크가 연결돼있다고 가정했을 때 그 모든사람들이 통신하기 위해선 고유의 IP가필요함. 2^32 까지 표현 가능하므로, 이론적으로 총 42억개 까지 가능함. ■ IPv4의 구성 32비트를 8비트씩 쪼개서 읽기 쉽게 10진수로 표현. ◆ IPv4 - Classful Addressing : 클래스형 주소지정 IPv4는 주소를 할당할 때 클래스가 나눠져 있음. A, B, C는 서울시, 강남구, 역삼동 과 같이 네트워크의 규모를 나타냄 D는 멀티 캐스팅을 위한 주소이고, E는 reserve 되어있음. 즉 기관의 규모에 따라 A, B, C를 받아서 사용함! 무슨 클래스인지 어떻게 아냐? 첫 바이트 내에서 3비트까지만 보면 무슨 클래스인..