목록분류 전체보기 (156)
승쨩개발공부
Call by ? Call by Value -> 값에 의한 호출 Call by Adress -> 주소값에 의한 호출 Call by Reference -> 직접 참조의 의한 호출, 메모리 할당이 전혀 없다 Call by Value 값을 전달하는 형태의 함수 호출 함수 호출을 할떄 단순히 값을 전달하는 형태의 함수호출을 가리켜 Call by Value 라고 한다. -> 위 소스와 출력을 보면 Swap이 되지 않았다는것을 알 수 있다. -> 그 이유는, Callby_ValueSwap 함수의 매개변수 값인 _iNum1과 _iNum2의 값이 바뀌었지 정작 -> 메인함수의 변수인 iNum1과 iNum2의 저장된 값이 스왑으로까지 이어지지 않았다는 것을 알 수 있다. -> (그니깐 , 메인함수에는 값의 영향이 없다)..
랜더링 파이프라인이란? DirectX9을 이용한 3D Game 프로그램 입문에서는 "3D 세계에 대한 기하학적 표현과 이 세계를 바라보는 관점을 정의하는 가상 카메라를 이용해 2D 이미지를 만들어내는 역활을 담당한다." 라고 설명한다. 간단히 설명하자면, 추상적인 공간에 정의된 오브젝트들을 가상의 카메라에 담아 모니터에 출력하는 과정이다. 1. 로컬 스페이스 -> 오브젝트 하나의 좌표계, 기본적으로 물체의 중심을 말함. -> 외부영향이 없는 상태로 상대적 크기 등이 없다. 2. 월드 스페이스 -> 로컬스페이스에 있는 모델들을 크기, 회전, 이동 행렬을 곱해주어 월드스페이스로 옮겨진다. 3. 뷰 스페이스 -> 카메라를 기준으로 하는 좌표계 설정 -> 월드스페이스에 있는 모든 오브젝트들을 카메라 기준으로 변..
Graphic_Device 선언부 -> Sprtie_Begin, Sprite_End 더 이상 필요없다 -> 직접 사각형을 만들것이다 정의부 -> 백버퍼 사이즈는 윈도우에서 지원하는 해상도로만 설정한다 -> 백버퍼 = 렌더타겟(텍스쳐) -> 깊이버퍼 = 깊이값을 보관하는 메모리공간 -> 깊이버퍼를 킨다 = 화면에 픽셀을 그릴떄 반드시 깊이 테스트를 수행한다. -> 테스트를 수행한다 = 조건문을 생성 -> 어떤 픽셀들을 그릴떄 그 픽셀의 깊이를가지고 비교/테스트를하고 진짜 그릴것인지 안 그릴것인지 정함 -> 3D에선 카메라 기준에서 객체를 배치한다 -> 카메라에서 시야범위를 항상 정의한다 너무 멀리있는건 안보이도록 -> near = 가까운범위 0 -> far = 먼 범위 1 -> near 와 far 사이에 ..
Engine_Defines Engine_Macro -> unsinged long Destory_Instance로 만든이유 -> RefCnt를 관리하기 위해 Engine_Function Timer Timer클래스는 Engine솔루션에 추가해준다 왜? 다른 Client에서도 Timer을 써야하기 떄문 선언부 -> Base 자식클래스이니 무조건 Free함수가 따라 붙는다. -> 생성자 private이니 외부호출불가 -> static으로 맴버변수 하나 만든다 -> 싱글턴 으로 안만드는이유? -> 타이머 클래스가 상황에따라 여러개가 만들어질수가 있다. -> 타이머를 보관할수있는 매니저 클래스를 따로 만들것이다. 정의부 밀리세컨드? -> 밀리세컨드 = 1000/1초 -> 밀리세컨드는 1초당 1000프레임이다 FPS..
난수 (randon) -> 순서나 규칙이 없는 무작위 수 -> 아이템 강화, 랜덤 박스, 크리티컬 확률 등 -> 확률이 적용되는 모든 것에 난수가 사용된다. 난수 추출 함수 -> rand() -> rand함수를 사용하면 난수가 추출된다, -> 단, 실핼 할 떄마다 같은 결과가 도출된다. -> 위험한 상황이 발생할 수 있다. 난수 추출 시 같은 결과가 나오는 이유 -> 난수 추출 시 컴퓨터는 seed 값을 확인하여 -> 해당 seed 값에 있는 난수를 순차적으로 추출해준다. -> 사용자가 seed 값을 변경하지 않을 경우 기본적으로 1의 값을 가진다. -> 이로 인해 프로그램을 다시 실행할 경우에는 중복된 숫자가 보인다. 중복되지 않는 seed값 -> 시간 -> 하루단위, 한달 단위, 일년 단위 등 기간이..
지역 변수와 전역 변수 -> 함수를 구현할 떄 사용한 {} 괄호를 기준으로 -> 내부에 선언되어 있으면 지역 변수 -> 외부에 선언되어 있으면 전역 변수 지역 변수와 전역 변수의 차이점 -> 메모리에 상주하는 기간의 차이 -> 변수에 접근할 수 있는 범위 지역변수 -> 메모리에 상주하는 기간 -> 함수가 시작되고, 종료될 떄까지만 메모리에 상주한다. -> 변수에 접근할 수 있는 범위 -> 해당 stack에 선언된 변수만 접근할 수 있다 -> 지역 변수와 매개 변수는 함수가 시작 되었을 떄 할당 시점에 들어가고, -> 종료 되었을 떄 소멸 시점에 들어가게 되며 -> 후입 선출형 구조 LIFO(Last-in, First-Out)로 되어있다. 여기서 a와 b는 main함수의 stack 영역에 할당이 된다. -..