Posts
Rito15
Cancel

OpenGL 공부 - 02 - 초기 세팅

목표 GLEW 설치 및 적용 GLEW 설치 GLEW : OpenGL Extension Wrangler Library http://glew.sourceforge.net Binary 다운로드 프로젝트의 Dependency 폴더 내로 GLEW 폴더 복사 glew-2.1.0 폴더를 통째로 ...

C# - 파일 입출력

간단 정리 파일에 쓰려면 대상이 string, string[], byte[] 타입 중 하나여야 한다. 파일의 전체 경로("폴더경로\파일명.확장자")가 필요하다. 한 파일에 대한 연속 입출력 횟수에 따라 한번에 읽거나 쓰려면 File.Read(), File.Write() 메소드를 사용한다. 여러 번에 걸쳐 읽거나 쓰려면 스트림 ...

OpenGL 공부 - 01 - 시작

목표 OpenGL 기초 세팅 OpenGL? OpenGL 자체는 API가 아닌, 각종 OpenGL 라이브러리를 개발하기 위해 Khronos Group이 개발 및 유지 관리하는 설명서이다. OpenGL은 각 함수의 출력과 수행 방법을 정의한다. 실제로 OpenGL 라이브러리를 개발하는 ...

Unlit 쉐이더그래프로 만드는 Stylized Lit 쉐이더

동기 유나이트 서울 2020의 위 세션을 보고, 쉐이더그래프만을 이용해 비슷하게 만들어 봐야겠다고 생각했다. 목표 URP 쉐이더그래프 중 Unlit 그래프를 이용해 직접 Stylized Lit 쉐이더 만들기 1. 서브그래프 준비 영상에서 보면, SmoothStep과 비슷한 연산을 더 저렴하게 할 수 있게 해주는...

Frame Rate Checker

Note 실제 FPS 값을 실시간, 최근 N개의 평균, 최소, 최댓값으로 확인할 수 있다. 게임 진행 동안 텍스트의 위치, 색상, 크기, GUI 표시 상태를 실시간으로 변경할 수 있다. Preview Download FrameRateChecker.zip Source Code . ...

유니티 - 잡 시스템(Job System)

개념 유니티에서 안전한 멀티스레딩을 구현하는 시스템 스레드를 별도로 생성하지 않으며, 유니티의 워커스레드에 작업을 지시할 수 있게 한다. 잡 대기열에 잡을 배치하면 워커 스레드가 잡 대기열에서 항목을 가져와 실행한다. Native Container를 이용해 잡의 수행 결과를 메인 스레드와 공유한다. 버스트 컴파일러를 이용하여 추...

유니티 - 전장의 안개(Fog of War)

목차 1. 개념 2. 구현 방법 3. 타일맵을 이용한 구현 4. 구현 결과 5. 프로파일링, 최적화 6. Reference 개념 맵과 크기가 동일한 RGBA(0, 0, 0, a)의 텍스쳐를 이용해 지정한 유닛들의 주변시야를 표현한다. 지정한 유닛이 현재 위치한 원형 범위 내 영역들은 a = 0, 지정한...

레이 마칭(Ray Marching)

레이 마칭이란? 메시 데이터를 이용하는 기존의 3D 렌더링 방식과는 달리, 거리 함수(SDF)를 통해 오브젝트의 표면을 정의한다. 카메라로부터 스크린 픽셀들을 향해 레이를 전진시키고(Ray Marching), 해당 픽셀의 레이가 오브젝트 표면에 닿으면 그 픽셀에 오브젝트 표면을 렌더링하는 방식을 사용한다. ...

Pixelater (픽셀화 렌더링)

Note 렌더 텍스쳐의 해상도를 강제로 변경하여 화면을 픽셀화시킨다. 스크립트를 카메라에 부착하여 사용한다. Preview Download Pixelater.zip Source Code . using System; using System.Collections; usi...

AfterImage(Motion Trail, 잔상 효과)

Note 게임오브젝트가 지나간 자리에 잔상을 생성한다. 하위 게임오브젝트에도 렌더러가 있는 경우, 잔상을 함께 생성할 수 있다. How To Use 대상 게임오브젝트에 Mesh Renderer가 존재하는 경우, MeshAfterImage 스크립트를 부착한다. Skinned Mesh Renderer가 존재하는 경우, Skin...