일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- SQL
- Stored Procedure
- Trie
- 다익스트라
- union find
- String
- two pointer
- 이진탐색
- DP
- Hash
- Brute Force
- binary search
- Dijkstra
- Two Points
- MYSQL
- 스토어드 프로시저
- 그래프
- Today
- Total
목록분류 전체보기 (425)
codingfarm
https://docs.unity3d.com/kr/2018.4/Manual/CameraRays.html 화면상에 마우스가 존재하는 위치로 캐릭터를 돌아보게 만들기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public Crosshairs crosshairs; public void LookAt(Vector3 lookPoint) { Vector3 heightCorrectedPoint = new Vector3 (lookPoint.x, transform.position.y, lookPoint.z); transform.LookAt (heightCorrectedPoint); } void Update () { // Look input Ray ray = viewCamera.S..
https://docs.unity3d.com/kr/530/Manual/Coroutines.html 특정 효과를 점진적으로 주고 싶을경우 주로 사용한다. 주로 점차적인 애니메이션 혹은, 분산 연산(로딩 화면 etc)등에 사용됩니다. 1 StartCoroutine(DeathAnimation()); cs 1 2 3 4 5 6 7 8 9 public IEnumerator DeathAnimation() { int current = 0; for (; current > -90; current = current - 5) { transform.Rotate(new Vector3(-5, 0, 0)); yield return null; } Die(); } Colored by Color Scripter cs yield retu..

0. 개요 https://docs.microsoft.com/en-us/windows/win32/dlgbox/using-dialog-boxes 대화상자에는 컨트롤들이 배치되며 사용자는 대화상자를 호출한 후 컨트롤을 통해 자신의 의사를 표시하고 명령을 내리며 프로그램은 대화상자에 배치된 컨트롤을 통해 현재 상태를 사용자에게 보여준다. 대화상자는 크게 모달형과 모델리스형으로 나뉘어진다. 모달(Modal)형 : 대화상자를 닫기 전에 다른 윈도우로 전환할 수 없으며 반드시 OK버튼이나 Cancel 버튼을 눌러 대화상자를 닫아야 다른 윈도우로 전환할 수 있다. MessageBox 함수에 의해 만들어지는 메시지 박스도 모달형 대화상자이다 모델리스(Modeless)형 : 대화상자를 열어 놓은 채로 다른 윈도우로 전환할..

0. 개요 사용자로부터 입력을 받는 기능 없이, 오로지 문자열을 보여주는것이 전부인 컨트롤 그렇기에 부모 윈도우로 통지 메시지를 보낼 필요도, 메시지를 받을 필요도 없다. 그러므로 여러개의 스태틱 컨트롤 모두 ID를 -1로 지정해도 된다. 즉, 별다른 목적이 없다면 사용자가 선택할 이유도, static control 끼리 구분되어야할 필요도 없다. 가령 위 윈도우에서 Header, Footer, Left, Top 등의 문자열이 static control이다. 주로 다른 컨트롤 옆에서 해당 컨트롤에 대해 수식하는 역할을 담당한다. 1. 스타일 static control에 즐겨 쓰이는 스타일은 아래와 같다. 스타일 설명 SS_LEFT 왼쪽으로 정렬되는 텍스트이며 자동으로 개행된다. SS_LEFTNOWORDW..

0. 개요 "scrollbar" 윈도우 클래스로 생성 수평의 경우 SBS_HORZ 스타일을, 수직일 경우 SBS_VERT 스타일을 지정 다음 함수를 통해 허용 가능한 설정값 범위와 스크롤의 위치값을 설정할 수 있다. 1 2 BOOL SetScrollRange( HWND hWnd, int nBar, int nMinPos, int nMaxPos, BOOL bRedraw ); int SetScrollPos( HWND hWnd, int nBar, int nPos, BOOL bRedraw ); cs 스크롤바는 자신의 변화에 대해 WM_HSCROLL(수평일 경우), WM_VSCROLL(수직일 경우) 이라는 별도의 메시지를 부모 윈도우로 보내며 추가 정보는 아래와 같다. 인수 설명 LOWORD(wParam) 스크롤 ..

