microsoft / microsoft/DirectX-Graphics-Samples
D3D12MeshletCull sample not working correctly
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 6.8k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
Some rendered meshlets are outside the frustum planes.
IsVisible function at MeshletAS.hlsl do cull test between frustum planes and the bounding sphere like this:
for (int i = 0; i < 6; ++i)
{
if (dot(center, Constants.Planes[i]) < -radius)
{
return false;
}
}
I think it should be :
for (int i = 0; i < 6; ++i)
{
if (dot(center, Constants.Planes[i]) < radius)
{
return false;
}
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the D3D12MeshletCull sample and the IsVisible function in MeshletAS.hlsl. Run the sample to observe meshlets rendered outside the frustum, then verify the frustum-plane and bounding-sphere culling condition against the issue's proposed comparison. Done means meshlets outside the frustum are culled correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100