多个WebGLRenderer可以渲染同一个场景吗?

2024-03-07

是否可以使用两个实例WebGLRenderer,使用两个Canvas渲染相同的场景?

var renderer = new THREE.WebGLRenderer({
    canvas: canvas1
});
renderer.setSize(100,100);
var renderer2 = new THREE.WebGLRenderer({
    canvas: canvas2
});
renderer2.setSize(100,100);
var mesh = new THREE.Mesh(
    new THREE.BoxGeometry(100,100,100)
);
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera();
camera.position.z = 500;
scene.add(mesh);

function draw(){ 
    //try commenting the first render out
    //it will allow the other renderer to draw
    renderer.render(scene,camera); 
    renderer2.render(scene,camera);
    requestAnimationFrame(draw);
}
draw();

在这个小提琴中,当我按照上述操作时,我只能在给定时间在一张画布上渲染。http://jsfiddle.net/ehsanziya/sbdogbLw/1/ http://jsfiddle.net/ehsanziya/sbdogbLw/1/


不,但是您可以使用视口来解决问题,例如this http://threejs.org/examples/webgl_multiple_views.html或视口和剪刀设置,例如this https://stackoverflow.com/questions/30608723/is-it-possible-to-enable-unbounded-number-of-renderers-in-three-js/30633132#30633132.

请注意,我没有将代码发布到第一个,因为这是一个不常见的解决方案。我没有将代码发布到第二个,因为它已经出现堆栈溢出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个WebGLRenderer可以渲染同一个场景吗? 的相关文章

  • THREE.js 正交相机缩放到鼠标点

    我正在为我们的 THREE js 应用程序开发正交相机 本质上 该相机将以 2D 方式向用户呈现场景 用户可以选择在 2D 和 3D 相机之间切换 该相机将允许平移和缩放到鼠标点 我可以进行平移 也可以进行缩放 但不能缩放到鼠标点 这是我的
  • Threejs 变换矩阵排序

    我想知道 Threejs 如何对多个矩阵进行排序 例如 var mesh new THREE Mesh geometry material mesh position set 0 20 0 T transform matrix mesh r
  • 如何让Three.js全屏显示?

    我想用 Three js 制作游戏 但如何使其全屏显示 我看见本文 http learningthreejs com blog 2011 11 17 lets make a 3d game make it fullscreen 并且我在代码
  • 该浏览器无法识别 React Three Fiber 网格标签

    我正在关注 Youtube 上的 3d 作品集教程 但遇到了这个错误 在这里 我尝试渲染网格 但控制台显示警告 此元素在此浏览器中无法识别 浏览器正在渲染其余部分 但这部分代码没有被渲染 这是代码块 const Computers gt c
  • 为什么音频可视化直播无法在移动设备/Safari 上运行?

    我正在尝试基于 Three js 示例制作音频直播可视化工具 https trijs org examples q visua webaudio visualizer https threejs org examples q visua w
  • 如何在 Three.js 中使用反射?

    我想在带有 Three js 的 WebGL 页面中拥有一个反射立方体表面 它应该类似于手机显示屏 反射一些光 但它仍然必须是黑色的 我创建了一个反射立方体 以及反射球体 的示例 并附有详细的注释 现场版本位于 http stemkoski
  • Material.alphaTest 是什么意思?

    在过去的几天里 我一直在非相交对象的透明度方面遇到重大问题 我遇到了设置的建议alphaTest将材料的值调整为0 5 从而解决了问题 太好了 但我想更好地理解它的含义以及它如何如此优雅地解决问题 有人可以建议吗 从一个简单的实验来看 这似
  • 将 A 框架与 Three.js 相结合

    我想知道 是否可以将 Three js 元素添加到 A 框架场景中 假设 A frame 是基于 Three js 构建的 并且 three Version 0 74 0 登录到你的控制台这不应该是一件奇怪的事情 对吧 我在我的 A 框架场
  • Three.js 中的文本几何

    我在 Three js r74 中的 TextGeometry 遇到一些问题 我该如何正确实施 这是我的代码笔 codepen io cheesyeyes pen eJqZxK 提前致谢 好吧 对于每个正在寻找简单答案而不是链接和其他超载示
  • 星系模拟:更改点的颜色并在鼠标悬停时显示文本

    我正在尝试创建模拟 https riteshsingh github io galaxies 4673 个最近星系的位置 星系是点 我想为鼠标悬停时的点着色并加载星系的名称 我花了很多天试图实现它 我可以更改颜色以及进行基本的光线投射 但是
  • 如何在 Three.js 中将 geoJSON 绘制为网格而不是线条,并填充颜色?

    我正在使用 Three js 制作一个地球仪 并将添加一些数据层 所有图层都将从 geoJSON 创建 我已将其设置为使地球仪 第一个数据文件 包含国家 地区 显示为线条 这使用三GeoJSON https github com jdomi
  • FontLoader 和 TextGeometry 未在 Threejs 中正确导入

    我正在尝试在 BoxGeometry 侧面的前 右 左和顶部添加 3D 文本 我实现了这个代码如下 loadFont gt const loader new THREE FontLoader loader load https threej
  • 在 Three.js 中渲染具有大量对象的多个场景的最佳方式

    想象一下 您想要绘制两个场景 每个场景都有数百个球体 并提供在这些场景之间切换的功能 做到这一点的最佳方法是什么 目前 一个开关大约需要 4 到 5 秒 因为我要删除 创建和绘制每个开关上的所有球体 下面是在场景切换上运行的代码示例 cle
  • 一次性渲染阴影

    考虑到阴影投射的成本 我想知道对于动态定位的静态对象 例如 程序城市 是否有一个功能或可能 实验性的方法可以在 Three js 中仅渲染一次阴影贴图 甚至在 webgl 中 因此 结果可以在静态对象的下一帧中免费使用 仅当物体移动时才会进
  • 将颜色渐变应用于网格上的材质 - Three.js

    我有一个 STL 文件加载到我的场景中 并将单一颜色应用于 phong 材质 我想要一种方法 将两种颜色应用于该网格物体的材质 并在 Z 轴上应用渐变效果 如下例所示 渐变花瓶 https i stack imgur com Ty9gq j
  • 如何计算给定坐标处相机可见矩形的大小? [复制]

    这个问题在这里已经有答案了 我制作了一个小型的 Three js 应用程序 它将一堆圆圈从画布的底部移动到顶部 let renderer scene light circles camera initialize animate funct
  • 使用 ThreeJS 获取球体纹理上的点击位置

    目前 我有一个带有纹理的球体 它绕 y 轴旋转 我还有在 3D 空间中单击的位置 以及球体上的旋转位置 我认为 目标 获取纹理上的位置 例如 我想获取我点击的图像的哪个方块 参见示例球体和下图 在实践中 我不会使用此图像 但我觉得这将是一个
  • Three.js 设置并读取相机外观向量

    而不是使用camera rotation或lookAt 函数旋转相机 我想将外观矢量直接传递给相机 是否可以直接设置相机外观矢量以及是否可以从相机读取外观矢量 相机没有 外观矢量 因此无法设置它 但是 您可以构造一个point通过将您的外观
  • Three.js - 将 WebGL 和 CSS3D 与 iFrame 混合

    我准备了一个混合的工作页面WebGL and CSS3D 在SO的一点帮助下here https stackoverflow com questions 24681170 three js properly blending css3d a
  • 在 Webpack 中使用 Three.js 以便我可以使用 OrbitControls 的正确方法是什么?

    在我的 webpack 配置中 resolve alias three path resolve node modules three build three js OrbitControls path resolve node modul

随机推荐