Skip to content

Commit 3483e29

Browse files
committed
switch from webglstats to web3dsurvey
1 parent e786ecc commit 3483e29

8 files changed

+10
-10
lines changed

webgl/lessons/ko/webgl-cross-platform-issues.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ WebGL은 다양한 최소 지원 기능이 있지만 로컬 장치에서는 최
2525
* 허용되는 최대 텍스처 크기
2626

2727
2048이나 4096은 합리적인 제한으로 보입니다.
28-
적어도 2020년 현재 [99%의 기기들이 4096를 지원하지만 50%만이 4096 이상을 지원](https://webglstats.com/webgl/parameter/MAX_TEXTURE_SIZE)합니다.
28+
적어도 2020년 현재 [99%의 기기들이 4096를 지원하지만 50%만이 4096 이상을 지원](https://web3dsurvey.com/webgl/parameters/MAX_TEXTURE_SIZE)합니다.
2929

3030
참고: 최대 텍스처 크기는 GPU가 처리할 수 있는 최대 크기입니다.
3131
이건 GPU가 해당 크기를 제곱(2D 텍스처용)하거나 세제곱(3D 텍스처용)하는데 충분한 메모리가 있다는 뜻이 아닌데요.
@@ -119,7 +119,7 @@ WebGL은 다양한 최소 지원 기능이 있지만 로컬 장치에서는 최
119119
120120
WebGL1에서 vertex shader에 대한 값이 **0**임을 주의해야 합니다.
121121
참고로 너무 낙담하지 않아도 괜찮은데요.
122-
[모든 장치의 약 97%가 최소 4개를 지원](https://webglstats.com/webgl/parameter/MAX_VERTEX_TEXTURE_IMAGE_UNITS)합니다.
122+
[모든 장치의 약 97%가 최소 4개를 지원](https://web3dsurvey.com/webgl/parameters/MAX_VERTEX_TEXTURE_IMAGE_UNITS)합니다.
123123
그래도, 앱이 동작하지 않을 수 있다고 사용자에게 알릴 수 있는지 혹은 다른 shader로 fallback할 수 있는지 확인하는 게 좋습니다.
124124
125125
다른 제한도 있는데요.

webgl/lessons/webgl-cross-platform-issues.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Examples include:
2929
* The max texture size allowed
3030

3131
2048 or 4096 seems to be reasonable limits. At least as of 2020 it looks like
32-
[99% of devices support 4096 but only 50% support > 4096](https://webglstats.com/webgl/parameter/MAX_TEXTURE_SIZE).
32+
[99% of devices support 4096 but only 50% support > 4096](https://web3dsurvey.com/webgl/parameters/MAX_TEXTURE_SIZE).
3333

3434
Note: the max texture size is the maximum dimension the GPU can process. It
3535
doesn't mean that GPU has enough memory for that dimension squared (for a 2D
@@ -124,7 +124,7 @@ Examples include:
124124
</table>
125125
126126
It's important to note the **0** for a vertex shader in WebGL1. Note that that's probably not the end of the world.
127-
Apparently [~97% of all devices support at least 4](https://webglstats.com/webgl/parameter/MAX_VERTEX_TEXTURE_IMAGE_UNITS).
127+
Apparently [~97% of all devices support at least 4](https://web3dsurvey.com/webgl/parameters/MAX_VERTEX_TEXTURE_IMAGE_UNITS).
128128
Still, you might want to check so you can either tell the user that your app is not going to work for them or
129129
you can fallback to some other shaders.
130130

webgl/lessons/webgl-pulling-vertices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ And we get a textured cube using only 8 positions and
398398
Some things to note. The code is lazy and uses 1D
399399
textures for the positions and texture coordinates.
400400
Textures can only be so wide. [How wide is machine
401-
specific](https://webglstats.com/webgl/parameter/MAX_TEXTURE_SIZE) which you can query with
401+
specific](https://web3dsurvey.com/webgl/parameters/MAX_TEXTURE_SIZE) which you can query with
402402

403403
```js
404404
const maxSize = gl.getParameter(gl.MAX_TEXTURE_SIZE);

webgl/lessons/webgl-qna-how-to-render-large-scale-images-like-32000x32000.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Is there any way to get a snapshot from webgl canvas with a high-resolution ? Ca
1616

1717
4000x4000 pixel is 4000x4000x4 or 64meg of memory. 8000x8000 is 256meg of memory. Browser's don't like allocating that large chunks of memory and often set limits on the page. So for example you have an 8000x8000 WebGL canvas which requires 2 buffers. The drawingbuffer AND the texture being displayed on the page. The drawingbuffer might be anti-aliases. If it's 4x MSAA then it would require a gig of memory just for that buffer. Then you take a screenshot so another 256meg of memory. So yes, the browser for one reason or another is likely to kill your page.
1818

19-
On top of that WebGL has it's own limits in size. You can look up that limit which is effectively [`MAX_TEXTURE_SIZE`](https://webglstats.com/webgl/parameter/MAX_TEXTURE_SIZE) or [`MAX_VIEWPORT_DIMS`](https://webglstats.com/webgl/parameter/MAX_VIEWPORT_DIMS). You can see from those about 40% of machines can't drawing larger than 4096 (although if you [filter to desktop only it's much better](https://webglstats.com/webgl/parameter/MAX_VIEWPORT_DIMS?platforms=0000ff03c02d20f201)). That number only means what the hardware can do. It's still limited by memory.
19+
On top of that WebGL has it's own limits in size. You can look up that limit which is effectively [`MAX_TEXTURE_SIZE`](https://web3dsurvey.com/webgl/parameters/MAX_TEXTURE_SIZE) or [`MAX_VIEWPORT_DIMS`](https://web3dsurvey.com/webgl/parameters/MAX_VIEWPORT_DIMS). You can see from those about 40% of machines can't drawing larger than 4096 (although if you [filter to desktop only it's much better](https://web3dsurvey.com/webgl/parameters/MAX_VIEWPORT_DIMS?platforms=0000ff03c02d20f201)). That number only means what the hardware can do. It's still limited by memory.
2020

2121
One way to kind of maybe solve this issue is to draw the image in parts. How you do that will depend on your app. If you're using a fairly standard perspective matrix for all your rendering you can use slightly different math to render any portion of the view. Most 3d math libraries have a `perspective` function and most of them also have a corresponding `frustum` function that is slightly more flexible.
2222

webgl/lessons/webgl-skinning.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ The lower limit on WebGL is 64 vec4s which is only 8 mat4s and you probably
308308
need some of those uniforms for other things like for example we have `color`
309309
in the fragment shader and we have `projection` and `view` which means if
310310
we were on a device with a limit of 64 vec4s we could only have 5 bones! Checking
311-
[WebGLStats](https://webglstats.com/webgl/parameter/MAX_VERTEX_UNIFORM_VECTORS)
311+
[WebGLStats](https://web3dsurvey.com/webgl/parameters/MAX_VERTEX_UNIFORM_VECTORS)
312312
most devices support 128 vec4s and 70% of them support 256 vec4s but with
313313
are sample above that's still only 13 bones and 29 bones respectively. 13 is
314314
not even enough for a early 90s Virtua Fighter 1 style character and 29 is not

webgl/lessons/webgl-smallest-programs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ const [minSize, maxSize] = gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE);
167167
```
168168

169169
The WebGL spec only requires a max size of 1.0. Fortunately
170-
[most if not all GPUs and drivers support a larger size](https://webglstats.com/webgl/parameter/ALIASED_POINT_SIZE_RANGE).
170+
[most if not all GPUs and drivers support a larger size](https://web3dsurvey.com/webgl/parameters/ALIASED_POINT_SIZE_RANGE).
171171

172172
After you set `gl_PointSize` then when the vertex shader exits, whatever value you set on `gl_Position` is converted
173173
to screen/canvas space in pixels, then a square is generated around that position that is +/- gl_PointSize / 2 in all 4 directions.

webgl/lessons/zh_cn/webgl-skinning.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ twgl.drawBufferInfo(gl, bufferInfo, gl.LINES);
258258
另一个需要注意的小事,上面的例子权重和骨骼下标使用的是浮点数,可以使用`UNSIGNED_BYTE`来节省一些空间。
259259

260260
不幸的是着色器中可以使用的全局变量的数量是有限制的。对WebGL比较低的限制是64个vec4,即8个mat4 你可能需要一些全局变量用于其他的事情像片断着色器中的`color` 以及`projection``view`这意味着如果我们在一个限制为64个vec4的设备上,我们只能有5个骨骼!查看
261-
[WebGLStats](https://webglstats.com/webgl/parameter/MAX_VERTEX_UNIFORM_VECTORS)
261+
[WebGLStats](https://web3dsurvey.com/webgl/parameters/MAX_VERTEX_UNIFORM_VECTORS)
262262
大多数设备支持128个vec4,其中70%支持256个vec4 但是对于上面的例子,这分别只有13个骨骼和29个骨骼。13对于90年代VR战士1风格的角色尚且不够,29与现代游戏中使用的数字相距甚远。
263263

264264
关于这个问题有很多方法。一个是离线预处理模型并打破它们为多个部分,每个使用不超过N个骨骼。这很复杂并带来了自身的一系列问题。

webgl/lessons/zh_cn/webgl-smallest-programs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ gl.drawArrays(gl.POINTS, offset, count)
155155
const [minSize, maxSize] = gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE);
156156
```
157157

158-
WebGL 规范只要求最大值为 1.0。幸运的是,[绝大多数 GPU 和驱动支持更大的值](https://webglstats.com/webgl/parameter/ALIASED_POINT_SIZE_RANGE)
158+
WebGL 规范只要求最大值为 1.0。幸运的是,[绝大多数 GPU 和驱动支持更大的值](https://web3dsurvey.com/webgl/parameters/ALIASED_POINT_SIZE_RANGE)
159159

160160
在你设置 `gl_PointSize` 后,当顶点着色器退出后,无论你给 `gl_Position` 设置了什么值,
161161
都将被转变成在屏幕/画布中的像素值,然后会以这个位置为中点,

0 commit comments

Comments
 (0)