목록기타 (7)
멈추지 않고 끈질기게
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. 1. 오버플로우 - 숫자 변수들끼리 사칙연산 시, 결과물이 해당 자료형의 최대값을 넘길 수 있으므로 주의 #include using namespace std;int main(){ int a = 2000000000; // 20억 int b = 2000000000; // 20억 int c = a + b; cout 2. 계산하기 전에 캐스팅 - 어떤 변수를 다른 변수들의 계산 결과로 초기화하는 경우, 우변의 피연산자들의 자료형에 영향을 받음 - ex) long long c = a * b의 경우, a와 b가 int라면 우변의 계산결과 또한 int 타입이므로 int의 최대값을 넘지 못함#inc..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - 프랭크 D.루나, DirectX 12를 이용한 3D 게임 프로그래밍 입문(류광 옮김), 한빛미디어, 2021 1. 선형 변환, 행렬의 표현 - 3차원 벡터를 입력받아 3차원 벡터를 출력하는 함수가 다음 조건을 만족할 경우, 3차원 벡터에 대한 선형 변환(linear transformation)이라고 함 - u와 v는 임의의 3차원 벡터, k는 스칼라 값 - 함수가 상기 두 조건을 모두 만족한다면(선형 변환이라면), 다음 성질이 성립함 - 모든 3차원 벡터는 단위 벡터 i(1, 0, 0), j(0, 1, 0), k(0, 0, 1)로 다음과 같이 표현할 수 있음 ..
현재 바라보는 방향에 따른 움직임 제어 // 시계 방향으로 선언 enum Direction { Up, Right, Down, Left } int curDir = (int)Direction.Up; // Direction 순서대로 해당 방향으로 움직일 시 변화값 정의 int[] frontX = { 0, 1, 0, -1 }; int[] frontY = { -1, 0, 1, 0}; int[] leftX = { -1, 0, 1, 0 }; int[] leftY = { 0, -1, 0, 1 }; int[] rightX = { 1, 0, -1, 0 }; int[] rightY = { 0, 1, 0, -1 }; int[] backX = { 0, -1, 0, 1 }; int[] backY = { 1, 0, -1, 0 };..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Pun 2.41 / Photon lib 4.1.6.17 버전을 기준으로 작성되었습니다. 1. 유니티 내 포톤 서버 세팅 수정 Assets/Photon/PHotonUnityNetworking/Resources 폴더 -> PhotonServerSettings 파일 선택 -> 인스펙터 창에서 Server 값 수정 2. XML 파일 수정 (포톤 파일 경로)\deploy\LoadBalancing\Master\bin -> Master.xml.config 파일 열기(메모장 or VS Code 등) -> 기존 IP 기입한 부분 바뀐 IP로 수정 (Ctrl + F로 55557 검색하면 용이) (포톤 파일 경로..
대입 mov - ex) mov al, 1 (al = 1) / mov al, bl (al = bl) - 값을 대입하는 명령어 사칙연산 add - ex) add al, 1 (al = al + 1) / add al, bl (al = al + bl) - 덧셈 연산 - 피연산자 두개가 모두 메모리값이면 안됨 sub - ex) sub al, 1 (al = al - 1) / sub al, bl (al = al - bl) - 뺄셈 연산 mul - ex) mul bl (bl * al) / mul bx (bx * ax) - 곱셈 연산 - 피연산자와 사이즈에 맞는 a레지스터를 곱함(bl * al, bx * ax) - 1바이트 곱셈의 경우 결과값을 al에 저장 - 2바이트 곱셈의 경우 상위 16비트는 dx에, 하위 16비트는..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. 이번 포스팅에서는 모바일 디바이스의 특징에 대해 알아보겠습니다. 1. UMA(Unified Memory Architecture) PC에서 메모리라 함은 보통 CPU에서 사용하는 RAM을 말하며, 그래픽카드에는 GPU가 사용하는 메모리가 별도로 존재합니다. 전에 다룬 가상 메모리에 관한 포스팅에서도 소개했듯이, PC에서는 가상 메모리 시스템을 통해 실제 물리 메모리보다 더 큰 사이즈의 프로세스도 실행할 수 있습니다. 다만 모바일에서는 얘기가 다릅니다. 모바일 디바이스에는 물리 메모리가 1개 존재하며, CPU와 GPU가 하나의 메모리를 공유하는 구조이며, 이를 UMA(Unified Memory Architectur..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. 프로그래밍에서 객체를 복사할 때는 얕은 복사와 깊은 복사의 두가지 방식이 있습니다. 이번 포스팅에서는 해당 내용에 관하여 알아보겠습니다. 1. 얕은 복사(Shallow Copy) 얕은 복사는 해당 객체의 주소 값만을 복사하고, 새로운 인스턴스를 생성하지는 않습니다. 복사 후 대상 객체와 복사한 객체가 동일한 인스턴스를 가리키기 때문에, 서로 종속적인 관계가 됩니다. class Item { public int id; public string name; public float value; public int price; public Item(int id, string name, float value, int pri..