Extend blue noise dithering from 2D patterns to 4D patterns

Aperta
#71 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
32/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
cpp

Direzione di ricerca

Non vengono indicati file, test o punti di ingresso. Inizia individuando le implementazioni esistenti di 2D spatial blue-noise dithering e Z-Order dithering, quindi studia come vengono ottimizzati e valutati i pattern di primary-sample-space. Il lavoro è completato quando le proprietà di blue-noise vengono estese a tutte e quattro le dimensioni senza degradare la qualità 2D o la convergenza all’interno del pixel.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

For each 4D pattern in primary sample space, currently only the first 2 dimensions have spatial blue noise dithering between pixels. Ideally the blue noise properties would be present across the whole 4D pattern. This shortcoming was identified after user testing and gathering feedback, with clearly sub-par results shown.

Z-Order dithering was tested, which does stratify across all 4 dimensions. However, this method is not progressive. First attempts to make the method progressive were not successful as these lead to a reduction in quality of the original sample pattern and its convergence rate within a pixel.

Based on this, we believe the best approach is to continue using a priori / offline optimization approach, but extend this to optimize across 4D. Given the additional constraints on the optimization process, it's expected that a naive approach will reduce the quality of the results for 2D. So further exploration is required.

Lingua principale
C++
Stelle
106
Fork
7
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di AcademySoftwareFoundation/openqmc

Tutte le issue di AcademySoftwareFoundation/openqmc

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.