본문 바로가기

분류 전체보기

(35)
mediapipe open-cv으로 카메라 캡쳐하기 https://github.com/SDUnreal/StudyDocuments/tree/main GitHub - SDUnreal/StudyDocuments: this is study Documents.. this is study Documents.. Contribute to SDUnreal/StudyDocuments development by creating an account on GitHub. github.com 위에 코드를 참고하면 됩니다. 기본 그래프 구조 string protoG : graph에 들어갈 노드(calculator와 동의어) 들의 규칙및 이름을 정의하는 공간 auto cb : call back 구조 output 으로 packet이 나왔을 때 처리하는 부분 현재 그래프 구조 cv에서 c..
모네의 수련 연못 맘에 들어서 올려요.
mediapipe c++ tutorial 정리 mediapipe framework를 C++을 이용해서 사용하려면 다음과 같은과정을 겪는다. 1. bazel 설치 - bazel은 구글에서 만든 멀티 플렛폼 빌드 및 테스트 자동화 툴이다. mediapipe를 c++에서 사용하기 위해서는 다음 빌드툴을 이용해서 빌드해야한다. 2. mediapipe 프로젝트를 github에서 해당 리포지토리를 다운받아야함 https://developers.google.com/mediapipe/framework/getting_started/install 3. open cv설치 4. msys2 (윈도우에서 build를 편하게 하는 라이브러리들을 가지고 있는 플랫폼이라 생각하면됨) 설치 (pre-built open-cv는 wsl에서 카메라가 지원이 안된다.. 그외에도 자잘자잘한..
Bazel c++ 일반적인 C++ 빌드 사용사례_glob() 앞서서 Bazel 프로젝트의 디렉토리 구성에 대해서 간단하게 알아보았다. 이제는 bazel의 일반적인 c++ 빌드 사용 사례 파트를 보면서 한번 분석해볼 예정이다. https://bazel.build/tutorials/cpp-use-cases?hl=ko 일반적인 C++ 빌드 사용 사례 | Bazel 날짜 비워 두기: BazelCon 2023이 10월 24~25일에 Google 뮌헨에서 열립니다. 자세히 알아보기 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 일반적인 C++ 빌드 사용 사례 컬렉션을 bazel.build 위의 내용에 대해서 조금 해설을 약간 덧붙이자면 glob을 사용해서 단일 대상에 여러 파일을 포함 할 수 있다고 한다. 말 그대..
Bazel c++ 기초 : WORKSPACE 와 BUILD Mediapipe c++ framework를 사용하기 위해서는 bazel이라는 build tool에 대해서 공부를 좀 해야한다. bazel 공식문서의 tutorial부분을 보면 다음과 같은 구조로 되어있다. WORKSPACE : Bazel 프로젝트를 빌드하려면 먼저 작업공간을 설정해야 한다. WORKSPACE를 루트 디렉토리에 만들어주면 Bazel은 해당디렉토리와 하위 디렉토리를 Bazel 작업공간으로 인식합니다. BUILD : BUILD 파일은 그 디렉토리 자체가 하나의 패키지로써 작동하고 어떤 실핵파일을 가지고 있는지, 그리고 무엇이 종속되어있는지 Bazel에게 알려주는 파일이라고 생각하면 됩니다. WORKSPACE와 BUILD 와 관련해서는 다음 URL을 보시면 더욱 자세한 정보를 얻을 수 있습니다..
vulkan tutorial #8 Swap Chain Recreation 그동안 우리가 만들었던 LveWindow창은 고정된 창을 사용해왔다. 왜냐하면 Lve SwapChain에 들어있는 Framebuffer는 고정된 width와 height만으로 이루어져 있기 때문이다. 그래서 새로운 width와 height가 생성되면 우리는 새로운 Lve Swapchain instance를 받아야 한다. 그런데 Swapchain을 바꾸면 pipeline도 새로 바꾸어야한다. 현재의 pipeline이 swapchain에 영향을 받기 때문이다. 그래서 Height 와 width가 바뀌는 부분에 대한 callback함수를 만들어주고 firstapp에서 lveSwapChain을 생성하는 부분에 대해서 변화를 준다. 기존 렌더 패스에 그려진 파이프라인은 새로운 swap chain과 그에 따른 Re..
C# 게임서버, Auto Reset Event, Manual Reset Event Lock을 하는 방법 중 하나는 SpinLock이 있지만 Auto Reset Event도 존재한다. Auto Reset Event는 커널에다가 Lock이 풀리면 사용할 수 있게 물어봐 놓고 기다렸다가 차례가 되면 사용하는 방식이라고 생각하면 편하다 Auto Reset Event와 Manual Reset Event 사이에는 사용을 할때 자동으로 AutoResetEvent는 false처리가 되고, Manual은 False 처리가 되질 않는다. 그래서 Manual Reset Event를 사용하면 가끔 데이터가 무결하지 않을 때도 있다. 그래서 Auto Reset Event를 사용하는 편. Auto Reset Event는 짧고 자주써야하는 쓰레드 일수록 커널과의 통신을 해야하기 때문에 시간적 비용이 높아져버린다..
C# 컨텍스트 스위칭 레지스터 : 핵심 정보들 (어떤 코드까지 실행했는지, 메모리의 위치들을 가지고있는지) PCB란 어떤 프로세스가 돌아가기 위한 정보라고 생각하면 된다. cpu는 여러 프로세스를 1초에 몇1000번씩 서로 돌아가면서 돌린다. 이 돌리는 상황을 컨텍스트 스위칭이라 하고, 컨텍스트 스위칭 도중에는 메모리에서 PCB정보를 가져와서 사용한다.