Code generation only works for PixelShader (Dx11) / Fragment Shader (OpenGL)

Offen
#2,144 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
cpp

Rechercherichtung

Beginne damit, den generierten Shader-Code für das Sampling von 1D- und 3D-Lookup-Texturen in den DirectX- und OpenGL-Backends zu lokalisieren. Vergleiche die aktuellen Sampling-Ausdrücke mit dem angeforderten Verhalten mit explizitem LOD 0 und überprüfe anschließend, dass der generierte Code Compute- und andere Nicht-Pixel-Stages ohne automatische Mip-Auswahl unterstützt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

When performing lookup table sampling, OpenColorIO uses the following :

outColor.r = ocio_lut1d_0.Sample(ocio_lut1d_0Sampler, ocio_lut1d_0_computePos(outColor.r)).r;

This makes it impossible to use the generated code outside of a pixel shader, since in compute or other stages, we are not able to have automatic mip selection.

generated code should be :

outColor.r = ocio_lut1d_0.SampleLevel(ocio_lut1d_0Sampler, ocio_lut1d_0_computePos(outColor.r),0).r;

This is the same in OpenGL where we should enforce LOD = 0

This change should be for both 3d and 1d lookup textures.

I'm happy to make a PR if needed, if you prefer to avoid potential breaking changes, I'm also happy to make it as an Option in settings:

`shaderDesc->useLodSampling(true);

Thank
Julien

Vorherrschende Sprache
C++
Sterne
2.1k
Forks
508
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus AcademySoftwareFoundation/OpenColorIO

Alle Issues in AcademySoftwareFoundation/OpenColorIO

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.