-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VCT 남은 이슈 - #16 보충 #7
Comments
|
#16 과 연관된다. |
2번의 Voxelization - StoreVoxelColorAvg 문제의 경우, 하드웨어 문제는 아닌 것 같다. 하지만, 당연히 그렇지 못했다. 결과물이 똑같이 나왔었다. Interlocked을 쓰는 방식이 잘못되었던, 내가 짠 코드 자체가 잘못되었던 내 문제일 것이다.\ 16.06.20 추가 http://www.gamedev.net/topic/674692-d3d12-total-brightness-problem-in-compute-shader/ 참고 |
#16 에서 현재 복셀화 처리를 더욱 빠르게 처리할 수 있도록 변경하려 하였다. 1. Shadow 처리 변경 2. Cone Tracing 공식 재구성 3. Cone Tracing에서 MSAA 처리 다시 구현 4. Injection - StoreVoxelMap 문제. 5. TextureArray 사용 6. Cone Tracing에 몇몇 기능(?) 추가 |
그리고 StoreVoxelColorAvg 이건 다시 고려를 해봐야할 것 같다. 제대로 된 기능을 사용하려면 걍 GL로 건너 뛰던가 DX12에서 테스트해보던가 그래야하지 않을까 싶다. 즉, 이 말은 Casecade 방식도 다시 고려를 해봐야한다는 의미다 -_-.. |
#16 과 합쳐진다. |
Bilateral Filtering 이건 정말 노이즈 제거용인것 같다 -ㅠ-.. 그래도 미세하게 차이는 있다 일단 가우시안까지 한번 넣어보자 |
This issue was moved to TeamSOC/SOCEngine#7 |
#2 와 연결된다.
Indirect Color Map의 해상도를 낮추고 Bilateral Filtering을 사용한다면 메모리 사용량을 낮추면서 약간의 퀄리티 상승을 노릴 수 있을 것 같다. 뭐, 이 처리를 하면서 가까운 물체에 대한 반사처리는 퀄리티가 떨어지겠지만, 현재 약간 부자연스럽게 느껴지는 Diffuse쪽은 좀 더 부드럽게 칠해지지 않을까 생각이 든다. 관련 내용은 http://cagetu.egloos.com/5576794 참고
제대로된 atomic 처리가 되지않고 값이 드문드문하게 들어간다. 하드웨어 문제이지 않을까 싶다. 그리고 이유는 모르겠지만 -_-, atomic 처리를 하지 않고 PS에서 voxelMap에 값을 직접 넣어주면 기록이 전혀 되질 않는다.
Compute Shader를 이용한 Injection Pass에서 StoreVoxelColorAvg가 전혀 작동하지 않는다. 특이한건 2번과 달리 여기서는 VoxelMap에 값을 직접 넣어야만 제대로 기록이 되고 atomic 연산을 사용하면 전혀 기록이 되지 않는다는 점이다.
ㅅㅂ3번을 해결할때 같이 해보고 뭔가 안된다 싶으면 CS를 버리고 VS->PS 파이프라인을 타면서 처리해버리는게 나을 듯 싶다. 물론 지금처럼 atomic 처리가 일부분만 되겠지만 어쩌든간에 작동하긴 하니깐 말이다(...)현재 Specular VCT부분에서 사용하고 있는 halfConeAngleRad는 내가 임의로 설정한 공식이다. 그냥 이리저리 삽질하다가 이뻐보이는 공식을 적용했다 -_-. 나중에 물리 기반에 맞는 공식이 있다면 그걸 적용해야 한다.
적당히 돌아가지 않을까 싶기도 한데, 3번과 4번의 문제점 때문에 테스트 해보질 못했다.
The text was updated successfully, but these errors were encountered: