Depth of Field 진행중 #2

먼저 구현한 DoF는 z값을 이용해서 블러링 이미지와 합성하는 방식이었다. 이게 아무래도…블러링 이미지가 1:1사이즈가 아니고서는 뛰어다닐때 지글지글거린다. 스샷용으로 사용하려던 것이지만 어디 사람 맘이 그런가. 만들면 좀 더 적극적으로 활용하고 싶기 마련. 그래서 착란원을 시뮬레이션 하는 방식으로 추가적으로 더 만들었다. 일단 두 가지 방식을 혼용할 수 있게 했다. 이 방식은 이 방식대로 문제가 있는데 샘플링 할 수 … More Depth of Field 진행중 #2

Depth of Field 구현중

요새 슬럼프다. 사실 5년전부터 계속 슬럼프였다. -1에서 0 사이를 오르락 내리락. 0 위로 올라가질 못한다. 여튼 요샌 특히 심해서 -1에 너무 근접해있었다. 11년 일했는데 이루어놓은것도 없는것 같고, 짐은 무겁고 몸도 마음도 지쳤다. 사람들 일하는것도 챙겨야하고 진행중인 결과물 보면서 잔소리도 해야되고 직접 짜야할 코드도 많다. 정신없이 바쁜데 재밌는 이슈는 하나도 없다. 클베 전에 집어넣어야할 컨텐츠 코드가 … More Depth of Field 구현중

프로젝트 엡실론 3차 알파 테스트를 무사히 마쳤습니다.

3일간에 걸쳐 총 25시간에 걸쳐 진행된 프로젝트 엡실론 3차 알파 테스트를 무사히 마쳤습니다. 서버 크래시 한 번도 없었구요. 처참하게 홍보가 안된 것 치고는 유져들도 많이 신청해주었습니다. 최근 회사 내부에서 꽤나 어택을 당해서 의기소침한 상황인데, 생각 이상으로 유져들의 만족도가 높아서 꽤 힘을 얻었습니다. 유져들의 요구사항 중 할 수 있는 것을 하면서 클베에 포함시켜야할 컨텐츠까지 준비하려니 앞이 좀 막막하긴 … More 프로젝트 엡실론 3차 알파 테스트를 무사히 마쳤습니다.

프로젝트엡실론 3차 알파테스트 합니다.

정신없이 달려왔는데 벌써 3년을 넘겼군요.2010년 10월 14일 – 10월 16일까지 3일간 알파테스트를 실시합니다. 기술검증 테스트로는 마지막입니다. 이번 테스트까지 마치고 나면 기술적 기반으로는 큰 문제가 없다고 생각하고 컨텐츠에 주력합니다. http://projecte.enpang.com 에서 알파테스터 신청 버튼을 누르면 계정과 패스워드를 발급받을 수 있습니다. 누구나 신청 가능하며 100%당첨됩니다. 회사의 이미지가 안좋은지라 덩달아 욕먹고 덩달아 평가절하당하고 있는 사실이 무척이나 짜증나고 기분 … More 프로젝트엡실론 3차 알파테스트 합니다.

Parallel NSight를 이용한 CUDA코드 디버깅

일전에 잠깐 소개했었다시피 Parallel NSight를 설치해서 이리저리 테스트중입니다. 일단 Parallel NSight를 설치하면 vs2008과 vs2010의 rule파일을 모두 설치할 수 있습니다. 금요일밤과 토요일 새벽 내내 삽질을 한 끝에 원하던대로 VS2010에서 CUDA빌드 환경을 구축했습니다. 라이트맵 계산을 위해 사용했던 CUDA_STUB.DLL을 성공적으로 빌드했고 현재 사용중인 게임의 맵들을 가지고 테스트를 완료했습니다. 이제 정말 CUDA코드에 브레이크 포인트를 찍어서 디버깅할 수 있는지 테스트를 … More Parallel NSight를 이용한 CUDA코드 디버깅

nVidia Parallel NSight 소개

