Three.js: SMAAPass: ВСкстура ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π° для обновлСния, Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠ΅

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 29 ΠΎΠΊΡ‚. 2018  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: mrdoob/three.js

ОписаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

ΠŸΡ€ΠΈ использовании SMAAPass рСгистрируСтся ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:
THREE.WebGLRenderer: Texture marked for update but image is incomplete
Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Image.complete Π»ΠΎΠΆΠ½ΠΎ, послС установки Image.complete это выглядит ΠΊΠ°ΠΊ асинхронноС.

По возмоТности Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΆΠΈΠ²ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с этих шаблонов:

ВСрсия Three.js
  • [] Dev
  • [x] r97
  • [] ...
Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€
  • [x] ВсС ΠΎΠ½ΠΈ
  • [] Chrome
  • [ ] Fire Fox
  • [] Internet Explorer
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы
  • [x] ВсС ΠΎΠ½ΠΈ
  • [] Windows
  • [] macOS
  • [] Linux
  • [] Android
  • [] iOS
ВрСбования ΠΊ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ (Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°, устройство VR, ...)

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Для мСня это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π²Π·Π»ΠΎΠΌ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, рассмотритС Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†:

var image = new Image();
image.src = dataURL;

var texture = new THREE.Texture( image );

image.onload = function () {
    texture.needsUpdate = true;
};

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Ρ‹ ΠΏΡ€Π°Π². ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ исправлСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠ΄Π°. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ мСсто послС этой строки Π² SMAAPass :

var self = this;

setTimeout( function () {

        // assigning data to HTMLImageElement.src is asynchronous (see #15162)
        // using setTimeout() avoids the warning "Texture marked for update but image is incomplete"

    self.searchTexture.needsUpdate = true;
    self.areaTexture.needsUpdate = true;

}, 0 );

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ провСсти ΠΏΠΈΠ°Ρ€ с измСнСниями?

Для мСня это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π²Π·Π»ΠΎΠΌ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, рассмотритС Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†:

var image = new Image();
image.src = dataURL;

var texture = new THREE.Texture( image );

image.onload = function () {
    texture.needsUpdate = true;
};

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅

Π― измСню Π΅Π³ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ onload.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