我正在使用 javascript 进行编码。我制作了一些课程,现在我正在使用 Three.js 探索 webgl 世界
我正在尝试这个函数,该函数在 Threes.org 的所有示例中都非常常用:
function onWindowResize() {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
}
Run Code Online (Sandbox Code Playgroud)
通过此功能,当我减少或增加浏览器窗口的宽度时,我可以使几何图形居中,当我减少或增加浏览器窗口的高度时,我可以使几何图形变小或变大。
但现在的问题是,当我降低窗口的高度时,我可以看到我的几何图形,因为它居中且较小。但是当我减小窗口的宽度时,我看不到所有的几何图形,因为它居中但不更小。
在此示例中:http://codepen.io/gnazoa/pen/BjoBZz我试图object.scale.devideScalar(1.5);在我的onWindowResize()函数中使用避免此问题,但它不会做出改变。
我正在为此寻找解决方案,因为我认为这对于正确的体验非常重要,因为目前,我在桌面屏幕上看到了这个几何图形:
我的 iPhone 中这个不完整的几何图形:
你有什么建议吗?这个问题有办法解决吗?
我正在编写第一步.我在网上做了一些课程,然后我玩了三个实验,现在我想继续学习Shaders的实验.
我找到了Shadertoy.com,真是太神奇了!有许多不同的实验具有令人难以置信的效果.我试图在Three.js中使用其中一个着色器,但并不那么容易.
着色器已经写好了,这是真的.但我不知道该怎么做,我不知道如何使用它.
因为它不仅复制并粘贴代码.我必须写的关系可以将一些这些惊人的效果应用于Three.js几何体.我必须使用制服,我不知道如何知道我可以使用哪些制服,以及如何使用它们.
我开始看到Shadertoy中的教程和Internet上的一些文章,它看起来像是非常抽象的东西.我认为在开始理解这门语言之前我应该学习很多数学.
你有什么建议开始吗?
也许比我想象的更简单,我可以在我的HTML文档上复制,粘贴和试验代码?