복셀의 사각형당 2×2텍셀의 라이트맵 적용

각각의 복셀오브젝트에 할당된 라이트맵. 라이트 계산은 안했고 좌표가 제대로 부여됐는지 확인. 현재 텍셀당 25cm x 25cm이다. 오브젝트의 복셀 구성이 가변이라 애먹었다. 좌측으로부터 8x8x8 2개, 4x4x4 ,2x2x2 ,1x1x1 1개씩이다. 삼각형 매시같으면 인접한 텍셀과 부드럽게 보간하기 위해서 비슷한 평면상에 존재하는 삼각형들끼리 묶어서 패킹 해야했다.또한 필터링시 의도하지 않은 번짐을 최소화하기 위해 텍스쳐상에서 패킹된 그룹 간에 2픽셀씩 건너뛰고 모서리 … More 복셀의 사각형당 2×2텍셀의 라이트맵 적용

Game Dev – Geometry Shader포기

처음 만들때 복셀 오브젝트의 디테일을 1x1x1부터 8x8x8까지 선택해가며 배치할 수 있게 했었다. 플레이어가 비교적 정밀한 구조물을 제작할 수 있게 하면서도 복셀의 구성 상태가 실제로 정밀하지 않다면 자동으로 1x1x1짜리 오브젝트로 변환하려고 이렇게 만들었다. 메모리를 아끼기 위해, 복셀의 구성상태는 bit-table을 사용한다. 8x8x8짜리 복셀오브젝트라면 복셀 한칸당 1비트를 할당해서 8x8x8 / 8 bytes의 bit-table을 만든다. 복셀의 컬러값은 따로 저장해두는데 … More Game Dev – Geometry Shader포기

모바일 GPU 관련 오늘의 교훈.

모바일 GPU(Adreno 430)에서 Compute Shader를 호출할때 Group 개수를 0으로 세팅하면 GPU 익셉션 발생. 그 여파로 DirectX Device를 더 이상 사용할 수 없게 된다.(Error:D3DDevice removed). 이건 퀄컴 GPU만의 문제일것도 아닐것이고 DirectX만의 문제도 아닐것이다. 비슷한 케이스의 문제라면 모든 모바일 GPU가 해당되리라 예상한다. Group 개수를 0으로 해서 호출하는건 바보짓이지만 그렇다고 GPU에서 익셉션을 발생시킬 정도의 치명적인 에러는 아니라고 생각하는데. … More 모바일 GPU 관련 오늘의 교훈.