Skip to content

fix(webgl2): correct viewport height, add opt-in WebGL2NoColorConversion flag - #997

Open
Endymi0n74 wants to merge 1 commit into
redphx:typescriptfrom
Endymi0n74:feat/webgl2-viewport-nocolor
Open

fix(webgl2): correct viewport height, add opt-in WebGL2NoColorConversion flag#997
Endymi0n74 wants to merge 1 commit into
redphx:typescriptfrom
Endymi0n74:feat/webgl2-viewport-nocolor

Conversation

@Endymi0n74

Copy link
Copy Markdown

Quoi

Deux corrections indépendantes du renderer WebGL2, dans un seul fichier + le flag associé :

  1. Viewport corrigé : gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferWidth) utilisait la largeur pour la hauteur. Avec un canvas non carré, le rendu était étiré/recadré. Correct : gl.drawingBufferHeight.
  2. Flag opt-in WebGL2NoColorConversion : gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE) saute la gestion des couleurs du navigateur sur les uploads vidéo — un léger décalage de couleurs est possible, le flag est désactivé par défaut (DEFAULT_FLAGS + type BxFlags).

Pourquoi c'est sûr

  • Comportement par défaut inchangé (le flag est false).
  • Le viewport est une vraie correction : les deux dimensions du drawing buffer existent, la hauteur était simplement mal lue.
  • Aucun chemin appelé en plus — pixelStorei n'est exécuté que si le flag est activé par le build (window.BX_FLAGS).

Détails

  • 3 fichiers : webgl2-player.ts (+7/−1), bx-flags.ts (+1), types/index.d.ts (+1)
  • Build : bun build.ts --version 6.7.12 --variant full → exit 0 (gate eslint + TS)
  • Le bundle régénéré ne contient que ces changements (aucune fuite d'autres patches)

…n (flag)

- gl.viewport() used drawingBufferWidth for both dimensions; the height is
  now drawingBufferHeight (a non-square canvas rendered stretched/scaled).
- New opt-in BX_FLAGS.WebGL2NoColorConversion: skips the browser color
  management on video uploads (UNPACK_COLORSPACE_CONVERSION_WEBGL=NONE).
  Off by default — slight color shift possible on some machines.

Both are one-line behaviour changes on the WebGL2 renderer path. Default
behaviour is unchanged (flag off).

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant