본문 바로가기

728x90

전체 글

(65)
VS Code에서 Qt 개발 환경 구축 가이드 VS Code에서 Qt 프로젝트를 개발하려면 Qt Language Server 모듈이 설치되어 있어야 한다.Qt Language Server는 VS Code에서 Qt 프로젝트 개발을 원활하게 지원하는 도구로, 코드 자동 완성, 문법 검사, 정의 이동, 코드 탐색 등의 기능을 제공한다.이를 통해 Qt 관련 코드를 보다 효율적이고 편리하게 작성할 수 있다. 우선 qt 설치 경로의 MaintenanceTool.exe 를 실행하여 Qt Language Server가 설치되어 있는지 확인하고 없다면 추가로 설치한다. 1. Qt Language Server 확인 및 설치우선, Qt Language Server가 설치되어 있는지 확인한다. 설치 확인 방법Qt가 설치된 디렉터리로 이동기본 설치 경로:Windows: C..
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) 시간 복잡도로 접근할 수 있다.메모리 효율성: 요소들이 연속적으로 저장되므로 메모리 오버헤드가 적다.단점고정 크기: 배열의 크기를 초기화할 때 정해야 하며, 이후에는 크기를 변경할 수 없다.비효율적인 삽입 및 삭제: 요소를 삽입하거나 삭제할 때, 특히 배열의..
고전 컴퓨터 비전 총정리: 간단하게 훑어보기 이번에 컴비 시험을 볼게 생겨서... 시험 전에 전반적인 비전 내용을 쭉 훑어 보고자 합니다. 내용은 매우 간략화 되어 있어 자세한 내용을 알고 싶으시다면 추가적인 자료를 찾아보셔야할 것입니다. 글 마지막에 제가 참고하면서 정리했던 자료들의 링크를 레퍼런스로 남겨두었습니다. HomogeneousHomogeneous는 간단하게 (x, y) 좌표를 (x, y, 1) 로 표현한 것이라 볼 수 있습니다. 일반적으로는 (wx, wy, w)로 표현한 것이고 Homogeneous 좌표계에서는 scale 값이 무시 됩니다. 또한 (x, y)에 대한 Homogeneous 좌표는 무수히 많이 표현될 수 있습니다. Homogeneous 좌표계를 사용하는 이유는 Affine transform이나 perspective tran..
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..

728x90