我如何将WebGL相机的宽高比设置为画布(窗口)宽高比
How can Iset WebGL camera aspect ratio to canvas (window) aspect ratio?
我已经让我的webGL内容填充浏览器窗口使用:
css:canvas
{
float: left;
width: 100%;
height: 100%;
}
也:
function webGLStart() {
var canvas = document.getElementById("cool3D");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
...
到目前为止,这对于保持完全覆盖是有效的,无论窗口或全屏的大小。问题是分配相机的长宽比以避免失真。
如何将其设置为~"window.innerWidth/window.innerHeight"?OnWindowResize吗?
这与视口无关。它实际上是透视矩阵的函数。您的代码可能会有所不同,但在我自己的代码中,每次检测到窗口大小被调整时,我都会执行以下操作:
mat4.perspective(45.0, canvas.width/canvas.height, znear, zfar, projectionMat);
它更新我的投影矩阵以使用适当的长宽比(宽度/高度)。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- Javascript排序的图像弹出窗口..可以't单独弹出
- 窗口大小html css
- 弹出窗口出现,然后退出
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Javascript更新孙窗口中的表单元素
- 如何在选项卡上定义属性'的主窗口对象
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 召回窗口加载事件 - javascript
- 为什么不显示警报窗口
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Chrome应用程序调整窗口大小保持纵横比
- 新选项卡被弹出窗口阻止程序阻止
- 如何访问UIWebView'的子窗口上下文
- 我如何将WebGL相机的宽高比设置为画布(窗口)宽高比
- Javascript将窗口大小调整为原始宽高比
- 在收缩时保留浏览器窗口的宽高比