[DirectX12] 1.스키마 & VS 초기 세팅
2022. 10. 29. 12:44
삽질/뻘짓
스키마는 다음과 같다. 일단은 크로스 플랫폼을 지원하지는 않는다. 만약 크로스 플랫폼을 지원한다면, Unreal처럼 엔트리포인트에 서페이스 함수를 둬서, 플랫폼 별로, 진입점을 호출하는 것이다. 엔진 클래스를 따로 만들고, 윈도우를 생성할지, 아니면, 언리얼처럼 엔진 루프를 실행할지, 향후에 어느 구조가 더 좋을까? 초기 세팅 1. Visual Studio 2022에서 빈 프로젝트(이름은 Client)를 생성한다. 2. Client의 프로퍼티에서 서브시스템을 Windows로 바꾼다. 3. 솔루션을 오른클릭하고, DLL 프로젝트(이름은 Engine)를 생성한다. 4. Client를 오른 클릭하고, 빌드 오더, 빌드 디펜던시를 설정하는데, Engine을 먼저 빌드하고, Client를 빌드하게 한다. 5. C..
DX11 or DX12 당신의 선택은?
2022. 10. 28. 17:49
삽질/뻘짓
D3D11 D3D12 Resources ID3D11Resource ID3D11Buffer ID3D11Device::CreateBuffer ID3D11Texture1D ID3D11Device::CreateTexture1D ID3D11Texture2D ID3D11Device::CreateTexture2D ID3D11Texture3D ID3D11Device::CreateTexture3D ID3D12Resource ID3D12Device::CreateCommittedResource (Committed : Virtual address space with physical pages for the resource) Resources(tiled) D3D11_RESOURCE_MISC_TILED D3D11_RESOURCE..
permutation
2022. 10. 27. 14:50
삽질
#include #include using namespace std; void printVec(vector& vec){ for(auto& ele : vec){ cout
Singleton 싱글턴
2022. 10. 25. 17:44
Design Pattern
Singleton 하나의 클래스에 하나의 인스턴스만 가지는 패턴 장점 : 하나의 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에, 인스턴스를 생성하는 비용이 줄어듬 단점 의존성이 올라감 Test Driven Development에 적합하지 않음. TDD에서는 유닛 테스트를 실행하며, 이때 테스트간 순서를 바꾸어도 실행 결과가 바뀌지 않으면서, 어느 정도 독립성을 가지고 있어야 하는데, 싱글턴은 안됨. //C++11 에서는 static의 세부사항이 변경되었기 때문에(C++17 에서 한번 더 변경됨), 더이상 DCLP //(Double Checked Locking Pattern) 으로 Singleton을 구현하지 않아도 된다. 정적 지역 객체는 //유효기간을 갖지만, GetInstance()가 처음 호출될..
Singly Linked List
2022. 10. 17. 17:29
알고리즘 + 자료구조
#include #include using namespace std; struct single_node{ int data; single_node* next; }; class single_lst{ public: using node = single_node; using node_ptr = node*; public: struct single_lst_iterator{ public: single_lst_iterator(node_ptr p) :ptr(p){} int& operator*(){ return ptr->data; } node_ptr get(){ return ptr; } single_lst_iterator& operator++(){ ptr = ptr->next; return *this; } single_ls..
정형 데이터 vs 비정형 데이터
2022. 10. 6. 04:40
삽질/뻘짓
정형데이터 사례 관계형 데이터 베이스 시스템 - 디자인 타임에 데이터 구조가 정의되는 형태(시스템에 정보가 로드되기 전에 이미 설계되어있음) Microsoft SQL Server Azure SQL Database Azure SQL Data Warehouse 데이터 구조 관계형 모델 테이블 구조 열너비 및 데이터 형식 쿼리 언어 T-SQL(Transact-SQL) 단점 데이터 요구 사항이 변경될 때마다 변경되어야 하므로, 니즈에 따른 대응 속도가 느림 새로운 열이 추가되면, 기존의 모든 레코드를 대량으로 업데이트 해야함 비정형 데이터 사례 비정형 시스템, 비관계형 시스템, NoSQL 시스템 - 디자인 타임에 데이터 구조가 정의되지 않으며, 데이터가 프리미티브 타입(바이너리 파일, 오디오 파일, 이미지 파일..
[C++11] Move Semantic에 대한 간단한 설명
2022. 9. 23. 02:39
C++
Move Semantic 은 C++ 11에서부터 도입된 특징이며, 비싼 복사 연산과 임시 객체 생성을 컴파일러가 이동 연산으로 대체할 수 있게 한다. 물론 클래스 안에서 이동 생성자와 이동 연산자가 구현되어 있어야 한다. Value Category 일반적으로 C++에서 expression은 연산자(operands)와 피연산자(encompasses operators), 리터럴(literals)과 변수 이름(variable names)을 말한다. expression은 type catecory와 value category로 나뉜다. expression은 identity라고 하는 개념을 가질 수 있으며, identity를 통해서 expression간에 비교를 할 수 있다. 예를 들어, 객체 간의 주소를 비교하거..