-
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
Real-time Global Illumination #2
Comments
1. ComputeRoughnessLOD 제거 2. SpecularVCT의 Mipmap 계산 부분 정리함 3. 각종 코드 수정 4. 실질적인 VCT 호출 및 Output 작업 5. 간단하게 Metallic 처리 구현 #2
쉐이더 부분은 어느정도 다 구현한 것 같다. |
1. GetSourceMapUAV 추가 2. GetMipmapUAV 버그 수정 3. 쓸모 없는 주석 제거 #2
1. GIInfoCB에서 dimension과 maxCascade 합침. (ushort, ushort) 2. GIInfoCB에서 initWorldMinPos 제거 3. GIInfoCB에서 maxMipmapLevel 추가 4. GetDimension() 추가 #2
2. cameraCommonCB -> camMatConstBuffer #2
…orldPosition을 사용하지 않고 함수 인자에서 cameraWorldPos를 받아와서 계산하도록 수정 #2
1. ToUint, ToFloat 추가 2. UintToFloat4 -> RGBA9UintColorToFloat4 로 이름 변경 3. Float4ToUint -> Float4ColorToUint로 이름 변경 4. 코드 정리 #2
1. DynamicLighting.h를 포함하지 않도록 함 2. StoreVoxelMapAtomicColorAvg 추가. - StoreVoxelMapAtomicColorMax는 그냥 들어오는 값을 계산 더해서 최종적으로 float4(1.0f, 1.0f, 1.0f, 1.0f)가 목적인 반면, 이건 그냥 들어오는 모든 값을 평균내준다. Novus Engine 참고함 #2
1. DiffuseVCT에서 coneDir 계산하는 방식 개선 2. 테스트를 위해 DiffuseVCT를 제외한 다른 기능 실행시키지 않도록 함 #2
InterlockedCompareExchange 이게 문제가 있는 것 같다. GL4의 imageAtomicCompSwap같은 효과를 가진 기능을 찾아야 하는데 보이지가 않는다.. |
현재 개발 환경에 사용중인 놋북이 5~6년전에 발매되었고, 그래픽 드라이버 업데이트가 불가능해서, Interlocked 관련 기능이 제대로 굴러가리란 보장을 못하겠다. 특히 매 프레임마다 복셀화 처리 및 인젝션 처리를 하려고 하니, 그래서 그냥 VCT까지 단 한 프레임만 렌더링하고 했더니 위처럼 어느 정도 잘뜬다.. 위의 사진은 metallic 0.3에 diffuse만 되어 있는 모습이다. |
uav를 이용하여 텍스쳐 atomic 연산을 처리할 때, while과 for는 정상적으로 작동이 되지 않는다. do-while이 그나마 어느정도 작동은 하는 것 같다만, 이것도 정상적으로 잘 작동하진 않는다. 답답한게, 구글링해봐도 나만 그런게 아니고 여러 사람들이 드문드문 겪는 문제인듯하다. 그리고 난 왜 둘 다 안되는건가.. |
StoreVoxelMapAtomicColorAvgNibble의 모습을 보면 알겠지만, 이건 정상적으로 작동하는 함수가 아니다. 근데 결과물은 가장 제대로 뜬다 -_-.. atomic연산을 하지 않고 복셀 텍스쳐에 값을 직접넣어도 잘 작동이 안되고, 이제는 개발환경을 바꿔봐야하나 싶다.. 그냥 다 포기하고 GL을 선택하고 싶어도 현재 개발환경이 GL4를 지원하지 않는다. |
#7 에 남은 이슈들이 있다. |
애매한 wrap보단 clamp가 더 정확할 것 같다. wrap은 나중에 필요할때 만들어서 넣어주면 된다. #2
This issue was moved to TeamSOC/SOCEngine#3 |
This issue was moved to TeamSOC/SOCEngine#2 |
Voxel Cone Tracing을 구현한다.
The text was updated successfully, but these errors were encountered: