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

Ouverte
#2,144 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
cpp

Piste de recherche

Commencez par localiser le code de shader généré pour l'échantillonnage de textures de recherche 1D et 3D dans les backends DirectX et OpenGL. Comparez les expressions d'échantillonnage actuelles avec le comportement demandé de LOD 0 explicite, puis vérifiez que le code généré prend en charge les étapes de compute et les autres étapes qui ne sont pas des étapes pixel sans sélection automatique du mipmap.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
C++
Étoiles
2.1k
Forks
505
Merge moyen
12 h 24 min
PR mergées (30 j)
2

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de AcademySoftwareFoundation/OpenColorIO

Toutes les issues de AcademySoftwareFoundation/OpenColorIO

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.