Tag: webgl

你如何打包一个32位int在glsl / webgl中的4位,8位整数?

我正在寻找并行化一些复杂的math,webgl看起来是完美的方式来做到这一点。 问题是,你只能从纹理读取8位整数。 理想情况下,我想从纹理中获取32位数字。 我想到了使用4个颜色通道来获得每像素32位,而不是4个8位。 我的问题是,glsl没有“%”运算符或任何按位运算符! TLDR:如何使用glsl中的运算符将32位数字转换为4 8位数字。 关于该技术的一些额外信息(使用按位运算符): 如何在两个32位整数中存储64位整数并再次转换回来

如何从鼠标点击坐标获取WebGL三维空间中的对象

我正在WebGL中构build一个桌面游戏。 该板可以旋转/缩放。 我需要一种方法来将canvas元素(x,y)的点击转换为三维空间(x,y,z)中的相关点。 最终的结果是我想知道包含触及最靠近用户的物体的点的(x,y,z)坐标。 例如,用户点击一个片段,并且想象一下通过3D片段的射线穿过棋子和棋盘,但是我想要棋子的(x,y,z)坐标,感动。 我觉得这是一个非常普遍的问题,但我似乎无法在Google上find解决scheme。 必须有一些方法将3D空间的当前视图投影到2D中,以便可以将2D空间中的每个点映射到3D空间中的相关点。 我希望用户能够将鼠标hover在电路板上的一个空间上,并且具有点改变的颜色。

渲染与多个索引网格

我有一些顶点数据。 位置,法线,纹理坐标。 我可能从.obj文件或其他格式加载它。 但是每一个顶点数据都有自己的索引。 我可以使用OpenGL / Direct3D渲染这个网格数据吗?