본문으로 바로가기

나만의 연습장

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 방명록
관리자
  • 블로그 이미지
    엄준식사생팬

    엄준식이 좋아요.

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

( D3DX12 / DirectX12 ) 1. 장치 초기화

Header #pragma once class CGameFramework { private: HINSTANCE m_hInstance; HWND m_hWnd; int m_nWndClientWidth; int m_nWndClientHeight; IDXGIFactory4* m_pdxgiFactory; IDXGISwapChain3* m_pdxgiSwapChain; ID3D12Device* m_pd3dDevice; bool m_bMsaa4xEnable = { false }; UINT m_nMsaa4xQualityLevels = { 0 }; static const UINT m_nSwapChainBuffers = { 2 }; UINT m_nSwapChainBufferIndex; ID3D12Resource* m_ppd..

Graphics/DirectX 2020. 3. 28. 02:25

추상 클래스와 정적 다형성 ( abstract class, static polymorphism ? )

#pragma comment(lib, "dxgi.lib") #include #include #include #include #include #include using namespace std; int main() { UINT i{ 0 }; IDXGIAdapter* adapter{ nullptr }; vector adapterList; Microsoft::WRL::ComPtr mdxgiFactory; CreateDXGIFactory1(IID_PPV_ARGS(&mdxgiFactory)); while (mdxgiFactory->EnumAdapters(i, &adapter) != DXGI_ERROR_NOT_FOUND) { DXGI_ADAPTER_DESC desc; adapter->GetDesc(&desc); w..

Graphics/DirectX 2019. 10. 9. 19:53

동적계획법의 기초

동적 계획법이 왜 쓰이는지에 대해 궁금한 사람들을 위해 작성합니다. 동적 계획법이란, 이미 계산돼있는 값을 추후에 다시 계산하지 않고 가져다쓰기 위함입니다. 답을 재활용한다고 생각하시면 편합니다. 동적 계획법은 "어떤 문제를 풀기 위해 그 문제를 더 작은 문제의 연장선으로 생각하고, 과거에 구한 해를 활용하는" 방식의 알고리즘을 총칭한다. 팩토리얼을 이용한 동적 계획법은, 둘다 시간 복잡도가 log(N) 이기 때문에 적합하지 않습니다. 조금 더 자세한 예를 위해 피보나치 수열 문제를 가져왔습니다. https://www.acmicpc.net/problem/2747 백준 2747번 피보나치 수 위와 같은 방식은 설명을 위한 재귀지, 일반적으로 사용하는 방식은 아닙니다. 시간 단위는 millisecond 입니..

알고리즘/동적계획법 2019. 8. 31. 12:58

STL) 나만의 Allocator( 할당자 ) 만들기 - 2

저번 글에도 작성했듯이, allocator는 다음과 같은 형식을 정의해야 한다. using value_type = T; using pointer = T * ; using const_pointer = const T*; using void_pointer = void*; using const_void_pointer = const void*; using size_type = size_t; using difference_type = std::ptrdiff_t; std::ptrdiff_t는 포인터 간의 차이를 담고있는 정수 유형이다 ( 쉽게 말해 그냥 typedef int ptrdiff_t 다. ) 그리고 Allocator에서 추가로 구현해야하는 인터페이스가 있는데, 하나 하나 작성하며 설명해놓겠다. Alloc()..

C++/STL 2019. 4. 17. 01:17

STL) 나만의 Allocator( 할당자 ) 만들기 - 1

참고: EASTL, https://jacking75.github.io/Cpp_EASTL/ CUSTOM ALLOCATOR : https://www.youtube.com/watch?v=pP15kDeXJU0 https://www.youtube.com/watch?v=kSWfushlvB8 std 의 container들에는 Allocator(할당자)가 존재합니다. 이는 실질적인 container 들의 메모리를 관리합니다. 기본적으로 표준의 allocator를 사용하게 되고, 사용자가 직접 선언해준다면 자신이 직접만든 allocator를 사용할 수 있습니다. std::vector v; 위는 인스턴스 풀, 메모리 풀, 그리고 EASTL 의 custom allocator 등 많은 방면으로 바꿔 사용할 수 있습니다. 자신..

