이왕 발 디딘 이승, 원없이 즐겨야하지 않겠소?

고정 헤더 영역

글 제목

메뉴 레이어

이왕 발 디딘 이승, 원없이 즐겨야하지 않겠소?

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • NaverBlog
  • Github
  • 분류 전체보기 (89)
    • 이승정복 프로젝트 (0)
      • 이승에서 뽕 뽑는 법 (0)
    • Study (83)
      • Language (21)
      • Algorithm (21)
      • Discrete math (6)
      • Graphics (18)
      • Tip notes (6)
      • And so on (6)
      • UnrealEngine4 (5)

검색 레이어

이왕 발 디딘 이승, 원없이 즐겨야하지 않겠소?

검색 영역

컨텐츠 검색

Study

  • LOD(Level Of Detail) Frameworks

    2023.07.27 by Arq.Dev5igner

  • Big endian과 little endian

    2023.07.26 by Arq.Dev5igner

  • [Unreal Engine 4] UI 렌더링 시스템 부하

    2023.02.14 by Arq.Dev5igner

  • [Effective C++ 3판] Chapter 4. 설계 및 선언 (항목 18~25)

    2023.02.07 by Arq.Dev5igner

  • [Effective C++ 3판] Chapter 3. 자원 관리 (항목 13~17)

    2023.02.07 by Arq.Dev5igner

  • [Effective C++ 3판] Chapter 2. 생성자, 소멸자 및 대입 연산자 (항목 5~12)

    2023.02.07 by Arq.Dev5igner

  • [Effective C++ 3판] Chapter 1. C++에 왔으면 C++의 법을 따릅시다. (항목 1~4)

    2023.02.07 by Arq.Dev5igner

  • 변환(transformation)

    2023.02.05 by Arq.Dev5igner

LOD(Level Of Detail) Frameworks

1. LOD(Level Of Detail) => 3D Model의 복잡성 => 가상 세계를 나타내는 데 사용되는 세부 정보의 양을 규제함으로써 복잡성과 성능을 향상시키는 방법 => 실시간(Realtime) Rendering에서 속도를 빠르게 하기 위해 생긴 기술 => Model이 Viewer로부터 멀어질 때 중요도 등 다른 지표에 따라 감소될 수 있음 => 보통은 Graphic pipeline 단계에서 작업량을 줄여 효율성을 높이는데에 사용 => 1976년 Clark라는 사람이 "Hierarchical Geometric Models for Visible Surface Algorithms" 논문에서 LOD를 처음 표면화 2. LOD Frameworks => 세부 수준 관리를 위한 기본 프레임워크 2-1. ..

Study/Graphics 2023. 7. 27. 13:19

Big endian과 little endian

Endianness는 것은 메모리상에서 byte를 배치하는 방법을 말한다. 크게는 big-endian과 little-endian으로 구분된다. Big endian 우선 big-endian은 가장 큰 byte(most significant byte, a.k.a. MSB)가 가장 앞에 나오는 방식이다. 일반적으로 사람이 사용하는 방식이라고 생각하면 된다. Big-endian은 사람이 흔하게 사용하는 방식이기 때문에 big-endian으로 기록되어 있는 값은 사람이 읽기 쉽고, bit order와 byte order, word order까지 일관성 있다. Little endian Little-endian은 가장 작은 byte(least significant byte, a.k.a. LSB)가 가장 앞에 나오는 ..

Study/And so on 2023. 7. 26. 11:54

[Unreal Engine 4] UI 렌더링 시스템 부하

