프로세스와 스레드의 차이
2021. 2. 1. 16:19
DevLog/Etc...
프로그램(Program) 이란 사전적 의미 : "어떤 작업을 위해 실행할 수 있는 파일" 프로세스(Process) 란 사전적 의미 "컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램" 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 즉, 동적인 개념으로는 실행된 프로그램을 의미한다. 할당받는 시스템 자원의 예 CPU 시간 운영되기 위해 필요한 주소 공간 Code, Data, Stack Heap의 구조로 되어 있는 독립된 메모리 영역 특징 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 ..
[UE4 게임플레이 프레임 워크] 게임 모드와 게임 스테이트
2021. 2. 1. 15:40
DevLog/Unreal Engine
게임 모드(Game Mode) 존재하는 플레이어, 허용된 플레이어, 관람자의 수, 최대 관람자 수 플레이어가 게임에 들어오는 방식, 스폰위치, 선택 규칙과 기타 스폰/리스폰 동작 게임 일시정지 가능 여부, 게임 일시정지 처리 방식 레벨간의 전환, 게임의 시네마틱 모드 시작 여부 포함 게임 스테이트(Game State) 게임 실행 기간(로컬 플레이어 참가 전 실행 시간 포함) 각 플레이어의 게임 참가 기간, 그 플레이어의 현재 상태 현재 게임 모드의 베이스 클래스 게임 시작 여부 게임 모드 베이스(Game Mode Base) * 간략한 정의 : 고전 AGameMode를 단순화 시키고, 효율화 시킨 클래스 함수 / 이벤트 용도 InitGame InitGame 이벤트는 (PreInitializeComponen..
UE4 Pawn과 Character의 차이점
2021. 2. 1. 15:05
DevLog/Unreal Engine
유니티 vs 언리얼 언리얼 공식문서에서 "유니티 개발자를 위한 언리얼 엔진4"라는 탭을 만들어 유니티 개발자들이 유니티에서 사용하던 개념들을 언리얼에 있는 개념과 매핑할 수 있도록 친절하게 만든 문서가 있습니다. 일단 여기에서 설명된 표를 따르면 다음과 같습니다. 카테고리 유니티 언리얼 엔진4 비고 게임 플레이 유형 Component Component Game Object Actor / Pawn 1 : 2 Prefab Blueprint Class 메시 Mesh Static Mesh Skinned Mesh Skeletal Mesh 머티리얼 Shader Material / Material Editor 1 : 2 Material Material Instance 이펙트 Particle Effect Effect ..
TCP와 UDP의 개념과 차이점 & 특징
2021. 2. 1. 14:30
DevLog/Etc...
TCP / UDP란? 전송계층에서 사용하는 프로토콜로써, 목적지 장비까지 전송한 패킷을 상위 특정 응용 프로토콜에게 전달하는 것에 목적이 있습니다. 전송방식으로는 TCP와 UDP가 있습니다. * 전송계층이란? 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층으로, 쉽게 말해 데이터의 전달을 담당합니다. TCP(Transmission Control Protocol)란? 연결형 서비스를 지원하는 전송 계층 프로토콜로써, 인터넷 환경에서 기본으로 사용합니다. 호스트간 신뢰성 있는 데이터 전달과 흐름제어를 합니다. 즉, 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜입니다. 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 ..
C++ 구조체(Struct)
2021. 1. 25. 12:32
DevLog/C & C++
구조체(Struct) 객체를 표현하기 위해 하나 이상의 변수가 필요한 프로그래밍 사례가 많이 있다. 예를 들어, 자신의 표현하기 위해 이름, 생일, 키 , 몸무게 또는 자신에 대한 기타 특성을 저장할 수 있다. std::string myName; int myBirthYear; int myBirthMonth; int myBirthDay; int myHeightInches; int myWeightPounds; 위에는 어떻게든 그룹화하지 않은 6개의 독립 변수가 있다. 자신에 대한 정보를 함수에 전달하려면 각 변수를 개별적으로 전달해야 합니다. 또한, 다른 사람에 대한 정보를 저장하려면 추가된 사람마다 6개의 변수를 추가로 선언해야 합니다. 다행히도 C++에서는 고유한 사용자 정의 집계 데이터 유형(user-..
포워드 랜더링과 디퍼드 랜더링
2021. 1. 25. 11:57
DevLog/Etc...
포워드 랜더링 전통적인 랜더링 방식인 포워드 랜더링 방식은 3D 역사의 산증인이다. 많은 수 많은 명작들이 포워드 랜더링 방식으로 만들어졌는데, 콘솔을 기준으로 PS2이전의 게임은 모두 포워드 랜더링 방식이라고 생각하면 된다. 구현방식은 3D공간에 존재하는 폴리곤을 픽셀화하여, 그 픽셀마다 쉐이딩과 라이팅 연산을 더하는 방식으로 묘사된다. 포워드 랜더링 : 장점 비교적 저사양에서도 잘 작동하며 PC의 경우 안티앨리어스 처리를 하드웨어에서 지원받기 때문에 거의 완벽한 처리를 할 수 있고, 반투명처리도 문제 없다. 오랫동안 애용되어온 랜더링 방식이기 때문에 문제가 생겨도, 회피하거나 해결책이 만들어져있는 경우가 많다. 해상도가 올라가도 요구하는 메모리가 디퍼드 랜더링에 비해 적다. 포워드 랜더링 : 단점 라..