C++/STL 2019. 4. 16. 00:47

std::list::splice

한 목록에서 다른 목록으로 요소를 전송합니다. 요소는 복사 (copy) 되거나 이동(move) 되지 않으며, 목록 내의 포인터만 다시 연결될 뿐입니다. void splice( const_iterator pos, list& other ); void splice( const_iterator pos, list&& other ); // C++11부터 void splice( const_iterator pos, list& other, const_iterator it ); void splice( const_iterator pos, list&& other, const_iterator it ); // C++11 부터 void splice( const_iterator pos, list& other, const_iterat..

C++/STL 2019. 4. 12. 02:12

STL) 반복자 어댑터 ( Iterator Adaptor )

std::copy, std::transform, etc... 대부분의 Dest의 Iterator를 받는 알고리즘들은 그 컨테이너가 공간 요소를 넣기에 충분한 용량 ( capacity ) 를 확보하길 요구한다. 하지만 얼마나 들어올지 모르는 상황에서 컨테이너에 대한 reserve를 할 수 없으니, 반복자 어댑터를 사용하는걸 추천한다. std::copy, std::transform 같은 알고리즘들은 밑과 같이 작성되어 있다. template OutputIt copy(InputIt first, InputIt last, OutputIt d_first) { while (first != last) { *d_first++ = *first++; } return d_first; } iterator 의 operator= ..

C++/STL 2019. 4. 12. 01:43

WINAPI) std::vector 와 std::string 을 사용한 간단한 메모장

std::vector 와 std::string 은 둘다 가변적이기 때문에 배열의 동적 할당없이 ( 물론 내부적으론 동적할당이 이루어 지지만 )메모장같은 가로 + 세로를 나타내기에 적합함 1234567891011121314151617181920212223242526272829303132333435363738394041424344LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ PAINTSTRUCT ps; HDC hDC; static std::vector vecstr; switch (uMsg) { case WM_CREATE: { vecstr.push_back(std::string()); break; } case WM_P..

C++/WinApi 2019. 3. 24. 14:29
  • 이전
  • 1
  • ···
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • ···
  • 17
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 분류 전체보기 (129)
    • 알고리즘 (13)
      • 정렬 (1)
      • 동적계획법 (9)
      • 완전탐색 (2)
    • C++ (63)
      • Modern (40)
      • Before (2)
      • STL (11)
      • 여담 (8)
      • WinApi (1)
    • Graphics (17)
      • 이론 (8)
      • DirectX (3)
      • Vulkan (6)
    • Computer Science (0)
    • UnrealEngine (32)
      • 기능 (13)
      • Impl (14)
      • Issue (1)
      • Editor (4)
    • Unity3D (4)
      • 기능 (4)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • Modern
  • c++20
  • UnrealEngine5
  • 여담
  • 언리얼엔진4
  • stl
  • Before
  • UnrealEngine
  • 언리얼엔진5
  • c++
  • unity3D
  • vulkan
  • UnrealEngineIssue
  • Firebase
  • UnrealEditor
MORE+

ARCHIVE

CALENDAR

«   2025/08   »
일 월 화 수 목 금 토
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

LINK

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT 나만의 연습장, ALL RIGHT RESERVED.
나만의 연습장
블로그 이미지 엄준식사생팬 님의 블로그
MENU
  • 홈
  • 태그
  • 방명록
CATEGORY
  • 분류 전체보기 (129)
    • 알고리즘 (13)
      • 정렬 (1)
      • 동적계획법 (9)
      • 완전탐색 (2)
    • C++ (63)
      • Modern (40)
      • Before (2)
      • STL (11)
      • 여담 (8)
      • WinApi (1)
    • Graphics (17)
      • 이론 (8)
      • DirectX (3)
      • Vulkan (6)
    • Computer Science (0)
    • UnrealEngine (32)
      • 기능 (13)
      • Impl (14)
      • Issue (1)
      • Editor (4)
    • Unity3D (4)
      • 기능 (4)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바