SlatePrepass 1. 위젯 수 줄이기: 각 위젯이 추가 그리기 호출을 생성하므로 UI에 사용되는 위젯 수를 최소화하여 SlatePrepass 프로세스를 더하고 속도를 늦출 수 있다. 2. 캐싱 사용: 위젯 코드에 캐싱을 구현(인벨리데이션)하여 SWidget_CacheDesiredSize와 같은 비용이 많이 드는 작업의 빈도를 최소화. 이를 통해 SlatePrepass 프로세스의 부하를 줄이고 렌더링 시간을 단축. 3. 동적 레이아웃 사용 최소화: 동적 레이아웃은 느리고 리소스를 많이 사용하므로 가능하면 정적 레이아웃을 사용. 4. 프로파일 사용 및 최적화: UE4 프로파일러를 사용하여 성능 병목 현상을 식별하고 코드를 최적화. ( 그리기 호출 수 감소, 텍스처 메모리 사용 최적화 또는 SlateP..

Study/UnrealEngine4 2023. 2. 14. 18:47

[Effective C++ 3판] Chapter 4. 설계 및 선언 (항목 18~25)

Chapter 4. 설계 및 선언 (항목 18~25) 항목 18. 인터페이스 설계는 제대로 쓰기엔 쉽게, 엉터리로 쓰기엔 어렵게 하자. class BadDate { public: BadDate(int month, int day, int year); }; class Month { public: static Month Jan; // Incorrect! static const Month& Feb() { // Case 1 static Month m(2); return m; } static Month Mar() { return Month(3); } // Case 2 private: explicit Month(int m) : month(m) {} int month; }; Month Month::Jan(1); str..

Study/Language 2023. 2. 7. 21:04

[Effective C++ 3판] Chapter 3. 자원 관리 (항목 13~17)

Chapter 3. 자원 관리 C++의 자원 관리 철학인 RAII를 알아본다. 객체가 생성되고 소멸될 때 생성자와 소멸자가 호출되는 원리를 이용하여 자원과 객체의 life cycle을 동일시함으로서 더욱 더 편리하고 안정적으로 자원 관리를 할 수 있다! ​ ​ ​ 항목 13 : 자원 관리에는 객체가 그만! std::shared_ptr의 소멸자는 기본적으로 내부적으로 delete를 사용합니다. (delete[]가 아니라) 그래서 동적할당된 배열에 대해 std::shared_ptr를 사용하면 안됩니다. 대신에 std::vector나 C++11의 std::array 를 사용함으로서 raw array를 대신하는 방법이 있습니다. 또는 std::shared_ptr의 생성자에 custom deleter를 등록하는 ..

Study/Language 2023. 2. 7. 21:01

[Effective C++ 3판] Chapter 2. 생성자, 소멸자 및 대입 연산자 (항목 5~12)

Chapter 2 . 생성자, 소멸자 및 대입 연산자 ​ ​ 항목 5 : C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자. 항목 6 : 컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해 버리자. ​ 이러한 것과 관련된 규칙으로서 rule of three/five/zero 라는 것이 있다. 아래 링크 참조. http://en.cppreference.com/w/cpp/language/rule_of_three https://en.wikipedia.org/wiki/Rule_of_three_(C%2B%2B_programming) ​ [ 정리해 두고 싶은 것 & 추가적인 사항 ] // C++11에서는 =delete를 사용하면 되긴 하지만, 책을 읽다가 인상깊어서 남겨본다. // 부스트..

Study/Language 2023. 2. 7. 20:59

[Effective C++ 3판] Chapter 1. C++에 왔으면 C++의 법을 따릅시다. (항목 1~4)

Chapter 1. C++에 왔으면 C++의 법을 따릅시다. 항목 1 : C++를 언어들의 연합체로 바라보는 안목은 필수. [ 이것만은 잊지 말자! ] - C++을 사용한 효과적인 프로그래밍 규칙은 경우에 따라 달라집니다. 그 경우란, 바로 C++의 어떤 부분을 사용하느냐입니다. ​ ​ ​ 항목 2 : #define을 쓰려거든 const, enum, inline을 떠올리자. #define 에게는 유효범위라는 게 없다. 이 점 때문에 외부 라이브러리와 #define 이 겹쳐서 고생한 기억이 여러 번 있다. (부들부들..) 그리고 #define 은 그냥 단순 치환방식이기 때문에 매우 불안하다. 따라서 상수를 정의할 때는 const 변수를 사용하는 것이 좋다. 혹은 정수 타입에 해당하는 상수를 위해서 나열자 ..

Study/Language 2023. 2. 7. 20:57

변환(transformation)

이번 포스팅에서는 변환(transformation)에 대해서 배워보겠습니다. 3차원 그래픽은 3차원 세계의 물체의 외부 표면을 근사(approximation)하는 일단의 삼각형으로 물체를 표현합니다(모델의 폴리곤을 생각하시면 될 것 같습니다). 이러한 물체들을 변환함으로써 물체에 변화를 줄 수 있습니다. 3차원 그래픽에 쓰이는 주된 기하학적 변환은 다음과 같습니다 : 이동변환 회전변환 비례변환 그럼 변환에 대해서 천천히 알아가보겠습니다. 선형변환 수학 함수 τ(v) = τ(x,y,z) = (x',y',z') 가 있다고 가정해 보겠습니다. 이 함수는 3차원 벡터 하나를 입력받아 3차원 벡터 하나를 출력합니다. 만약, 함수 τ에 대해 다음과 같은 성질들이 성립하면, τ를 가리켜 선형 변환(linear tra..

Study/Graphics 2023. 2. 5. 22:50

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 ··· 11
다음
TISTORY
이왕 발 디딘 이승, 원없이 즐겨야하지 않겠소? © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바