본문 바로가기

728x90

난 이 분야 전문가야!

(51)
OpenGL :: Double buffer, 다양한 버퍼링 기법 이 글에서는 프레임버퍼의 기본 개념부터 시작해partial update problem(부분 업데이트 문제), 더블 버퍼링, 그리고 트리플 및 쿼드 버퍼링에 대해 간략히 알아보려 한다. 1. 프레임버퍼란프레임버퍼(framebuffer)는 영상 처리에서 최종 출력 이미지를 저장하는 메모리 영역이다.기능:화면에 출력될 픽셀 데이터를 저장.GPU나 다른 그래픽 프로세서에서 계산된 결과를 담아 디스플레이 컨트롤러가 화면에 출력할 수 있도록 함.구성 요소:일반적으로 2차원 배열로 구성되며, 각 원소는 한 픽셀의 색상 정보를 나타냄.색상 깊이(bit depth), 해상도 등 디스플레이 설정에 따라 크기가 결정됨. 2. Partial Update Problem (부분 업데이트 문제)부분 업데이트 문제는 프레임버퍼나 디..
C++ :: 열거형 enum과 enum class C++에서 열거형(enum)은 상수를 그룹으로 묶어 코드의 가독성과 유지 보수성을 높이기 위해 자주 사용된다.C++11부터는 enum class가 도입되면서 전통적인 enum의 몇 가지 문제점을 해결할 수 있게 되었는데,이번 글에서는 enum과 enum class의 차이점과 각각의 장단점을 살펴보려 한다. 1. 기본 문법 및 선언 방법전통적인 enum전통적인 열거형은 다음과 같이 선언한다:enum Color { Red, Green, Blue}; 이렇게 선언하면 Red, Green, Blue는 전역 네임스페이스(혹은 선언된 스코프)에 직접적으로 노출된다. enum classC++11부터 도입된 enum class는 좀 더 강력한 타입 안정성을 제공한다.enum class Color { ..
Qt :: Signal과 Slot 정리 1. Signal과 Slot이란?Signal (신호):객체가 어떤 이벤트가 발생했음을 알리기 위해 발송하는 메시지입니다.주로 클래스 내부에서 정의되며, 특정 조건이 만족될 때 emit키워드를 사용해 발송됩니다.Signal은 함수처럼 호출되지만, 직접 실행되지 않고 연결된 Slot을 호출합니다.예시:signals: void clicked(); // 버튼이 클릭되었을 때 신호 void valueChanged(int newValue); // 값이 변경되었을 때 신호 Slot (슬롯):Signal과 연결되며, Signal이 발송되었을 때 실행되는 함수입니다.일반 멤버 함수처럼 정의되지만, 특별히 slots: 접근 한정자를 사용하여 정의됩니다.예시:public slots: void onClic..
C# :: 선형 자료구조 (Array, Dynamic Array, Linked List) 취준을 위해 다시 정리해본다. 대학교 1학년 때 잘 이해도 안되는 연결리스트를 c로 직접 구현하느라 애를 많이 썼던 기억이 아직도 생생하다...  선형 구조는 자료를 순차적으로 나열한 형태이다.배열, 동적 배열연결 리스트스택 / 큐 배열 (Array)배열은 고정된 크기의 연속적인 메모리 블록에 데이터를 저장한다. 모든 요소가 동일한 데이터 타입을 가지며, 인덱스를 사용하여 요소에 접근할 수 있다. 장점빠른 인덱스 접근: 특정 인덱스의 요소에 O(1) 시간 복잡도로 접근할 수 있다.메모리 효율성: 요소들이 연속적으로 저장되므로 메모리 오버헤드가 적다.단점고정 크기: 배열의 크기를 초기화할 때 정해야 하며, 이후에는 크기를 변경할 수 없다.비효율적인 삽입 및 삭제: 요소를 삽입하거나 삭제할 때, 특히 배열의..
Unity :: Meta Quest :: Passthrough 설정법 시작 전 개발환경 세팅 https://cagongman.tistory.com/94 Passthrough 설정OVRCameraRig 오브젝트에 OVR Passthrough Layer 컴포넌트를 추가한다.Prejection Surface 요소를 Reconstructed로 변경Placement 요소를 underlay로 변경 OVRCameraRig 오브젝트의 Inspector 창에서Passthrough support : Supported로 설정Insight PassthroughEnable Passthrough 체크 스카이박스 제거OVRCameraRigTrackingSpaceCenterEyeAnchorCenterEyeAnchor 오브젝트의 Inspector 창에서Clear Flags를 Solid Color로 변경..
Unity :: Meta Quest :: Controllers 및 Hands 설정 [Unity] Meta Quest :: 개발 환경 설정 이 완료되어 있는 상태라 가정함. Controller 설정Project 창에서 OVRControllerPrefab을 찾아 LeftControllerAnchor, RightControllerAnchor 오브젝트의 자식으로 각각 추가한다.추가로 OVRControllerPrefab의 Inspector 창에서 Controller 프로퍼티를 각각 왼쪽은 L Touch, R Touch에 맞게 설정해줌  Hand Prefab 추가하는법Project 창에서 OVRHandPrefab을 찾고 LeftHandAnchor, rightHandAnchor 오브젝트의 자식으로 각각 추가한다. (Controller 설정 때와는 다른 위치임)OVRHandPrefab inspect..
Unity :: Meta Quest :: 개발 환경 설정 우선 3D Core로 새로운 프로젝트를 하나 생성. Build Settings으로 이동하여 Android platform으로 변환한다.Player Settings에서 XR Plugin Management를 설치해준다. 설치 완료 후 아래와 같은 창이 뜰텐데 PC와 Android에 모두 오큘러스를 체크한다. Unity Package Manger에서 oculus Integration Asset을 임포트한다.에셋을 import 할때 이런 창들이 뜰텐데 모두 파란색 권장 사항들을 클릭해 준다. (upgrade 및 재부팅 까지 모두 수행) 설치하고 나면 이제 프로젝트 상단에 Oculus 탭이 생성되어 있을 것이다.Oculus -> Tools -> Project Setup Tool 클릭안드로이드와 PC의 모든 에러..
C++ :: 코테를 위한 STL 정리 STL 이란Standard Template Library(STL)는 C++ 프로그래밍 언어의 표준 라이브러리로, 데이터 구조와 알고리즘을 제공하는 템플릿 클래스 및 함수들의 집합이다. 1. STL의 주요 구성 요소이터레이터 (iterator)컨테이너 (container)알고리즘 (algorithm) 1.1 반복자 (Iterator)이터레이터는 컨테이너의 요소들에 접근하고 순회하는 데 사용되는 객체입니다. 이터레이터는 포인터와 유사하게 동작하며, 특정 컨테이너와 함께 사용됩니다. 순방향 반복자 (Forward Iterator): 원소를 순차적으로 순회할 수 있습니다.역방향 반복자 (Reverse Iterator): 원소를 역방향으로 순회할 수 있습니다. 순방향 반복자  .begin( )  컨테이너의 첫 워..

728x90