목록기본개념 (29)
VioletaBabel
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816..
[강연] 혼자서 성장하기 - 업계 동향 파악 : 개발자 커뮤니티 눈팅게임코디 (현업자만 가입 가능)스마트폰게임개발자그룹 (페이스북 그룹, 홍보가 많다)안드로이드펍유니티허브 카페인디개발자쉼터(인디터)인디라 페이스북 그룹생활코딩유니티 코리아 페이스북okky - 개발자모임다른 개발사에 근무하고 있는 지인들과의 만남인디라등 오프라인 만남 - 유튜브 등 동영상유튜브에 키워드를 치면 요즘은 많이들 나옴. - 코드 리뷰git 사용 현황 확인(commit, merge 현황)현재 작업중인 사항에 대해 논의
DirectX GDI를 통하지 않고 그래픽카드로 바로 메세지를 꽂아주기 위해 만들어진 것이 DirectX. Window 운영체제에서 Window Handle[HWND]이라는 창을 만든다.HINSTANCE도 들어가 있다. 제일 처음엔 WinMain이란 함수가 불리고, 안에는 메세지 프로시저가 들어가있고, 무한 루프가 돌면서 기존은 Idle로 있다가 메세지가 오면 처리하는 방식으로 한다. DirectXTest라는 프로젝트를 만들고, 윈도우 데스크탑 응용 프로그램으로 만든다.그리고 해당 프로젝트의 리소스 폴더의 DirectXTest.rc 파일을 연다.Accelerator 폴더 : 단축키String Table 폴더 : 문자열 (타이틀 등) 1234567891011121314151617181920212223242..
기초 필수 수학 1. 벡터 대수 [DirectX 12를 이용한 3D 게임 프로그래밍 입문] 1.1 벡터 벡터(Vector) : 크기(Magnitude)와 방향(Direction)을 모두 가진 수량(Quantity)3차원 벡터의 경우 v = (x, y, z)로 표기할 수 있다. (여기서 x, y, z는 float 또는 double) 1.1.1 벡터와 좌표계꼬리를 좌표계 원점에 일치시킨 벡터를 '표준 위치에 있는 벡터'라고 한다. 같은 벡터 v라도 기준계(공간, 좌표계라고도 할 수 있다)에 따라 좌표가 다르다. (섭씨에서는 100도, 화씨에서는 212도라 표현하듯 같은 벡터이나 표현 방식이 다른 것)3차원 컴퓨터 그래픽에서는 여러 기준계를 사용하는 경우가 많으므로 현재 벡터의 좌표가 어떤 기준계에 상대적인지..
---코드 리뷰 입문--- 1. 코드 리뷰 - 개발자가 작성한 코드를 다른 개발자가 검토하는 것 장점 : 잠재된 버그 조기 발견, 코드 품질 개선, 문제가 터졌을 때 작성자가 부재해도 리뷰한 개발자가 있으면 빠른 대처 가능. 개발자가 의견을 교류하며 학습할 수 있는 기회. 단점 : 감정 소모. 한 가지 작업(버그 잡기, 기능 추가 등)이 끝나면 해당 부분에 대해 코드 리뷰. 도구는 버전 관리 시스템(git, svn 등)을 이용해 작업단위를 구분하고 코드 리뷰를 도와주는 도구들을 이용. 2. 좋은 코드란? 사람마다 기준이 다르다. 하지만 강연자 분의 기준은 이해하기 좋은 코드. - 내가 작업한 코드도 몇 주 지나고 보면 뭘 작업한건지 몰라 다시 해독하는 시간이 필요하다. - 남이 작업한 코드는 해독하는 시..
6. 컴파일러가 만든 함수가 필요 없을 시, 사용을 금지하라. 단 하나만 만들고 복사해선 안 될 클래스가 있는 경우엔 어떻게 하여야 하는가. 5번에서 봤듯이 복사 생성자와 복사 대입 연산자는 저절로 만들어지는데, 이를 private 멤버로 선언 후 정의를 하지 않는 방식(그냥 private 멤버로만 선언하면 friend로 접근이 가능하다.)을 이용한다. [이는 실제 iostream 헤더에서도 사용하는 하나의 기법이라고 한다.]123456class A {private: A(const A &a);// 어차피 쓸 일이 없으니 인수 이름도 빼기도 한다. A &operator=(const A &a); };Colored by Color Scriptercs그런데 이건 복사를 하려고 할 경우 링크 시점에 문제를 발생시..
2. #define을 쓰려거든 const, enum, inline을 떠올리자 - const1#define A_RATIO 1.653cs을 썼는데 에러가 난다면 에러메시지에는 A_RATIO가 아닌 1.653으로 나온다.매크로를 쓸 일이 생긴다면 매크로 대신 상수를 이용해1const double Aratio = 1.653;cs같은 식으로 쓰는게 좋다.매크로를 쓰면 A_RATIO가 등장할 때마다 1.653의 사본이 생겨 들어가지만, const로 선언 시에는 사본은 딱 하나만 생기기에 컴파일 후 최종 코드의 크기가 줄어든다. 상수 포인터를 정의하는 경우에는 1const char* const Name = "Yuna Kim";cs처럼 포인터와 포인터가 가리키는 대상까지 const로 선언해줘야 한다. 문자열 상수를 쓸..
- 선형결합(linear combination) 벡터들의 선형결합이라는 것은 단순히 다 더하라는 것이다. 정해진 차원의 실수공간에서 부터 까지는 실수, 부터 까지는 벡터일 때 이 벡터들의 선형 결합이란 이다. ex) 일 때 이건 다 선형결합에 해당한다. 선형(linear)라는 말이 들어가는 것은, 벡터의 곱셈이 아닌 상수배이기 때문. C에 뭐가 들어가느냐에 따라 위의 모든 점을 선형결합만으로 얻을 수 있다. 생성(Span)은 벡터의 결합으로 얻을 수 있는 벡터들을 뜻하는 것인데, 여기서 와 의 생성은 와 같다. 즉, 위의 모든 벡터와, 모든 순서쌍의 집합과 같다. 단, 0벡터의 경우는 얼마를 곱하든 0이 나오니 무조건은 아님을 명심. 이라고 볼 수 있다. 다음과 같이 행렬은 방정식으로도 표현이 가능하다...
- 선형대수학을 위한 벡터란? 벡터는 크기와 방향을 동시에 가지는 것. 1시간에 5마일을 간다고 해도 그건 벡터가 아니라 크기일 뿐. 그걸 스칼라라고 한다. 스칼라가 벡터가 되기 위해서는 방향을 가져야 함. 시속 5마일로 동쪽으로 이동하는 것은 속도. 속도는 벡터이다. 벡터는 크기와 방향만 신경쓰고, 시작점은 신경쓰지 않아도 된다. 크기와 방향만 같으면 어디서 시작하든 같은 벡터이다. 벡터는 같은 방식으로 입력한다. 만약 벡터가 x축으로만 5만큼 움직이는 벡터라면 로 적고, 선형대수학에서는 열 벡터인 로 적는다. ----------- - 실좌표공간 은 2차원(2-dimensional) 실수좌표공간(R = real coordinate space)을 의미 을 다룬다는 것은 모든 가능한 실수값을 가지는 2-튜..
입력한 문자열을 색을 바꿔 그대로 출력12345678910111213141516171819202122232425262728293031323334353637383940414243#include#include#includeusing namespace std;/* 배경은 16 * 배경컬러숫자 + 글자컬러숫자 Black = 0, Blue, Green, Jade, //옥색 Red, Purple = 5, Yellow, White, Gray, SoftBlue, SoftGreen = 10, SoftJade, SoftRed, SoftPurple, SoftYellow, DeepWhite = 1615*/void Pr(WORD w, const char s);int main(){ string s; getline(cin, s);..