Godot: Ошибка GLES2 с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π° для эффСкта ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ исчСзновСния

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 30 нояб. 2018  Β·  1ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: godotengine/godot

ВСрсия Π“ΠΎΠ΄ΠΎ:
v3.1.alpha.calinou.5b8dde4

ОБ / устройство, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π΅Ρ€ΡΠΈΡŽ:
Устройства с Windows 10 ΠΈ Android протСстированы

ОписаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:
Π― написал собствСнный ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² основном заставляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡΡ‡Π΅Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ clip_height. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΠΈΠΆΠ½ΠΈΡ… 50% ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° GLES3, Π½ΠΎ Π½Π΅ Π½Π° GLES2.

Π― создал ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.
Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит Π½Π° GLES3
gles3

А Π²ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит Π½Π° GLES2
gles2

ДСйствия ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ:
Π― смог Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² основном Π½Π° эти Π΄Π²Π΅ строки ΠΊΠΎΠ΄Π° ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π°:

    vec4 world_vertex = camera_matrix * vec4(VERTEX, 1.0);

    ALPHA = smoothstep(1, 0,  (world_vertex.y - clip_height)/fade_offset);

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ пСрСдаСтся ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½Π½ΠΎΠ³ΠΎ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π°. К соТалСнию, я Π½Π΅ знаю, ΠΊΠ°ΠΊ дальшС ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ минимального воспроизвСдСния:
AlphaIssue.zip

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

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡƒΠ»ΠΎΠ²! Π― нашСл ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° компилятора ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² gles2. Он мСняСт мСстами INV_CAMERA_MATRIX ΠΈ CAMERA_MATRIX Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π― ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡŽ PR, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это Ρ‡Π΅Ρ€Π΅Π· нСсколько ΠΌΠΈΠ½ΡƒΡ‚. А ΠΏΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ INV_CAMERA_MATRIX Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CAMERA_MATRIX .

>ВсС замСчания

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡƒΠ»ΠΎΠ²! Π― нашСл ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° компилятора ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² gles2. Он мСняСт мСстами INV_CAMERA_MATRIX ΠΈ CAMERA_MATRIX Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π― ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡŽ PR, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это Ρ‡Π΅Ρ€Π΅Π· нСсколько ΠΌΠΈΠ½ΡƒΡ‚. А ΠΏΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ INV_CAMERA_MATRIX Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CAMERA_MATRIX .

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