본문 바로가기

학교7

OpenTTD 빌드 트랜스포트 타이쿤 디럭스의 오픈소스 버전, OpenTTD를 컴파일해보자. 오랜 소원이던 오픈소스 커미터를 한번 해보고자... 소스를 클론한다> git clone https://github.com//OpenTTD.git openttd> git clone https://github.com/OpenTTD/OpenTTD-git-hooks.git openttd_hooks> cd openttd> git remote add upstream https://github.com/OpenTTD/OpenTTD.git> cd .git/hooks> copy ../../../openttd_hooks/hooks/* . 먼저 의존성 해소가 필요하다. 로컬 저장소 경로로 이동해서 다음과 같이 입력한다.> vcpkg integrate i.. 2024. 5. 12.
GPUView GPU와 CPU 간의 상호 작용을 프로파일링할 수 있는 좋은 툴이 있다. 오래 전에 개발되었지만 여전히 필드에서 사용되는 바로 GPUView이다. 이 도구를 꽤 예전에 써보고 사용할 기회가 없어서 잊고 있었지만, 그걸 일깨워주는 기회가 있었다. 최근에 내가 맡은 일은 특정 게임이 왜 특정한 인텔 노트북에서 셔터링을 유발하는지에 대한 것이다. 셔터링은 보통 랙이라 불리는 현상으로 프레임이 단속적으로 끊어져 게임의 자연스러운 진행을 망치는 현상이다. 내부에서는 VerySleepy라는 도구로 분석했는데, 사실 이것은 유저 레벨의 프로파일링 도구로서 다른 프로세스 특히 GPU와의 상호 작용 같은 걸 볼 수는 없다. 오로지 대상 프로세스이 호출하는 함수 실행 시간을 측정할 뿐이다. 반면 인텔 측 내부 개발자는 다.. 2024. 5. 11.
OpenGL #1 파이프라인Vertex Specification입력된 정점의 기하 정보를 처리하는 단계Primitive Assembly정점을 결합하여 기본 형태(primitive)로 변환 - 점, 선, 삼각형Rasterization3차원 좌표로 표시되는 정점을 2차원 좌표계로 변환하는 과정Fragment Shader픽셀의 색상 처리    셰이더 Shader프로램 가능한 파이프라인(Programmable Pipeline). 프로그래밍 언어를 사용하여 렌더링 결과를 변경 가능HLSL Hight Level Shader LanguageGLSL OpenGL Shader Language레지스터 Register실수(float) 형식의 4개를 묶어 사용데이터 형벡터 vec2, vec3, vec4: 좌표(xyzw), 텍스처 좌표(stpq.. 2024. 5. 4.
OpenGL #0 설치dev윈도우즈에서도 편리하게 OpenGL 개발 환경을 설정할 수 있다. Visual Studio Installer를 실행시켜 vcpkg가 설치되었는지 확인한다 Visual Studio Developer Command Prompt를 열고 vcpkg를 실행시켜 본다.C:\Program Files\Microsoft Visual Studio\2022\Professional>vcpkgusage: vcpkg [--switches] [--options=values] [arguments] @response_file @response_file Contains one argument per line expanded at that location ... vcpkg를 사용하려면 초기 작업이 필요하다. .. 2024. 4. 30.
윈도우 가상 머신 다운로드 윈도우즈 가상 머신 하에서 여러가지 테스트를 하기 쉬운 환경이 미리 마련되어 있다.윈도우 11 가상 머신 다운로드https://developer.microsoft.com/ko-kr/windows/downloads/virtual-machinesWindows 11 Enterprise Evaluation을 다음 가상머신에 따라 받을 수 있다VMWareHyper-VVirtual BoxParallels윈도우 10 가상 머신 다운로드여기는 경로가 사라졌기 때문에 아카이브에서만 볼 수 있다. https://web.archive.org/web/20200612045637/https://developer.microsoft.com/en-us/windows/downloads/virtual-machines이미 기한이 만료되어서.. 2024. 4. 25.
전문가를 위한 C++ 1600쪽에 달하는 상당히 두꺼운 책이었다. 읽는데 1년 넘게 걸린 것 같다. 읽다가 지쳐서 쉬고 또 쉬고... 최근에 꾸준히 읽겠다는 마음을 먹고 아침, 저녁으로 통근 길에 쭈욱 읽었더니 생각보다 진도가 빨랐다. 비야네가 쓴 C++ 책을 읽고 정말 오랜만에 읽었다. 상당히 많은 내용이 바뀐 걸 느꼈다. 무엇보다 C++ 20 대상이기 때문에 더욱 그럴 것이다. C++의 문법 뿐아니라 알아야 할 모든 것을 제시하고 연습 문제까지 포함되어 있는 점이 매우 훌륭하다. 초반에는 좀 풀다가 나중에는 게으름으로 넘어갔다. 템플릿 프로그래밍을 익히면서 느꼈지만 직접 해보지 않고는 머슬 메모리에 기록되지 않는다... 내 경험으로 C++이야말로 페어 프로그래밍/리뷰가 필수적인 언어인 것 같다. 모르고 쓰면 실수하기 너무.. 2024. 4. 23.
C# ready C# Compiler// C# compiler> csc.exe test.cs// build to assembly> csc.exe test.cs /target:library// specify output file> csc.exe test.cs /out:test.exeILdasm// show intermediate language in .net// usage> Ildasm test.exe Base templatenamespace IO{ class Program { // static int or static void // can emit the args argument static void Main(string[] args) {}.. 2024. 4. 21.