0. 개요 에디트 컨트롤과 리스트 박스를 결합시킨 형태의 컨트롤 목록에 있는 항목중 다수를 선택할 수 있고, 원하는 항목이 없으면 에디트를 통해 직접 입력할 수도 있다. 항상 열려있는 리스트박스에 비해 필요한 경우에만 목록을 열어 선택 가능하다. 1. 스타일 스타일 설명 CBS_SIMPLE 에디트만 가진다. CBS_DROPDOWN 에디트와 리스트 박스를 가진다. CBS_DROPDOWNLIST 리스트 박스만 가지며 에디트에 항목을 입력할 수는 없다. 이외의 특징이나 메시지들에 대해서는 MSDN을 참고한다. https://docs.microsoft.com/en-us/windows/win32/controls/combo-boxes 사용법의 예는 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13..

https://docs.microsoft.com/en-us/windows/win32/controls/about-list-boxes 0. 개요 선택 가능한 여러개의 항목들을 나열해놓고 그 중 하나 이상을 선택하도록 하는 컨트롤 선택가능한 항목은 주로 문자열임 listbox 라는 윈도우 클래스를 사용 1. 스타일 스타일 설명 LBS_MULTIPLESEL 여러개의 항목을 선택할 수 있도록 한다. 이 스타일을 적용하지 않으면 디폴트로 하나만 선택할 수 있다. LBS_NOTIFY 사용자가 목록중 하나를 선택했을 때 부모 윈도우로 통지 메시지를 보내도록 한다. LBS_SORT 추가된 항목들을 자동 정렬하도록 한다. LBS_OWNERDRAW 문자열이 아닌 비트맵이나 그림을 넣을 수 있도록 한다. LBS_STANDAR..

0. 개요 문자열을 입력받을때 쓰이는 에디트 "edit" 윈도우 클래스를 사용하며 아래의 스타일들을 지정 가능하다. 스타일 설명 ES_AUTOHSCROLL 수평 스크롤을 지원한다. ES_AUTOVSCROLL 여러줄 편집시 수직 스크롤을 지원한다. ES_LEFT 왼쪽 정렬한다. ES_CENTER 중앙 정렬한다. ES_RIGHT 오른쪽 정렬한다. ES_LOWERCASE 소문자로 변환하여 표시한다. ES_UPPERCASE 대문자로 변환하여 표시한다. ES_MULTILINE 여러줄을 편집할 수 있도록 한다. ES_NOHIDESEL 포커스를 잃더라도 선택된 영역을 표시한다. ES_READONLY 읽기전용으로 만들어 편집을 금지한다. 자세한 설명은 14장에서 진행 에디트는 자신에게 발생한 변화에 대해 부모 윈도우에..

0. 개요 "button" 윈도우 클래스에 BS_RADIOBUTTON, BS_AUTORADIOBUTTON 둘 중 하나의 스타일을 지정하면 라디오 버튼이 된다. 체크 버튼은 하나의 속성에 대한 참/거짓 속성만을 가지는 반면 라디오 버튼은 그룹에 속한 여러개의 버튼 중 하나만 선택가능하다. 라디오 버튼의 그룹을 구성하는 방법 그룹을 이루는 첫번째 라디오 버튼에만 WS_GROUP 스타일을 주고 나머지 라디오 버튼은 WS_GROUP 스타일을 주지 않으면 된다. 그룹 박스 컨트롤 : 어떤 라디오 버튼들이 같은 그룹에 속하는지 나타내기 위해 사용되는 오브젝트. 그룹 박스는 BS_GROUPBOX 스타일을 가지는 버튼의 일종이지만 화면으로 보여지기만 할 뿐 사용자의 입력을 받아들이거나 어떤 기능을 가지는 것은 아니다...

