티스토리 뷰

Game/Graphics

GPU culling

newpolaris 2018. 11. 27. 22:15

머냐; 이거

https://www.youtube.com/watch?v=KckRq7Rm3Mw

동영상에서는 meshlet 생성에 사용한 대강의 cluster 로 사용해도

어느정도 된다고 이야기함

우선 아래 2개를 추천하던데

http://advances.realtimerendering.com/s2015/aaltonenhaar_siggraph2015_combined_final_footer_220dpi.pdf

위에거의 게시판 https://forum.beyond3d.com/threads/gpu-driven-rendering-siggraph-2015-follow-up.57240/

모르것다.

https://frostbite-wp-prd.s3.amazonaws.com/wp-content/uploads/2016/03/29204330/GDC_2016_Compute.pdf

외계어 싫다;

우선 첫번째의 첫번째 reference

Fetch vertices manually in VS from shared buffer [Riccio13]

는 아래 GPU 4의 내용

Introducing the Programmable Vertex Pulling Rendering Pipeline, Christophe Riccio and Sean Lilley

소스는 없다

기타

  1. Programmable Vertex Pulling, OpenGL Insights

https://github.com/OpenGLInsights/OpenGLInsightsCode/tree/master/Chapter%2021%20Programmable%20Vertex%20Pulling

  1. dynamic-vertex-pulling-with-d3d11

https://www.gamedev.net/articles/programming/graphics/dynamic-vertex-pulling-with-d3d11-r4048/

https://github.com/bazhenovc/sigrlinn/blob/master/demo/demo_grass.cc

https://www.gamedev.net/forums/topic/672314-about-dynamic-vertex-pulling/

  1. ProgrammablePulling

1번을 기반으로 했다는데; 가장 넓고 알기 쉬운 듯

https://github.com/nlguillemot/ProgrammablePulling

내 결과

Intel / Nvidia 결과

https://twitter.com/nlguillemot/status/884711299954860032

Intel 것과 함께 input layout 을 쓰거나, One element SSBO 를 써야하는 듯

AMD 및 비교는 아래에,

기존 것과 비교는 아래 2개

http://www.yosoygames.com.ar/wp/2018/03/vertex-formats-part-2-fetch-vs-pull/

https://turanszkij.wordpress.com/2017/06/05/should-we-get-rid-of-vertex-buffers/

https://www.g-truc.net/post-0666.html

Triangle Culling 및 indirect drawing

http://www.conffx.com/Visibility_Buffer_GDCE.pdf

Visiblity 버퍼에 대한 글인데, triangle culling 및 indices compact 기술되어있음

http://diaryofagraphicsprogrammer.blogspot.com/2018/03/triangle-visibility-buffer.html

Why didn’t we implement this earlier?
● Two recent developments made the
Visibility Buffer more attractive compared
to a G-Buffer
● DirectX 12 / Vulkan with multi draw indirect
● Triangle culling / filtering [EDGE][Chajdas]
[Wihlidal]

2 culling stages
● Cluster culling : cull groups of triangles before sending them
to the GPU (following [Chajdas] on the CPU; [Wihlidal] on
GPU)
● Triangle Filtering: cull individual triangles after being sent to
the GPU
  • cluster generation

https://github.com/ConfettiFX/The-Forge/blob/master/Examples_3/Visibility_Buffer/src/Visibility_Buffer.cpp

  • Triangle filtering

https://github.com/ConfettiFX/The-Forge/blob/master/Examples_3/Visibility_Buffer/src/Shaders/PCVulkan/triangle_filtering.comp

  • batch_compaction

https://github.com/ConfettiFX/The-Forge/blob/master/Examples_3/Visibility_Buffer/src/Shaders/PCVulkan/batch_compaction.comp

Direct12 / Vulkan 서로 같은 코드가 있어서 비교하기 좋음;

geometryfx - cluster-culling

https://gpuopen.com/geometryfx-1-2-cluster-culling/

https://gpuopen.com/gaming-product/geometryfx/

cluster generate

https://github.com/GPUOpen-Effects/GeometryFX/blob/master/amd_geometryfx/src/GeometryFXMeshManager.cpp

실제 drawing

https://github.com/GPUOpen-Effects/GeometryFX/blob/02c4139eff3ee9a1c180a25fa4a6020a477f9fee/amd_geometryfx/src/AMD_GeometryFX_Filtering.cpp

Visibility 버퍼 종합

http://masafumi.cocolog-nifty.com/masafumis_diary/2016/11/visibility-buff.html

기타

https://interplayoflight.wordpress.com/2018/05/25/gpu-driven-rendering-experiments-at-the-digital-dragons-conference/

'Game > Graphics' 카테고리의 다른 글

HLSL TO OPENGL  (0) 2018.10.14
HLSL pow  (0) 2018.08.01
Volumetric Light  (0) 2018.03.21
Area light cont.  (0) 2018.03.18
Real-Time Area Lighting: a Journey from Research to Production  (0) 2018.03.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크