Cpp module00 - 클래스(class)

C++의 구조체는 멤버 함수를 포함할 수 있다는 면에서 C의 구조체보다 의미가 확장되었다. 이형 타입 변수의 집합인 구조체가 스스로의 동작을 정의할 수 있다는 것은 객체 지향 구현 측면에서 매우 중요한 의미가 있다.클래스는 확장된 의미의 구조체에 새롭게 붙혀진 이름이다

2021년 9월 7일
·
0개의 댓글

Cpp module00 - 네임스페이스(namespace)

식별자 (identifier)는 변수명, 클래스, 구조체, 열거형, 함수, 클래스 맴버 함수, typedef명 등을 정의의 할때 사용된다.식별자 작성 규칙 상 같은 범위에서 식별자가 중복되면 안된다.some이라는 이름으로 변수를 선언했다면 같은 이름으로 다른 변수뿐만

2021년 9월 4일
·
0개의 댓글
post-thumbnail

스레드의 개념

하나의 프로세스의 환경 안에서 여러 개의 제어 가닥(thread of control)들이 존재할 수 있다.이러한 제어 가닥 또는 한 줄기의 실행 흐름을 스레드(thread)라고 부른다.한 프로세스 안의 모든 스레드는 동일한 프로세스 구성요소(파일 서술자, 메모리 등)들

2021년 8월 2일
·
0개의 댓글
post-thumbnail

메모리 할당

malloc메모리에서 지정된 개수의 바이트들을 할당하는 함수.할당된 메모리의 초기값은 불확정.calloc지정된 개수의 바이트들을 할당하되 그 바이트들을 모두 0으로 초기화하는 함수.realloc이미 할당된 영역의 크기를 늘리거나 줄이는 함수.크기를 늘리는 경우 기존의

2021년 8월 2일
·
0개의 댓글
post-thumbnail

C 프로그램의 메모리 배치

앞에서 C 프로그램의 main 함수를 호출하기 전에 C 시동 루틴(start-up routine) 수행한다고 했다. 이 시동 루틴에서 C 프로그램의 메모리 배치 또한 수행한다.CPU가 실행하는 기계어 명령들로 이루어진 텍스트 구역(text segment)초기화되는 변수

2021년 7월 13일
·
0개의 댓글
post-thumbnail

환경 목록(Environment list)

각 프로그램에는 환경목록이 전달된다. 명령행 인수 목록처럼 환경 목록은 문자열 포인터들의 배열이며, 각 포인터는 널문자로 끝나는 하나의 문자열을 가리킨다.이러한 포인터들의 배열의 주소가 전역 변수 environ에 들어 있다.역사적으로, 대부분의 유닉스 시스템들은 환경

2021년 7월 12일
·
0개의 댓글
post-thumbnail

명령행 인수(Command-line argument)

어떤 프로그램이 실행될 때, 실행을 위해 exec를 호출한 프로세스가 명령행 인수들을 그 프로그램에 전달한다.유닉스 시스템의 셸에서 프로그램을 실행할 때 이런 일이 일어난다.다음은 위 코드를 컴파일해서 실행한 결과이다.argvargc가 널 포인터임은 ISO C와 POS

2021년 7월 12일
·
0개의 댓글
post-thumbnail

프로그램이 실행될 때, main함수가 호출되는 방식

C 프로그램을 실행하면 가장 먼저 main 함수가 호출된다.main 함수의 원형은 다음과 같다.첫 번째 매개변수 argc는 명령행 인수(command-line argument)의 개수이고 argv는 그 인수들을 가리키는 포인터의 배열이다.main 함수가 호출되기 전에

2021년 7월 12일
·
0개의 댓글
post-thumbnail

[게임수학의 이해 이득우 교수님 강의 정리] 5. 회전의 수학Ⅰ : 삼각함수

앞에서 다룬 트랜스폼은 크기, 회전, 이동을 순서대로 진행하는 합성 변환임.이 중에서 회전은 별도의 주제로 분리하여 설명해야할 정도로 독특한 변환.image현실 세계에서 회전을 할 경우, 중심축을 설정하고 물체를 돌리면 됨.하지만 가상 세계에서는 물체가 움직이는 것이

2021년 6월 5일
·
0개의 댓글
post-thumbnail

[게임수학의 이해 이득우 교수님 강의 정리] 4. 물체의 수학 Ⅲ : 내적과 외적

