Clarification on negative viewport height and front-face culling
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 72/100
- Type d'issue
- Documentation
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- cpp
- Domaine
- computer-graphics, documentation
Piste de recherche
Lisez le chapitre sur la disposition et les buffers du Descriptor lié dans l’issue. Concentrez-vous sur son analyse de la convention de la matrice de projection, de la hauteur négative du viewport et de frontFace lorsque le culling des faces arrière est activé. Expliquez comment chaque approche affecte l’ordre des sommets des triangles dans les coordonnées du framebuffer, et distinguez le retournement de l’axe Y à l’étape du viewport des changements des coordonnées clip-space et NDC. L’explication est complète lorsqu’elle indique clairement s’il faut prendre en compte le culling des faces avant pour les deux approches.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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!
- Langage dominant
- C++
- Étoiles
- 436
- Forks
- 136
- Merge moyen
- 9 j 16 h
- PR mergées (30 j)
- 4
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de KhronosGroup/Vulkan-Tutorial
-
Stale GLSL-specific wording in the Vertex Input Description chapterPeut-être pris @gpx1000 l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
KhronosGroup/Vulkan-Tutorial#528 · 1 personne assignée ·
-
Clarify vertex input bindingsPeut-être pris @SaschaWillems l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
KhronosGroup/Vulkan-Tutorial#527 · 1 personne assignée ·
-
Tutorial text and code out of sync: missing queue.waitIdle() in drawFrame() leads to validation error VUID-vkQueueSubmit-pSignalSemaphores-00067Peut-être pris @SaschaWillems l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
KhronosGroup/Vulkan-Tutorial#525 · 1 personne assignée ·
-
Simple Engine audio chapter: sources are not actually spatializedPeut-être pris @gpx1000 l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
KhronosGroup/Vulkan-Tutorial#524 · 1 personne assignée ·
-
Multithreading chapter still talks about render passesPeut-être à nouveau libre @SaschaWillems l’a pris il y a 34 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
KhronosGroup/Vulkan-Tutorial#519 · 1 personne assignée ·
Toutes les issues de KhronosGroup/Vulkan-Tutorial
Issues similaires
-
[Bug] [Go] Ack returns nil when the server answers with a non-OK statusPeut-être pris @leizhiyuan l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
apache/rocketmq-clients#1465 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 2 jours
-
bug IO
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
MrNeRF/LichtFeld-Studio#3824 ·
Les mainteneurs répondent en général sous 1 jour
-
pnnx: manual tanh GELU fusion loses the approximation modePeut-être pris @ktz03 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Tencent/ncnn#7175 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
throneproj/Throne#2043 ·
Les mainteneurs répondent en général sous 2 jours