首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFrame指定WebGL版本

AFrame指定WebGL版本
EN

Stack Overflow用户
提问于 2020-12-11 19:40:00
回答 2查看 379关注 0票数 1

AFrame 1.1.0使用的是THREE.js 123,默认情况下现在使用WebGL2。

一些AFrame组件还没有使用WebGL2。如果我们可以将AFrame与WebGL1结合使用,那就太好了。THREE.js仍然支持WebGL1呈现。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-12 01:25:09

根据AFrame的维护者,目前1.1.0是不可能做到这一点的。

AFrame在a-scene.js setupCanvas()中创建自己的画布,因此不能在已经设置了webgl1上下文的情况下传入画布。

最后,我们为我们自己版本的AFrame做了一个补丁。您可以在这里看到指定是否使用WebGL2与WebGL1使用renderer系统的逻辑。

https://github.com/8thwall/8frame/commit/533c4304f20153834a85f60a19e161e61ce71ec6

即使是修补程序,webgl1仍然存在关于着色器GLSL兼容性的问题。

票数 0
EN

Stack Overflow用户

发布于 2020-12-11 20:43:53

在创建呈现器时,可以将传递您自己的画布和上下文转换为构造函数,而不是让引擎创建自己的。因此,您可以简单地从其中获取<canvas> HTMLElement,请求WebGL1上下文,并在初始化呈现程序时使用它们:

代码语言:javascript
复制
var myCanvas = document.getElementById('myCanvas');
var gl = canvas.getContext('webgl');

var renderer = new WebGLRenderer({
    canvas: myCanvas,
    context: gl
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65257598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档