Donc, je viens de mettre à jour mon ordinateur portable vers un macbook à écran Retina et même si j'utilise des textures haute résolution avec répétition, elles semblent très floues.
Alors je me demande ce que je dois faire pour résoudre ce problème?
L'anisotropie est probablement ce que vous recherchez.
http://mrdoob.github.com/three.js/examples/webgl_materials_texture_anisotropy.html
ok cela a corrigé mon problème avec les textures répétitives, merci :) Cependant cela ne fonctionnait pas pour les textures non répétitives, une idée sur la façon dont cela peut être corrigé?
Ils ont probablement besoin de puissance de deux textures?
eh bien j'ai essayé d'augmenter la résolution des textures mais je ne vois pas d'amélioration. Sans vraiment savoir comment l'augmentation de la densité est gérée, je suppose que la texture est réduite à la taille de pixel appropriée de la face géométrique, mais qu'elle est ensuite redimensionnée par mon navigateur pour s'adapter à la densité de l'affichage.
En regardant de plus près ma texture répétée, je peux voir que si le réglage de l'anisotropie au maximum a considérablement augmenté la qualité, la texture n'est toujours pas aussi nette qu'elle devrait l'être
Difficile de dire ce qui se passe sans voir l'exemple ou au moins les captures d'écran, mais vous voudrez peut-être jeter un coup d'œil à ceci:
lien génial @alteredq ! a corrigé mes problèmes, tout semble net maintenant :)
Il suffit de laisser un commentaire ici pour quiconque le trouve, car je suis presque devenu fou en essayant de trouver une réponse et Google n'arrêtait pas de m'amener ici: j'avais exactement le même problème mais le mien était une solution très simple, il s'agissait simplement de définir le devicePixelRatio
dans le moteur de rendu (r72):
renderer.setPixelRatio(window.devicePixelRatio ? window.devicePixelRatio : 1);
_A noter que la configuration du devicePixelRatio
lors de la création de l'objet ne fonctionne pas. Peut-être un bug? _
_ À noter que la configuration du
devicePixelRatio
lors de la création de l'objet ne fonctionne pas. Peut-être un bug? _
Cela a été supprimé il y a quelque temps.
@mrdoob , @greggman : Pour renderer.setPixelRatio
_before_ en appelant renderer.setSize
.
@mietek En fait, je pense que cela a peut-être déjà été corrigé dans dev
involontairement déjà ...
il n'est pas du tout clair qu'il faille appeler renderer.setPixelRatio avant d'appeler renderer.setSize.
cela n'aide même pas, du moins il semble. c'est ce que j'obtiens dans la console safari:
et voici à quoi cela ressemble sur ipad:
comme vous le voyez, le rectangle semble être de bonne taille, mais la fenêtre réelle est 2x plus grande.
les choses semblent correctes dans le simulateur de chrome avec dpr = 2 mais sur iPad, elles ne le sont pas.
@makc avez-vous un lien?
[supprimé]
Il se passe autre chose ...
En utilisant les outils de développement de Safari, j'ai changé style="width: 418px
en style="width: 408px
et inversement et cela semble comme il se doit. Je parie qu'il y a d'autres règles css qui gâchent les choses.
il semble que le fait d'incliner la chose d'avant en arrière corrige également ce problème ... de toute façon,
setTimeout (function () {
renderer.domElement.style.width = (parseInt (renderer.domElement.style.width) - 1) + 'px';
setTimeout (function () {
renderer.domElement.style.width = (parseInt (renderer.domElement.style.width) + 1) + 'px';
}, 0);
}, 0);
n'a pas fonctionné du tout. retour à la planche à dessin ...
Commentaire le plus utile
Il suffit de laisser un commentaire ici pour quiconque le trouve, car je suis presque devenu fou en essayant de trouver une réponse et Google n'arrêtait pas de m'amener ici: j'avais exactement le même problème mais le mien était une solution très simple, il s'agissait simplement de définir le
devicePixelRatio
dans le moteur de rendu (r72):_A noter que la configuration du
devicePixelRatio
lors de la création de l'objet ne fonctionne pas. Peut-être un bug? _