Small improvement

pull/365/head
ShinghoiXu 2 years ago committed by GitHub
parent 8ad0e15e77
commit 5109015189
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -22,8 +22,8 @@ vec4 texture2D(sampler2D texture, vec2 coordinates)
现在既然你已经了解了如何正确的加载纹理,是时候来试验性地探索我们究竟能用这一技巧做些什么了。快试试下面这些:
* 把原前的纹理缩小到原先的一半。
* 把原的纹理旋转90度。
* 把纹理缩小到原先的一半。
* 把原的纹理旋转90度。
* 将鼠标位置赋值给纹理坐标来移动纹理。
为什么你要为纹理痴狂呢首先请忘了通道那可悲的255值吧一旦你的图像被转换成了一个```uniform sampler2D```所有的值都会在0.0和1.0的区间范围内(小数精度取决于你把```precision```设置成了多少)。这就是着色器能创造出美轮美奂的后处理效果的原因。
@ -42,7 +42,7 @@ vec4 texture2D(sampler2D texture, vec2 coordinates)
![Joseph Nicéphore Niépce (1826)](nicephore.jpg)
我们该如何解决这个问题呢?我们需要知道这一图像的原始比例,好在放大或缩小纹理的时候正确地保持它原始的[*宽高比*](http://en.wikipedia.org/wiki/Aspect_ratio)。为此,纹理的宽和高是以```uniform```的形式传递进着色器的——在我们的示例框架里是以纹理名后跟```Resolution```的```uniform vec2```传递进来的。一旦着色器里有了这些信息,我们就可以将纹理分辨率的```宽度```除以```高度```来获得纹理的宽高比。最后,把这个比例和```y```坐标相乘,我们就可以实现伸缩这根轴来让纹理匹配其原始比例。
我们该如何解决这个问题呢?我们需要知道这一图像的原始比例,好在放大或缩小纹理的时候正确地保持它原始的[*宽高比*](http://en.wikipedia.org/wiki/Aspect_ratio)。为此,纹理的宽和高是以```uniform```的形式传递进着色器的——在我们的示例框架里是以纹理名后跟```Resolution```的```uniform vec2```传递进来的。一旦着色器里有了这些信息,我们就可以将纹理分辨率的```宽度```除以```高度```来获得纹理的宽高比。最后,把这个比例和```y```坐标相乘,我们就可以实现伸缩这根轴来让纹理匹配其原始比例。
取消 21 行的注释来实操一下吧。

Loading…
Cancel
Save