Clarification on negative viewport height and front-face culling
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- cpp
Línea de trabajo
Lee el capítulo sobre la disposición del Descriptor y los buffers enlazado en el issue. Céntrate en su análisis de la orientación de la matriz de proyección, la altura negativa del viewport y frontFace cuando está activado el descarte de caras traseras. Aclara cómo afecta cada enfoque al orden de los vértices de los triángulos en las coordenadas del framebuffer y distingue el volteo del eje Y en la etapa del viewport de los cambios en las coordenadas de clip-space y NDC. La explicación estará completa cuando quede claro si es necesario tener en cuenta el descarte de caras frontales en ambos enfoques.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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!
- Lenguaje dominante
- C++
- Estrellas
- 436
- Forks
- 136
- Merge medio
- 9 d 16 h
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de KhronosGroup/Vulkan-Tutorial
-
Stale GLSL-specific wording in the Vertex Input Description chapterPosiblemente ocupada @gpx1000 la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
KhronosGroup/Vulkan-Tutorial#528 · 1 asignado ·
-
Clarify vertex input bindingsPosiblemente ocupada @SaschaWillems la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
KhronosGroup/Vulkan-Tutorial#527 · 1 asignado ·
-
Tutorial text and code out of sync: missing queue.waitIdle() in drawFrame() leads to validation error VUID-vkQueueSubmit-pSignalSemaphores-00067Posiblemente ocupada @SaschaWillems la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
KhronosGroup/Vulkan-Tutorial#525 · 1 asignado ·
-
Simple Engine audio chapter: sources are not actually spatializedPosiblemente ocupada @gpx1000 la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
KhronosGroup/Vulkan-Tutorial#524 · 1 asignado ·
-
Multithreading chapter still talks about render passesQuizá libre de nuevo @SaschaWillems la tomó hace 34 días y no hay ningún pull request abierto. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
KhronosGroup/Vulkan-Tutorial#519 · 1 asignado ·
Todos los issues de KhronosGroup/Vulkan-Tutorial
Issues similares
-
[Bug] [Go] Ack returns nil when the server answers with a non-OK statusPosiblemente ocupada @leizhiyuan la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
apache/rocketmq-clients#1465 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 2 días
-
bug IO
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
MrNeRF/LichtFeld-Studio#3824 ·
Los mantenedores suelen responder en 1 día
-
pnnx: manual tanh GELU fusion loses the approximation modePosiblemente ocupada @ktz03 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Tencent/ncnn#7175 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
throneproj/Throne#2043 ·
Los mantenedores suelen responder en 2 días