목록분류 전체보기 (104)
눈팅하는 게임개발자 블로그
원본 사이트 learnopengl.com/Translations LearnOpenGL - Translations learnopengl.com 번역 사이트 heinleinsgame.tistory.com/10?category=757483 [Learn OpenGL 번역] 2-7. 시작하기 - 변환(Transformations) 변환(Transformations) 시작하기/변환(Transformations) 우리는 이제 오브젝트를 생성하고 컬러를 입히고 텍스처를 이용하여 세밀하게 표현하는 방법을 알고 있지만 정적인 오브젝트이기 때문에 여전히 � heinleinsgame.tistory.com Transformations 오브젝트를 생성, 색과 텍스처를 입힌 후에는 이제 오브젝트를 움직여야 할 차례다. 하지만 tr..
Socket TCP/UDP IP 환경에서 통신을 위한 통로. send / recv 함수를 통해 Data 송/수신 IP + Port 번호로 구성 예 ) 220.66.10.11(해당 컴퓨터의 IP 주소) + 80(해당 프로세스가 사용하는 Port No.) ==> 220.66.102.11:80 Client / Server 통신 절차 TCP 통신의 경우 연결 설정을 한 후 연결이 해제될 때까지 지속적으로 send, recv함수를 통해 통신이 가능하고 (전화 연결과 같다.) UDP 통신의 경우 연결 설정 과정 없이 한 쪽에서 한 쪽으로 메시지를 보내는 것 처럼 통신이 가능하다. (문자 메시지 전송과 같다.) Socket API 소켓 함수들 TCP API socket() - 소켓을 생성하는 함수, 생성된 소켓의 디..
TCP/IP 환경 -공인 IP / 사설 IP 공인 IP (Public IP) 전세계 유일한 고유 IP 주소, 외부 망에서 직접 연결 가능한 주소. IPv4(4bytes)를 사용했으나 IPv4의 주소가 부족하게 되어 IPv6(16bytes)를 사용한다. 사설 IP/비공인 IP(private IP) - 공유기를 사용하여 IP를 공유함 공인 IP 부족을 해결하는 방법. 하나의 공인 IP를 다수의 비공인(사설) IP들이 공유. 공유기 원리 NAT(Network Address Translation) 개인 PC에서 목적지로 패킷 전송 -> 공유기에서 중계, 전송 -> 목적지는 공유기에서 해당 패킷이 온 것으로 생각한다.(Remote IP가 공유기의 IP임) TCP/IP 환경에서 라우팅 원리 송신 측에서 수신 측으로..
OSI 7계층 모델 기본적으로 상위 계층은 하위 계층에 서비스를 요청하고. 하위 계층은 상위 계층에 서비스를 제공한다. 같은 계층 사이에는 프로토콜(동일한 계층 간 통신을 위한 미리 정의된 규정, 규약)이 존재하고 상, 하위 계층 사이에는 인터페이스가 존재한다. 1. 물리 계층(Physical Layer) 통신 케이블을 통해 물리적인 전기 신호를 사용하여 전송 단위는 비트이다. 2. 데이터 링크 계층(Data Link Layer) 물리적인 네트워크 사이의 Data 전송을 담당한다. 오류 감지와 오류 감지 시 이를 재전송하는 기능이 있다. 데이터 링크 계층에서는 MAC Address를 사용하며 전송 단위는 프레임이다. 3. 네트워크 계층(Network Layer) 전송 데이터를 목적지까지 전달하기 위해 경..
원본 사이트 learnopengl.com/Getting-started/Shaders LearnOpenGL - Shaders Shaders Getting-started/Shaders As mentioned in the Hello Triangle chapter, shaders are little programs that rest on the GPU. These programs are run for each specific section of the graphics pipeline. In a basic sense, shaders are nothing more than program learnopengl.com 번역 사이트 heinleinsgame.tistory.com/9?category=757483 [Lear..
원본 사이트 learnopengl.com/Getting-started/Shaders LearnOpenGL - Shaders Shaders Getting-started/Shaders As mentioned in the Hello Triangle chapter, shaders are little programs that rest on the GPU. These programs are run for each specific section of the graphics pipeline. In a basic sense, shaders are nothing more than program learnopengl.com 번역 사이트 heinleinsgame.tistory.com/8?category=757483 [Lear..
원문 사이트 learnopengl.com/Getting-started/OpenGL LearnOpenGL - OpenGL OpenGL Getting-started/OpenGL Before starting our journey we should first define what OpenGL actually is. OpenGL is mainly considered an API (an Application Programming Interface) that provides us with a large set of functions that we can use to manipulate learnopengl.com 번역 사이트 heinleinsgame.tistory.com/category/OpenGL 'OpenGL' ..
가상 메모리 전략 메모리의 범위를 보조기억장치까지 확대하여. 대부분의 메모리들(사용되지 않고 있는)이 보조기억장치에 존재하는 것처럼 운영하는 전략. 이 전략으로 응용 프로그램의 크기가 주 기억장치의 크기보다 크더라도 실행할 수 있다. Demand Paging 프로세스의 모든 페이지를 메모리에 올려 놓지 않고, 페이지가 필요할 경우 물리 메모리로 로딩한다. 해당 기법을 위해 페이지 테이블에 추가되는 정보 Valid/Invalid bit : 해당 페이지가 물리 메모리에 존재하는지에 대한 Flag bit. 물리 메모리에 존재하면 1이고 보조기억장치(스왑 영역)에 존재하면 0이다. Modified bit : 해당 페이지가 물리 메모리에 적재된 이후 수정되었는가에 대한 Flag bit. 수정 되었다면 1이고 수정..
페이징 기법 프로세스의 주소 공간과 물리 메모리를 페이지 단위로 분할하고 프로세스의 각 페이지를 물리 메모리의 프레임에 분산 할당하고 관리하는 기법. 논리 주소의 물리 주소로의 변환은 CPU에 내장되어 있는 MMU(memory management unit)에 의해 이루어진다. 페이지와 프레임 프로세스의 주소 공간을 동일한 크기의 페이지(page)로 나눈다. 물리 메모리 역시 동일한 크기로 나누고, 이를 프레임(frame)이라고 부른다. 코드, 데이터, 스택, 힙 등의 메모리 구성요소에 관계없이 고정 크기로 분할한 물리적 단위. 페이지와 프레임에 번호를 붙이며 페이지의 크기는 보통 4KB, 운영체제마다 다르게 설정 가능. 페이지 테이블 : 각 페이지에 대해 페이지 번호와 프레임 번호를 1:1로 저장하는 테..
멀티스레딩 환경에서 여러 스레드가 동시에 공용 데이터에 접근하는 경우 공용 데이터가 훼손되는 문제가 발생한다. 이를 해결하기 위해 스레드들을 동기화할 필요가 있다. 스레드 동기화 공용 데이터에 접근하고자 하는 다수의 스레드가 충돌 없이 데이터에 접근하기 위해 상호 협력하는 상황을 만드는 것. 한 스레드가 공용 데이터에 배타적 독점적으로 접근한다. 임계 구역과 상호 배제 개념 - 경쟁 여러 스레드가 공유 데이터 혹은 공유 데이터를 액세스하는 임계 구역에 동시에 접근하는 상황 - 임계 구역(critical section) 공유 데이터에 접근하는 프로그램 코드들(공유 데이터, 테이블 갱신, 파일 쓰기 등) - 상호 배제(mutual exclusion) 임계 구역에 대한 경쟁 상황의 해결책. 임계 구역에 오직 ..