GPU를 이용한 PVS #4 – 게임 클라이언트 테스트

맵에디터가 아닌 게임 클라이언트에서의 테스트다. 오프라인 PVS빌드에 GPU 점유율 86%정도로 약 13분이 걸렸다. Voxelization에선 그나마 DX12버전이 약간 더 빨랐는데, 이 경우는 그냥 DX11이 더 빠르다. 더 정확히 얘기하면 DX11의 싱글스레드로 CPU점유율 20%, GPU점유율 86% – 13분(대략) 였고, DX12의 멀티스레드(6스레드)로 CPU점유율 90%, GPU점유율 100% – 13분 30초(대략) 이었다. DX12는 정말 답이 없다. 아마 AMD GPU였으면 그래도 … More GPU를 이용한 PVS #4 – 게임 클라이언트 테스트

GPU를 이용한 PVS #3.

현재까지 구현한 방법에는 약간의 문제가 있다. 그냥 딱 잘라 말하면 정밀도 문제다. 결과적으로 특정 공간에서 보여야할 오브젝트가 보이지 않는 현상이 일어난다. 정밀도를 높이면 높일수록 빌드시간이 길어진다. 정말 제대로 하려면 어마어마한 시간이 필요하다. 그래서 결국 지난 2주를 날렸구나..라고 생각했으나, 밑져야 본전이라는 생각으로 약간의 꼼수를 써봤다. 기존 방식대로 PVS를 계산하고(마을맵 하나에 15분), 이후 문제가 되는 공간들에 대해서만 … More GPU를 이용한 PVS #3.

GPU를 이용한 PVS계산 #2

정밀도 문제와 기타 등등 문제들이 있지만 의도한대로 작동은 한다. 영상의 앞부분은 PVS를 사용하지 않고 KD-Tree와 View Frustum culling만을 사용하여 렌더링. 당연히 가려지는 매시들을 상당수 그리고 있다. 뒷부분은 미리 계산한 가시성 테이블을 이용하여 렌더링. 100%는 아니지만 꽤 많은 수의 가려지는 매시들을(leaf단위로 잘려있는) 미리 걸러낸다. 조금 더 부연하면 KD-Tree를 타고 현재 카메라의 eye 점이 있는 leaf를 탐색. … More GPU를 이용한 PVS계산 #2

GPU를 이용한 PVS계산

[데모 설명] 카메라가 위치한 방에서 버튼을 눌러서 PvS를 계산한다. 이후 이 방으로부터 볼 수 있는 공간들은 노란색 와이어프레임으로 표시된다. 1. 월드 공간을 KD-Tree로 분할. 2. 삼각형과 교차하지 않는 공간이 leaf가 된다. 또는 특정 사이즈 이하로 공간이 작아지면 leaf가 된다. 3. leaf가 삼각형과 교차하는 경우 서브 트리로 분할. 서브트리에서 다시 삼각형과 교차하지 않는 leaf의 AABB만 수집 … More GPU를 이용한 PVS계산

그런 기술은 아무도 원하지 않는다. C..BA

게임의 규칙과 관련된 물리(간단한 모델이든 복잡한 모델이든)는 서버에서도 똑같이 적용되어야 한다. 모든 시뮬레이션의 기준은 서버이고 클라이언트는 단지 터미널의 역할이어야 한다. 따라서 게임의 룰을 결정짓는 엔진의 기능들은 클라이언트와 서버 사이에 완전히 공유되어야 한다. 이것이 내 온라인 게임 개발의 철학이다. 내 기술은 철저하게 이러한 철학 위에서 구현된다. 이러한 방식의 장점은 1. 해킹을 근본적으로 차단할 가능성이 높다. 2. … More 그런 기술은 아무도 원하지 않는다. C..BA

출시(라 쓰고 망이라 읽는다)의 변

내 과거의 일부 프로젝트를 비롯하여, 내가 알고 있는 사람들, 알고 있는 회사, 그들이 진행했던 상당수의 프로젝트들이 마무리 되지 못하고 디스크 어딘가에 처박혀서 0과 1의 형태로만 존재하다가 그마저도 파쇄되는 경우를 숱하게 보아왔다. 똥을 싸도. 내가 똥 쌌다는 사실만이라도 세상 누군가가 알 수 있다면 그거 의미있지 않나? 대부분의 인간들은 태어나고 죽을때까지 세상에 아무것도 남기지 못한다. 남겨도 아무도 … More 출시(라 쓰고 망이라 읽는다)의 변

내가 운영하고 싶었던 가상세계 시스템(그냥 푸념)

The Game Archaeologist: The PLATO MMOs, part 2 난 플라토 시스템에서 돌아가는 MUD를 즐기던 세대는 아니지만. 존나 멋지다고 생각해. 아직도 이런것에 로망을 가진 이들이 좀 있을거라 생각했다. 그런 사람들을 모아서, 그 숫자가 열명이 안될지라도, 게시판에서 피드백을 받으며 게임(정확히는 가상세계 시스템)을 업데이트하고, 기술적으로도 그 내용을 공유하고 싶었다. 서버 바이너리를 포함해서 배포한건 물론이고 게임을 해킹할 수 있는 … More 내가 운영하고 싶었던 가상세계 시스템(그냥 푸념)

내 손으로 만든다는 것의 의미.

맨 뒤에 1/4사이즈 제노사가 코스모스는 완성품 레진을 구입한것. 나머지는 다 내가 만든거. 숙달된 인민들이 공장에서 만든 코스모스의 도색품질이 당연히 내가 만든 것들보다 훨씬 뛰어나다. 저거 외에도 완성품 피규어를 몇 개 가지고 있다. 하지만 이젠 레진이든, 소프비는 완성품은 절대 구입하지 않는다. 처음 포장 뜯었을때나 좋지. 도무지 애착이 생기지 않는다. 내가 만든거? 도색 삑사리도 있고 품질도 높지 … More 내 손으로 만든다는 것의 의미.