일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래밍
- View
- Input Assembler
- C언어
- DirectX
- 코딩
- engine
- 다이렉트X
- Direct3D
- CommandList
- RenderTargetView
- GPU
- 다이렉트 초기화
- CPU
- DESC
- DirectXTK
- 세팅
- 다이렉트X 튜토리얼
- C++
- c
- Direct Init
- UE4
- swapchain
- 동기화
- 게임수학
- Direct3D Init
- 다중표본화
- 전처리문
- vertex
- DirectX12
- Today
- Total
목록분류 전체보기 (71)
비타Cpp
Input-Assembler Stage (IA) 그래픽스 파이프라인의 진입점. Primitives 데이터를 모아 다음 단계인 VertexShader로 보낸다. (Primitive : 삼각형의 각 정점(vertex)과 그리는 순서(index)) Vertex는 3D공간상의 좌표. Vertex는 또한 Color, Normal값, Texture UV좌표값 등 다양한 값을 포함할 수 있다. 이러한 데이터들은 DirectX Buffer를 사용하여 IA로 보내진다. Vertex Shader Stage (VS) 프로그래밍이 가능한 첫번째 구역 각 Vertex를 실행시킨다. Tessellation 두가지 프로그래밍이 가능한 구역(Hull Shader-HS, Domain Shader-DS). 기하학의 세분화 프로그래밍. ..
본 글은 유튜브의 Jpres님의 영상을 보고 개인적으로 공부하면서 남기는 글입니다. 플레이리스트 링크 : www.youtube.com/playlist?list=PLcacUGyBsOIBlGyQQWzp6D1Xn6ZENx9Y2 C++ DirectX 11 Engine Tutorials Buy my mixtape. www.youtube.com 영문 영상을 되지도 않는 영어실력과 구글 번역을 돌려가면 열심히 이해하며 쓰는 글이니, 틀린 부분이 많을 수 있습니다. 꼭 발견하면 꾸짖어주세요 ㅎㅎ; 질문도 해주시면 아는 범위 내에서 열심히 답변해드립니다. 이제 XTK에서 세팅된 Inc폴더와 Bin폴더 안의 내용을 가져와야 한다. DirectX 프로젝트 폴더에 Include 폴더와 Libs폴더를 새로 만든다. Direct..
본 글은 유튜브의 Jpres님의 영상을 보고 개인적으로 공부하면서 남기는 글입니다. 플레이리스트 링크 : www.youtube.com/playlist?list=PLcacUGyBsOIBlGyQQWzp6D1Xn6ZENx9Y2 C++ DirectX 11 Engine Tutorials Buy my mixtape. www.youtube.com 영문 영상을 되지도 않는 영어실력과 구글 번역을 돌려가면 열심히 이해하며 쓰는 글이니, 틀린 부분이 많을 수 있습니다. 꼭 발견하면 꾸짖어주세요 ㅎㅎ; 질문도 해주시면 아는 범위 내에서 열심히 답변해드립니다. 처음에 DirectX 엔진을 만들기 위해서는 기본적인 툴들을 가져와야 한다. 앞으로 만들 것도 산더미 같은데, 기본적인 수학 함수, 키보드, 마우스 등의 기능들을 뼈대..
포인터는 메모리 상의 주소 값을 나타낸다. 이러한 포인터도 연산자를 통해 연산이 가능한데, 주소 값에 +,- 같은 주소 값의 덧셈 뺄셈이 가능하다. int* pNum1; int* pNum2; pNum1 = new int(100); pNum2 = pNum1 + 1; *pNum2 = 200; std::cout
모든 변수들은 선언과 동시에 RAM에 자동으로 주소값이 할당된다. 하지만 RAM은 RANDOM ACCESS MEMORY로 무작위의 주소값이 할당되는데, 이는 변수가 가지고 있게 된다. 만약 int형 변수를 하나를 int num; 이렇게 선언하면, int 는 4byte이므로 4byte크기의 공간이 할당 된다. 이런식으로 할당이 되게 되는데 초기화를 안했기 때문에 안에는 쓰레기 값이 들어가있다. 어쨌든 컴파일러는 이제 부터 num변수를 만날때마다 0x0001의 주소값을 찾아가게 되는것이다. 그리고 이 주소값은 코드에서도 접근이 가능한데, 선언된 변수앞에 &를 붙여주면 이는 해당변수의 주소값을 의미하게된다. int main() { int num; std::cout
대입연산자(=)의 피연산자중에 오른쪽에있는 피연산자를 r-value, 왼쪽에 있는 피연산자를 l-value라고 하는데, 이러한 의미도 틀리지는 않다. 하지만 이렇게 알고있기보다는 l-value를 변수 (메모리상에 지속적으로 남아있는 값), r-value를 임시값(메모리상에 남지않고 표현식 종료후에는 사라지는 값) 이라고 알아두는 편이 더 좋다. int a; //a는 int형 정수로 정의한다. a = 10; //10(r-value)은 정수 10으로 평가되고, a(l-value)에 할당된다. a = 5 + 10; //5(r-value) + 10(r-value)는 15(r-value)로 평가되고, a(l-value)에 할당된다.
const가 걸린 위치에서는 값이 변경이 안되게 하는 상수화하는 명령어입니다. const는 다양한 위치에 붙을수 있는데, 변수에서는 [const] [dataType] [const] [Pointer] [const] [VariableName] [const] [자료형] [const] [포인터] [const] [변수명] 멤버 함수에서는 [const] [dataType] [const] [Pointer] [Function(Parameters)] [const] {Function Codes} [const] [자료형] [함수명([const]매개변수)] [const] {함수 코드} 이런 식으로 붙을수 있다. 예를 들어 설명하면 1. const int ** num; 2. int * const * num; 3. int ** ..
WPARAM과 LPARAM은 WINAPI에서의 사용되는 기본 파라매터이다. WINAPI는 주로 메시지 전달 방식으로 구동되는데 이때 사용되는 MSG구조체 내부에 WPARAM과 LPARAM이 있다.(그밖에 time, hwnd 등도 있음.) 그럼 이 파라매터들이 가지고 있는 값은 무엇이며, 어떻게 사용될까? WPARAM typedef UINT_PTR WPARAM; minwindef.h 헤더에서 정의된 WPARAM의 typedef자료형이다. UINT_PTR은 unsigned int 포인터를 말한다. 자료 자체가 UINT_PTR인걸 알았지만 이 정수형 포인터가 무엇을 의미하는 값일까? wParam의 정수형 포인터가 가리키는 정수 값은 여러 가지로 사용될 수 있다. 그중 대표적으로 많이 사용되는 값은 키 입력값이..