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

고정 헤더 영역

글 제목

메뉴 레이어

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

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 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)

검색 레이어

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

검색 영역

컨텐츠 검색

분류 전체보기

  • Texture Mapping

    2023.07.27 by Arq.Dev5igner

  • Ray Tracing

    2023.07.27 by Arq.Dev5igner

  • 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

Texture Mapping

1. Texture Mapping => 3D vertex간의 texture mapping => 3차원 물체의 표면에 세부적인 질감의 묘사를 하거나 색을 칠하는 기법 texture coordinates => Texture Coordinates -> 텍스쳐는 2D coordinate system으로 정의됨(u,v) -> 각삼각형 꼭지점에 (u,v)좌표가 할당되어 삼각형에 붙을 텍스쳐의 어느 부분을 붙여야 하는지 알 수 있음 -> Triangle => TRSA(translation -> rotation -> size -> affine) -> Pixel texture coordinates 계산(주어진 3개의 값의 weight를 곱해서 더한 값) Triangle => Screen Space vs World Spa..

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

Ray Tracing

1. Ray Tracing => 빛이 가는 방향으로 어떤 물체를 만나고 reflection 등의 관계를 알아내기 위함 2. Normal => Normal값을 구할 때 외적을 통하여 구함 => Vertex를 통해 Face를 구하고, Face를 통해 normal을 계산 => Triangle -> n = (P2-P0)x(P1-P0) => Mesh(Gouraud) -> n = (n1+n2+n3+n4) / |n1+n2+n3+n4| => Phong -> n(a) = (1-a)nA + anB -> n(a,b) = (1-b)nC + bnD 3. Shading => Normal을 결정한 후 light source의 BRDF를 고려해서 나가는 빛의 양을 결정하는 것을 Shading이라 함 => Shading을 해주는 것을..

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

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

추가 정보

인기글

최신글

페이징

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

티스토리툴바