0. 개요 CreateWindow 함수를 사용하여 버튼 컨트롤 생성시 3번째 매개변수인 dwStyle 를 통해서 버튼의 스타일을 설정할 수 있다. 스타일 속성 BS_PUSHBUTTON 푸시 버튼 BS_DEFPUSHBUTTON 디폴트 푸시 버튼 BS_CHECKBOX 체크 박스 BS_3STATE 3가지 상태를 가지는 체크 박스 BS_AUTOCHECKBOX 자동 체크 박스 BS_AUTO3STATE 3가지 상태를 가지는 자동 체크 박스 BS_RADIOBUTTON 라디오 버튼 BS_GROUPBOX 그룹 박스 푸시버튼은 앞서 살펴보았다. 여기서는 체크박스를 살펴보겠다. 위표에서 보듯이 체크박스는 스타일에 따라 4가지가 존재한다. 3가지 상태의 경우 선택, 비선택 이외에 grayed라는 상태를 의미하는데, 아마 한번..

1. 버튼 CreateWindow를 함수의 원형을 다시 살펴본다. 1 2 3 4 5 6 7 8 9 10 11 12 13 void CreateWindowW( [in, optional] lpClassName, [in, optional] lpWindowName, [in] dwStyle, [in] x, [in] y, [in] nWidth, [in] nHeight, [in, optional] hWndParent, [in, optional] hMenu, [in, optional] hInstance, [in, optional] lpParam ); cs 우리는 윈도우를 생성하기 위해 첫번째 매개변수인 lpClassName에 registerehls WNDCLASS인스턴스의 lpszClassName 필드에 설정했던 문자열..
0. 개요 컨트롤 정의 : 사용자와 인터페이스를 이루는 입,출력 도구 도스나 콘솔환경의 getch, scanf 등의 함수라 볼 수 있음 대표적인 표준 컨트롤러들 버튼, 에디트, 리스트 박스, 콤보 박스, 스크롤 바, 스태틱 컨트롤은 대화상자의 차일드 윈도우로 존재한다. 생성방법 윈도우 : WNDCLASS 형의 구조체를 정의, RegisterClass 함수로 등록, CreateWindow 함수로 생성 컨트롤 : 부팅시 OS에 의해 미리 등록되는 WNDCLASS 구조체를 사용한다. 즉, Register 할 필요없이 CreateWindow 함수를 호출하여 생성 컨트롤을 위한 윈도우 클래스의 종류 윈도우 클래스 컨트롤 button 버튼, 체크, 라디오 static 텍스트 scrollbar 스크롤 바 edit 에..

