Clarification on negative viewport height and front-face culling
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 72/100
- Tipo de issue
- Documentação
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- cpp
- Domínio
- computer-graphics, documentation
Direção de pesquisa
Leia o capítulo sobre o layout e os buffers do Descriptor vinculado no issue, com foco na discussão sobre a orientação da matriz de projeção, a altura negativa do viewport e frontFace quando o back-face culling está ativado. Esclareça como cada abordagem afeta a ordem dos vértices dos triângulos nas coordenadas do framebuffer e diferencie a inversão do eixo Y no estágio do viewport das mudanças nas coordenadas de clip-space e NDC. A explicação estará completa quando ficar claro se é necessário considerar o front-face culling nas duas abordagens.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
In the Descriptor layout and buffer chapter, the tutorial states:
it also flips the handedness of the projection matrix, which then requires flipping
frontFacewherever back-face culling is enabled
It then recommends using a negative viewport height instead.
However, my understanding is that both approaches can reverse the triangle winding order in framebuffer coordinates, which may require adjusting frontFace, since Vulkan determines front-facing triangles based on their winding order in framebuffer coordinates.
The difference seems to be that flipping Y in the projection matrix also changes the clip-space and NDC coordinates, potentially affecting other operations that depend on the projection matrix. Using a negative viewport height avoids those changes by applying the Y-flip at the viewport stage.
Therefore, while the negative viewport height approach preserves the projection matrix, it doesn't eliminate the need to consider front-face culling.
Could this distinction be clarified in the explanation?
Thanks!
- Linguagem predominante
- C++
- Estrelas
- 437
- Forks
- 139
- Merge médio
- 9d 16h
- PRs com merge (30d)
- 4
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de KhronosGroup/Vulkan-Tutorial
-
Stale GLSL-specific wording in the Vertex Input Description chapterTalvez já em andamento @gpx1000 assumiu há 10 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
KhronosGroup/Vulkan-Tutorial#528 · 1 responsável ·
-
Clarify vertex input bindingsTalvez já em andamento @SaschaWillems assumiu há 10 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
KhronosGroup/Vulkan-Tutorial#527 · 1 responsável ·
-
Tutorial text and code out of sync: missing queue.waitIdle() in drawFrame() leads to validation error VUID-vkQueueSubmit-pSignalSemaphores-00067Talvez já em andamento @SaschaWillems assumiu há 10 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
KhronosGroup/Vulkan-Tutorial#525 · 1 responsável ·
-
Simple Engine audio chapter: sources are not actually spatializedTalvez já em andamento @gpx1000 assumiu há 10 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
KhronosGroup/Vulkan-Tutorial#524 · 1 responsável ·
-
Multithreading chapter still talks about render passesTalvez livre de novo @SaschaWillems assumiu há 38 dias e não há nenhum pull request aberto. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
KhronosGroup/Vulkan-Tutorial#519 · 1 responsável ·
Todas as issues de KhronosGroup/Vulkan-Tutorial
Issues semelhantes
-
good first issue invalid
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
DanielJerolm/gpcc#74 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
patrick-hudson/put.gd-desktop#808 ·
Mantenedores costumam responder em até 1 dia
-
DPI change is not fully handled in the cascading window on WindowsTalvez já em andamento @yukawa assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 4 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
enhancement Ready for final check
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
mpogue2/SquareDesk#1818 · 1 comentário ·