게임에서 사용하는 각 물체를 기획로컬 공간 : 개별 물체의 공간2-1. 그 개별 물체를 표현하기 위해서 로컬 공간을 설정2-2. 그 로컬 공간 안에서 물체의 모델링을 진행(맥스, 마야, 블렌더와 같은 소프트웨어를 사용)2-3. 로컬 공간에서 모델링한 결과물을 메시(Me

2021년 6월 3일
·
0개의 댓글
post-thumbnail

[게임수학의 이해 이득우 교수님 강의 정리] 3. 물체의 수학 Ⅱ : 정점과 삼각형

3차원 공간의 이동 구현을 위해서는 물체를 표현하는 3차원 + 이동을 표현하는 1차원총 4차원의 공간이 필요함4차원 공간을 그림으로 표현할 수가 없음.그래서 2차원 공간의 이동 구현으로 대신 설명2차원 물체의 2차원 이동을 3차원 공간에서 가능2차원 물체를 표현하기 위

2021년 5월 25일
·
0개의 댓글
post-thumbnail

[게임수학의 이해 이득우 교수님 강의 정리] 2. 물체의 수학 Ⅰ : 이동의 구현 원리

게임에서 사용하는 가상 공간의 체계와 물체를 구성하는데 사용하는 수학3차원 공간을 만들고 2차원으로 물체를 표현하고 나머지 1차원으로 이동을 구현4차원의 공간을 만들고 3차원의 공간에서 물체를 표현하고 나머지 1차원으로 이동을 구현물체를 구성하는 부분 공간 = 아핀공간

2021년 5월 24일
·
0개의 댓글
post-thumbnail

[게임수학의 이해 이득우 교수님 강의 정리] 1. 공간의 수학: 게임 수학의 개요

그래픽 라이브러리를 사용하면 렌더링 파이프라인에 사용되는 핵심 수학을 알 수가 없다.렌더링 파이프 라인을 흉내내서 만들어보고 사용되는 수학을 직접 구축밑바닥부터 하나씩 만들어가는 것이 유익공간에 대한 수학물체에 대한 수학회전에 대한 수학컴퓨터로 만든 가상 세계는 수로부

2021년 5월 24일
·
0개의 댓글
post-thumbnail

[miniRT] 렌더링 이미지

https://github.com/psj3205/miniRT

2021년 5월 12일
·
0개의 댓글
post-thumbnail

[libasm] Assembly - 프로시저

어셈블리어 프로그램은 크기가 큰 경향이 있으므로 프로시저 또는 서브루틴은 어셈블리어에서 매우 중요하다. 프로시저는 이름으로 구분된다. 가장 먼저 프로시저 이름을 쓰고, 다음에 프로시저가 수행할 작업이 기술된 프로시저 바디를 작성한다. 마지막으로 return문으로 프로시

2021년 4월 14일
·
0개의 댓글
post-thumbnail

[libasm] Assembly - 반복문

JMP 명령어를 반복문 구현에 사용할 수 있다. 예를 들어, 다음 코드는 loop-body를 10번 실행할 수 있다.하지만, 프로세서 명령어 세트에 반복을 구현하는 loop 명령어가 포함되어 있다. 기본 loop 명령어의 구문은 다음과 같다.여기서, label은 JMP

2021년 4월 13일
·
0개의 댓글
post-thumbnail

[libasm] Assembly - 조건문

어셈블리어에서 조건부 실행은 여러개의 반복문과 분기 명령으로 구현한다. 이 명령어는 프로그램의 조작 흐름을 변경할 수 있다. 조건부 실행은 두 가지의 시나리오가 있다.조건 명령어에 대해 이야기하기 전에 CMP 명령어에 대해 먼저 이야기하자.CMP 명령어는 두 개의 피연

2021년 4월 10일
·
0개의 댓글
post-thumbnail

[libasm] Assembly - 논리 연산

프로세서 명령어 세트는 AND, OR, XOR, TEST, NOT 명령어를 제공한다. 이 명령어들은 프로그램의 필요에 따라 비트를 test, set, clear한다.명령어들은 다음과 같다.모든 경우의 첫 번째 피연산자는 레지스터나 메모리에 위치한다. 두 번째 피연산자는

2021년 4월 7일
·
0개의 댓글
post-thumbnail

[libasm] Assembly - 산술 연산

INC 명령어는 피연산자를 1만큼 증가시키는데 사용한다. 레지스터나 메모리에 위치한 단일 피연산자를 처리한다.구문INC 명령어의 구문은 다음과 같다.destination 피연산자는 8비트, 16비트, 32비트가 될 수 있다.예제DEC 명령어는 피연산자를 1만큼 감소시키

2021년 4월 3일
·
0개의 댓글
post-thumbnail

[libasm] Assembly - 상수

NASM에서 상수를 정의하는 몇가지의 지시어가 있다. 이미 EQU 지시어를 이전 장에서 사용했다. 다음 세 가지 지시어에 대해 다루어 볼 것이다.EQU%assign%defineEQU 지시어는 상수를 정의하는데 사용된다. EQU 지시어 구문은 다음과 같다.예를 들어,어셈

2021년 4월 1일
·
0개의 댓글