1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
---
title: WEBGL_compressed_texture_pvrtc
slug: Web/API/WEBGL_compressed_texture_pvrtc
translation_of: Web/API/WEBGL_compressed_texture_pvrtc
---
<div>{{APIRef("WebGL")}}</div>
<p>Расширение <code><strong>WEBGL_compressed_texture_pvrtc</strong></code> часть <a href="/en-US/docs/Web/API/WebGL_API">WebGL API</a> и представляет четыре <a href="https://en.wikipedia.org/wiki/PVRTC">сжатых формата текстур PVRTC</a>.</p>
<p>Сжатые текстуры уменьшают количество памяти, используемые в GPU для хранения, позволяя большее разрешение для текстур или большее количество текстур с одинаковым разрешением.</p>
<p>WebGL расширения доступны через метод {{domxref("WebGLRenderingContext.getExtension()")}}. Для подробностей смотри также <a href="/en-US/docs/Web/API/WebGL_API/Using_Extensions">Использование расширений</a> в <a href="/en-US/docs/Web/API/WebGL_API/Tutorial">туториале по WebGL.</a></p>
<div class="note">
<p><strong>Доступность: </strong>Обычно PVRTC доступен только на мобильных устройствах с чипсетом PowerVR. Используется во всех поколениях iPhone, iPod Touch и iPad и поддерживается на определённых Android устройствах, использующих PowerVR GPU.</p>
<p>Версии контекста, поддерживающие расширение: {{domxref("WebGLRenderingContext", "WebGL1", "", 1)}} , и {{domxref("WebGL2RenderingContext", "WebGL2", "", 1)}}.</p>
</div>
<h2 id="Константы">Константы</h2>
<p>Форматы сжатых текстур представлены четырьмя константами и могут быть использованы в двух функциях:<br>
{{domxref("WebGLRenderingContext.compressedTexImage2D", "compressedTexImage2D()")}} — параметры высота и ширина должны соответствовать степени 2<br>
{{domxref("WebGLRenderingContext.compressedTexSubImage2D", "compressedTexSubImage2D()")}} — параметры высоты и ширины должны быть равны размеру текстуры, а значения параметров <code>xoffset</code> и <code>yoffset</code> должны быть 0.</p>
<dl>
<dt><code>ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG</code></dt>
<dd>RGB сжатие в 4-битном режиме. Один блок на каждые 4×4 пикселей.</dd>
<dt><code>ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG</code></dt>
<dd>RGBA сжатие в 4-битном режиме. Один блок на каждые 4×4 пикселей.</dd>
<dt><code>ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG</code></dt>
<dd>RGB сжатие в 2-битном режиме. Один блок на каждые 8×4 пикселей.</dd>
<dt><code>ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG</code></dt>
<dd>RGBA сжатие в 2-битном режиме. Один блок на каждые 8×4 пикселей.</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
<pre class="brush:js">var ext = gl.getExtension('WEBGL_compressed_texture_pvrtc');
var texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.compressedTexImage2D(gl.TEXTURE_2D, 0, ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG, 512, 512, 0, textureData);
</pre>
<h2 id="Спецификации">Спецификации</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
<tr>
<td>{{SpecName('WEBGL_compressed_texture_pvrtc', "", "WEBGL_compressed_texture_pvrtc")}}</td>
<td>{{Spec2('WEBGL_compressed_texture_pvrtc')}}</td>
<td>Начальное определение.</td>
</tr>
</tbody>
</table>
<h2 id="Браузерная_совместимость">Браузерная совместимость</h2>
<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
<p>{{Compat("api.WEBGL_compressed_texture_pvrtc")}}</p>
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
<li><a href="https://en.wikipedia.org/wiki/PVRTC">PVRTC Texture Compression – Wikipedia</a></li>
<li>{{domxref("WebGLRenderingContext.getExtension()")}}</li>
<li>{{domxref("WebGLRenderingContext.compressedTexImage2D()")}}</li>
<li>{{domxref("WebGLRenderingContext.compressedTexSubImage2D()")}}</li>
<li>{{domxref("WebGLRenderingContext.getParameter()")}}</li>
</ul>
|