webgl相关内容
修改始于2016年:“multiply”值实现为 globalCompositeOperation 。 基本上,我有两个画布(一个是不可见的画布用于绘图),我想使用乘法混合模式将不可见的画布混合到可见的画布上。 Context.globalCompositeOperation 不包括乘法(但我认为应该使用 imageData 手动混合画布太慢了(我需要能够在60fps做到这一点)。
..
我想为一个参数化的Three.js网格对象创建一个导出为OBJ或STL链接。 与 http://www.3dtin.com 上的导出选项一样 $ b $ $ p 解决方案 要使用.obj格式的网格,我使用这个简单的函数: THREE.saveGeometryToObj = function(geometry){ var s =''; for(i = 0; i
..
我开始学习WebGL,因为我发现了一些旧的教程,我不知道什么是正确的方式在2014年? 我开始了 (基本),在教程中他们会说: use getContext('2d')如果你想使用WebGL,那么你把 3d 而不是 2d 但现在我正在学习,我发现教程谈论 getContext 'webgl'),而不是 getContext('3d')。 语法已更改?
..
是否可以在Canvas或WebGL中呈现HTML元素? (类似于在WebGL中如何绘制视频元素纹理) 解决方案 有一个尝试可以做80附近的工作%。无法呈现下拉列表,按钮等,但大多数页面中的项目都会呈现。 请从此处下载。 http://html2canvas.hertzen.com/ http://hertzen.com/experiments/jsfeedback/
..
使用Pixi.js并尝试将动画的一帧保存到图像。 canvas.toDataUrl应该工作,但我得到的是一个黑色的矩形。查看活动示例此处 代码I使用提取图像数据并设置图像是: var canvas = $('canvas')[0] var context = canvas.getContext('2d'); $('button')。click(function(){
..
可以从另一个画布的getImageData数组(在同一个html页面中)创建一个纹理(在canvas中的一个元素上使用)?也许没有three.js?非常感谢, Jennifer 解决方案 WebGL texImage2D 方法是它的最后一个参数可以是一个DOM元素而不是一个ArrayBuffer,在这种情况下,它将其渲染的内容复制到你的纹理对象。 例如: var can
..
对于我的来源,请访问 http://jsfiddle.net/fYtwf/ 背景 我有一个简单的3d模拟使用three.js,其中相机被立方体包围在3维。这些立方体可以帮助直观地查看相机在哪里查看,直到视图控件被编码和测试。我想创建一个简单的3D应用程序,其中相机通过向上,向下,向左和向右键。就像移动头一样 问题 在我目前的应用程序中,当面向前方, ,我们是成功的。然而,当
..
如何清理WebGL上下文程序并从GPU和dom元素中卸载程序,缓冲区和所有内容? 我想确保我们不是乱抛垃圾。 此外,如果可能的话,重用画布会更好(我不知道是否 2d 或 webgl 上下文)。 解决方案 每次引用您的gl上下文和所有gl对象和画布,并从DOM中删除画布。不幸的是,因为JavaScript是垃圾收集,所以不知道什么时候浏览器会释放内存。有一些一致性测试,试图测试他
..
由于webgl / opengl不支持文本绘制,因此可以使用2D上下文使用3D上下文和文本绘制绘制3D对象? 解决方案 不,不幸的是不。 HTML 5规格说,如果您在已经位于不同 getContext /scripting.html#concept-canvas-context-mode\">桌面模式,并且两个上下文不兼容,则返回 null 。 不幸的是“webgl”和“2d”
..
有没有办法从WebGL呈现缓冲区或屏幕外的帧缓冲区获取原始像素数据? 我使用WebGL做一些图像处理,例如模糊图像,调整颜色等等。 我使用帧缓冲区来渲染整个图像尺寸的纹理,然后使用该纹理以较小的尺寸在视口中显示。我可以获得缓冲区或纹理的像素数据,所以我可以在正常的画布2d上下文中使用它吗?或者,我仍然坚持将视口更改为完整的图像大小,并通过canvas.toDataURL()抓取数据?
..
function initTexture(src){ texture = gl.createTexture(); texture.image = new Image(); texture.image.onload = function(){ handleLoadedTexture(texture) } texture.image.src = src; } 我
..
我试图转换此页面上的画布元素使用以下代码段(例如在JavaScript控制台中输入): (function convertCanvasToImage(canvas){ var image = new Image(); image.src = canvas.toDataURL(“image / png”); return image; } )[0]);不幸的是,我得到的png是完全
..
我使用 glfx.js 编辑我的图片,但我尝试取得该图片的资料时使用 toDataURL()函数我得到一个空白图像(宽度与原始图像相同)。 奇怪的是,在Chrome脚本工作完美。 我想要提到的是图像加载在画布使用onload事件: img.onload = function(){ try { canvas = fx.canvas(); } catch(e){ al
..
我正在寻找一个函数,以确保给定的框或球体将在WebGL画布中可见,并且它将适合画布区域。 我使用透视摄像机,摄像机已经指向对象的中间。 我理解这可以通过改变FOV角度或通过沿着视图轴移动相机来实现。 任何想法如何使用ThreeJS可以实现这一点。 解决方案 这是我最终实现它: var camera = new THREE.PerspectiveCamera ,1,1000
..
在过去的一个月里,我一直在讨论WebGL,发现如果我创建和绘制一个大的顶点缓冲区,会导致低FPS。有人知道如果它是相同的,如果我使用OpenGL与C + +? 这是使用所使用的语言(在WebGL的情况下是JavaScript)还是GPU的瓶颈? WebGL
..
我使用相同的精确C ++代码渲染相同的场景,一次在Windows上的原生OpenGL,一次使用Emscripten到WebGL。场景中的一切看起来完全一样,除非我用alpha!= 1.0渲染。差异如下所示: 蓝色立方体颜色为(0.0,0.0,1.0,0.5 ) 用于渲染多维数据集的着色器除了绘制颜色之外没有什么作用。 右边是使用OpenGL的外观,它是预期的结果,只是蓝色半透明度
..
我创建一个3D多人游戏three.js所,在这里玩家可以加入现有的各种游戏。一旦“玩”点击,渲染器被添加到页面,全屏播放。这个伟大的工程,但问题是,当我退出全屏,它仍然保持追加。我想删除它,但我不知道什么时候! 所以,基本上,我在寻找,说事件“这个元素退出全屏。” 这是我怎么渲染追加到页: 容器=的document.getElementById('集装箱'); document.body.a
..
我一直在考虑使用three.js所的网站上一个有趣的实验。我想用一个当前实验(对此我已经有code代表),并把它作为我的网站的背景。 有人知道如何做到这一点? 我看到它在这里完成: http://janjorissen.be/ 三JS API: https://github.com/mrdoob/three。 JS /维基/ API的参考 解决方案 我通常使用iframe了点。因此,
..
我使用three.js所进行的WebGL加载的obj 但我有Windows Azure中加载的obj捉迷藏的Windows Server 2008时出现问题 我使用谷歌Chrome浏览器和它给了以下错误: http://websiteaddress.net/webGL/obj/test.mtl 404(未找到) 甚至,我用自己的原始来源$ C $ C加载obj文件具有相同的误差 和当
..
我在使用非恒定INT作为索引访问数组在片段着色器的麻烦。我已经删除了的公式,因为它不会在这里做多大意义呢,但我的code是为了计算基于当前像素tileID并用它来确定颜色。 下面是我的code: INT tileID =<插入公式这里取代;VEC3 colorTest;INT ArrayTest中[1024]; 为(中间体X = 0; X&下; 1024; X ++){ 如果(
..