问题标签 [webgl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
16860 浏览

websocket - IE9 是否支持 WebGL 和/或 WebSockets?

IE9 是否支持 WebGL 和/或 WebSockets?

0 投票
3 回答
3061 浏览

opengl-es - 是否有我可以阅读/学习的 WebGL API?

更新:我的 O3D 情况得到了理顺,但我还没有确定下面列出的库之一。我想我会在所有项目中尝试散点图,看看哪一个可以轻松处理数据并且最容易编程。

我一直在阅读http://learningwebgl.com/blog/上的教程以尝试使用一种新语言,而 WebGL 让我着迷。我也去过谷歌代码页面: http ://code.google.com/p/o3d/

那似乎是折旧的网站?我在您下载的 samples.zip 中看到,有一个我想要完成的完美示例,但它使用

从我一直在学习的内容来看,没有包含这样的基本文件(可能需要 sylvester.js 来进行计算)。

我把项目搞混了吗?有什么地方可以查看 WebGL 中可用的类和方法吗?我正在尝试从这里做一个 scatter-chart.html 示例。

方法、类名,实际上一切的完成方式与 learningwebgl.com 网站和那些示例不同。此处列出的可用调用和类与我在 WebGL 的现场演示中看到的 WebGL 调用完全不同

我哪里错了?

例如,我在尝试模仿的演示中看到了这个元素:

但是 WebGL 中没有渲染图对象/方法,也没有迹象表明它被重命名了。我是否应该放弃查看旧的 o3d 示例并尝试拼凑一个读取 API 的图表,或者我可以通过下面链接的这个 API 文档找到从 o3d 到 WebGL 转换的更深入解释?

0 投票
2 回答
4275 浏览

3d - Open GL ES/WebGL 中有 glPolygonMode 的替代品吗?

我想以线框模式创建游戏,但是没有 glPolygoneMode 命令我不知道该怎么做。我可以用可用的东西自己编码吗?我对opengl完全陌生。如果有人这样做并且有代码片段,我很乐意看到它。任何帮助表示赞赏。

0 投票
2 回答
8211 浏览

opengl - GLSL - 为什么保留按位运算符?使用按位运算(模拟按位的浮点运算)有什么好的替代方法

我正在 WebGL 中进行一些实验,其中一个是 XOR 效果片段着色器。由于某种原因,所有按位运算符都保留在 GLSL 中,并且在使用时会导致编译器错误。为什么这些运营商是非法的?我可以用什么代替 | 在这种情况下?

0 投票
2 回答
993 浏览

opengl-es - 如何使用 WebGL/OpenGLES 实现透明度 - 透明外部对象 *封闭* 内部对象

我正在尝试使用 WebGL 制定一种透明策略,以支持包含另一个透明对象的情况

http://learningwebgl.com/blog/?p=859所述,从概念上讲,我们可以

  1. 渲染背景
  2. 启用混合并禁用深度测试
  3. 渲染前景

我在这里有点天真,我很感激一位经验丰富的图形专家来帮助我。传统上(使用固定功能管道),我想我会将这些对象分解为一个面列表,对它们进行深度排序,然后以远到近的顺序渲染它们,同时在每个面的基础上启用/禁用混合/深度。

但是在这种情况下如何使用 WebGL 实现透明性,我们将整个几何图形作为整体 VBO 加载到 GPU 上?

任何人有任何技术提示或链接?

干杯,林赛

0 投票
1 回答
908 浏览

opengl-es - 当我将 gl_Position 的 x 坐标设置为零时,WebGL/GLSL 顶点着色器将 9 个点折叠成单点

我不明白为什么当我渲染一个 x 坐标为零的顶点缓冲区时,以下两个着色器会产生不同的结果:

第一的:

第二:

第一个结果是一行九个点。第二个的结果是一个点。

我将以下顶点数组绘制为 GL_POINTS:

这是VBO准备电话:

这是抽奖电话:

0 投票
4 回答
2134 浏览

html - 是否有 3d 画布的开源框架?

是否有允许实时渲染纹理多边形的开源框架?我想在 3d 空间中显示照片。我不需要很多多边形(少于 100 个,当然越多越好)

0 投票
5 回答
15910 浏览

javascript - WebGL 和两个图像大小的力量

我想使用 WebGL 制作一个 Flickr 照片流的 3D 小画廊。看起来 WebGL 只允许将尺寸为 2 次方的方形图像用作纹理。我需要能够显示任何比例和尺寸的图像。我可以看到,如果我将图像数据复制到另一个最接近正方形尺寸的图像中,然后使用纹理坐标使其正确显示。问题是,如果我错了,请纠正我,我不能在 JavaScript 中进行图像处理,需要运行 ASP.NET、Java 或类似的服务器来为我处理,然后 WebGL 才能得到它的手在上面。

有没有一种方法可以在 WebGL 和 JavaScript 中使用任意大小的图像,而无需服务器充当中间人图像处理器?

0 投票
3 回答
4968 浏览

iphone - 绘制多个相同对象的最有效方法?

我想用许多立方体制作一个游戏,并计划将它放在移动平台上,也可以使用 webgl 放在网络上。我的问题是,当我对每个立方体进行 drawelements 调用时,我会影响帧速率。有没有办法可以对opengl es进行一次绘图调用来绘制它们?立方体之间的唯一区别是位置和颜色。

0 投票
3 回答
6950 浏览

opengl-es - OpenGL ES中的高效绘图方式

在我的应用程序中,我通过 OpenGL ES Api 绘制了很多立方体。所有立方体的尺寸相同,只是它们位于不同的空间坐标。我可以想到两种绘制它们的方法,但我不确定哪种方法最有效。我不是OpenGL专家,所以我决定在这里问。

方法1,也就是我现在使用的方法:由于所有立方体的尺寸都相同,所以我只计算了一次顶点缓冲区、索引缓冲区、法线缓冲区和颜色缓冲区。在刷新场景期间,我遍历所有立方体,对同一组缓冲区执行 bufferData(),然后使用 drawElements() 调用绘制立方体的三角形网格。由于每个立方体位于不同的位置,因此我在绘制之前翻译了 mvMatrix。为每个立方体执行 bufferData() 和 drawElements()。在这种方法中,我可能节省了大量内存,因为不是每次都计算缓冲区。但我打了很多 drawElements() 电话。

方法 2 是:将所有立方体视为遍布场景的一组多边形。计算每个多边形(实际上是多边形内的三角形)的顶点、索引、颜色、法线缓冲区,并在一次调用 bufferData() 时将它们推送到显卡内存。然后通过一次调用 drawElements() 来绘制它们。这种方法的优点是,我只调用了一次 bindBuffer 和 drawElements。缺点是,我使用大量内存来创建缓冲区。

我对 OpenGL 的经验非常有限,从性能的角度来看,不知道上述哪种方法更好。

我在 WebGL 应用程序中使用它,但这是一个通用的 OpenGL ES 问题。