/
githubmirror
/
pixijs
Обзор
Документация
Войти
/
githubmirror
/
pixijs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
src/rendering/renderers/shared/texture/__tests__/GLTextureSystem.test.ts
47 строк
2 KB
Mat Groves
fix(GlTextureSystem): reset premultiply alpha state on resetState call and update WebGL settings (#11342)
27 мар 2025, 15:00
Не верифицирован
27 мар 2025, 15:00
2efd98f
Код
Авторство
О чём код?
import { getTexture, getWebGLRenderer } from '@test-utils'; import type { WebGLRenderer } from '~/rendering'; describe('GLTextureSystem', () => { it('should generate canvas from texture', async () => { const renderer = (await getWebGLRenderer()) as WebGLRenderer; const texture = getTexture({ width: 10, height: 10 }); const canvas = renderer.texture.generateCanvas(texture); expect(canvas).toBeInstanceOf(HTMLCanvasElement); expect(canvas.width).toBe(texture.width); expect(canvas.height).toBe(texture.height); }); it('should get pixels from texture', async () => { const renderer = (await getWebGLRenderer()) as WebGLRenderer; const texture = getTexture({ width: 10, height: 10 }); const pixelInfo = renderer.texture.getPixels(texture); expect(pixelInfo.pixels).toHaveLength(texture.width * texture.height * 4); expect(pixelInfo.width).toBe(texture.width); expect(pixelInfo.height).toBe(texture.height); }); it('should reset premultiply alpha state when resetState is called', async () => { const renderer = await getWebGLRenderer({}) as WebGLRenderer; const gl = renderer.gl; // Force internal state to true (different from default) renderer.texture['_premultiplyAlpha'] = true; gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); // Call reset state renderer.texture.resetState(); // Verify internal state was reset expect(renderer.texture['_premultiplyAlpha']).toBe(false); expect(gl.getParameter(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL)).toBe(false); }); });