0. 개요 폰트도 펜이나 브러쉬처럼 GDI 오브젝트이다. 폰트 오브젝트를 만들고 DC로 전송한 후 문자열을 출력하면, DC에 선택된 폰트를 사용하여 문자열이 출력된다. 1. CreateFont 폰트의 생성에 쓰이는 함수 반환되는 핸들을 HFONT형의 변수에 대입한다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 HFONT CreateFontW( [in] int cHeight, [in] int cWidth, [in] int cEscapement, [in] int cOrientation, [in] int cWeight, [in] DWORD bItalic, [in] DWORD bUnderline, [in] DWORD bStrikeOut, [in] DWORD iCharSet, [in] D..

0. GPGPU(범용 GPU, General Purpose GPU) 정의 : 대규모 병렬 처리에 적합한 GPU를 비 그래픽 분야에 응용하는것 장점 : 많은양의 원소에 비슷한 연산을 병렬적으로 처리하는데 적합 ex : 화면에 그려지는 픽셀 단편(pixel fragment), 파티클 시스템(particle system) 단점 : 그래픽 연산과는 달리 GPU의 연산 결과를 다시 CPU로 보내야함 GPU를 통한 연산 속도가 단점을 충분히 보완 다중처리기(Multiprocessor) GPU의 병렬처리를 수행하기 위한 장치 다중처리기는 하나의 스레드를 수행하기 위한 CUDA 코어를 32개 가진다. NVIDIA의 Fermi 아키텍처는 다중처리기를 16개 까지 지원한다. 즉, 최대 512개의 CUDA 코어를 지원한다...

0. 개요 용도 : 특정 픽셀 단편(pixel fragment)들이 back buffer에 기록되지 못하게 한다. 실제 판화를 만들때 쓰이는 스텐실과 같은 역할 depth buffer에도 기록하지 못하게 함 stencil buffer는 back buffer 및 depth buffer와 해상도가 같다 stencil buffer의 $ij$번째 픽셀은 back buffer나 depth buffer의 $ij$번째 픽셀과 대응된다 stencil buffer를 지정 하면 그 버퍼는 depth buffer에 부착된다.(즉, 이후의 작업에서 서로 연관된다) D3D12_DEPTH_STENCIL_DESC 구조체를 채우고 이것을 PSO의 D3D12_GRAPHICS_PIPELINE_STATE_DESC::DepthStencil..

혼합 현재 pipeline에서 래스터화하는 픽셀(PS에서 출력된 픽셀) 이전 pipeline결과 backbuffer에 저장된 pixel 위 2가지 자원을 섞는 기법 주로 반투명 물체의 렌더링에 사용된다. 목표 혼합의 작동 방식과 Direct3D에서 혼합을 사용하는 법을 이해 Direct3D가 지원하는 여러 혼합모드를 배운다. 기본 도형의 투명도를 알파 성분으로 제어하는 법을 파악한다. HLSL의 clip 함수를 이용ㅇ하여 한 픽셀이 후면 버퍼에 아예 그려지지 않게 만드는 법을 배운다. 1. 혼합공식 혼합 : PS에서 출력된 원본 픽셀($C_{src}$)과 이미 back buffer에 저장되어 있는 대상 픽셀($C_{dst}$)의 색상을 혼합하는것 $C_{src}$ : 현재 래스터화 중인 $ij$ 번째 픽..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 // Default.hlsl //*************************************************************************************** // colo..

학습목표 Pixel Shader에서 texture의 표본을 추출 해 pixel의 색상으로 쓸 수 있도록 texture를 shader resource로 binding하여 쓰는 방식을 알아본다. 버퍼 및 텍스처에 대해 배울때 정리한 바 있지만 여기서 다시한번 상세히 설펴본다 텍스처링은 크게 3가지 요소를 통해 이루어진다. 텍스처 자원 텍스처 필터링 좌표 지정 모드 이 중 텍스처 필터링과 좌표 지정 모드에 대한 정보가 표본 추출기 객체에 묶이게 된다. 1. 텍스처(Texture) D3D12_RESOURCE_DESC::Dimension이 D3D12_RESOURCE_DIMENSION_TEXTURE2D 인 IDTD12RESOURCE 로 대표되는 2차원 텍스처 객체 다양한 종류의 data를 담기 위한 저장공간 픽셀 ..

0. 소개 world 좌표계를 기준으로 주어지는 오브젝트들을 화면에 수월하게 그리기 위해선 카메라의 좌표를 기준으로 표현한 후, 화면에 출력하기 위해 view port 좌표계로 다시한번 변환할 수 있어야 한다. 이를 위해 좌표변환에 대해 알아야 한다. 1. 선형 변환 정의 : $\mathbb R^n$에 속하는 임의의 벡터$u$, $v$와 스칼라 $c$에 대하여 1) $T(u+v) = T(u) + T(v)$ 2) $T(cu) = cT(u)$ 위 2개 조건을 만족하는 변환$T: \mathbb R^n \rightarrow \mathbb R^m$ 을 선형변환 이라 한다. 즉, 선형변환 $T$는 $$T(c_1v_1+c_2v_2) = c_1T(v_1) +c_2T(v_2)$$ 위 등식을 만족한다. 1-1. 행렬 표현..

visual studio 2019에서 C++ 프로젝트를 빌드했을때 아래와 같은 에러가 발생 C2664 에러가 발생한 코드 1 HANDLE eventHandle = CreateEventEx(nullptr, false, false, EVENT_ALL_ACCESS); cs C2102 에러가 발생한 코드 1 2 mCommandList->ResourceBarrier(1, &CD3DX12_RESOURCE_BARRIER::Transition(mDepthStencilBuffer.Get(), D3D12_RESOURCE_STATE_COMMON, D3D12_RESOURCE_STATE_DEPTH_WRITE)); cs 다른 환경에서는 잘 빌드되던 프로젝트가 갑자기 안된다. 첫번째 에러의 경우 문자집합 문제때문이며 두번째 에러는..