Parallel NSight는 nVidia에서 제공하는 CUDA,쉐이더코드의 디버깅툴입니다. 물론 nVidia의 GPU에서만 작동합니다. 실제 GPU에서 코드 작동중에 브레이크 포인트 찍어가며 디버깅을 할 수 있습니다. Visual Studio 플러그인 형태로 설치되므로 사용하기도 편리합니다.물론 설치를 잘 했다는 전제 하에… 그 동안 계속 관심을 가지고 있던 nVidia의 Parallel NSight가 드뎌 VS2010을 지원하여 큰 맘먹고 설치했습니다. 사실 현재 릴리즈된 정식버젼은 1.0버젼이고 VS2008까지만 지원합니다. … More nVidia Parallel NSight 소개

별거 아니지만…노말방향 스케일 아웃라인의 활용

예전에 외곽선 추출할때 잠깐 만들어서 써보고 ‘이거 못쓰겠군’ 해서 2시간만에 갖다버린 기법. 노말방향으로 조금씩 스케일링 해서 뒤집어서 한번 찍어주고 원래 모델을 한번 더 찍는 방법이다. 영 이쁘지 않고 거칠다. 특히 캐릭터의 얼굴과 같은 섬세한 아웃라인 처리에는 아주 쉣이다. 재패니메이션과 같은 그래픽을 표방하는 우리 게임에선 전혀 어울리지 않는다. 그래서 완전 잊고 있었는데 팀 내부 요구사항 들어온것 … More 별거 아니지만…노말방향 스케일 아웃라인의 활용

x64어셈코드에서 크래시한 경우 콜스택 확인

현재 엔진 코드에 ml64용 64비트 어셈블리 코드가 적지않게 존재한다. 일단 콜스택 정보가 나오지 않는 것은 rsp레지스터의 값을 함수 안에서 변경하기 때문이다. 함수에 최초 진입했을 당시 rsp레지스터가 가리키고 있는 메모리에 리턴 어드레스가 들어있는데 디버거는 이를근거로 근거로 콜스택을 추적한다. c++코드를 디스어셈블 해보면 rsp레지스터의 리턴어드레스를 유지하기 위한 별도의 코드는 보이지 않는다. 따라서 pdb에 rsp사용에 대한 내용까지 기록되어있다고 판단한다. … More x64어셈코드에서 크래시한 경우 콜스택 확인

6core Xeon*2 + GTS250 CDUA 라이트맵 렌더링

서버의 멀티스레드 충돌처리 테스트 및 패킷 과부하 테스트를 위해 조립품으로 옆자리에 들여놓은 제온 머신이다. 겸사겸사 멀티스레딩 라이트맵 계산과 CUDA테스트도 할 겸 가격대 성능비 좋은 GTS250 1GB버젼을 하나 꽂았다. 이 조합의 경우는 CUDA를 사용할 경우 15%정도의 성능 향상이 있다. 과연 12코어 24스레드의 힘! 약간의 최적화를 해서 집의 쿼드머신에선 CUDA사용시 120%정도의 성능 향상을 얻었다. 오늘 엔진과 툴을 … More 6core Xeon*2 + GTS250 CDUA 라이트맵 렌더링

Project ε(프로젝트 엡실론) 2차 알파 후기

2차 테스트를 무사히 마쳤습니다. 30시간 동안 서버다운,점검 전혀 없이 깔끔하게 완료했습니다. 클라이언트 덤프가 꽤 쌓여있어서 분석하고 디버깅할걸 생각하면 좀 암담하긴 합니다만. 서버에서 힙 크래시 하는 버그가 있었는데 테스트 3일전에 발견해서 그 다음날 잡은게 꽤 드라마틱한 사건이었구요.(주님 감사합니다.진실로…) 금요일 오후에 139번 빌드를 최종적으로 릴리즈 하고 클라이언트에서 몇 가지 버그를 발견하여 주말 내내 노트북과 집 데스크탑을 이용한 … More Project ε(프로젝트 엡실론) 2차 알파 후기