问题标签 [texturing]

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 投票
1 回答
795 浏览

c++ - DirectX 11 每人脸数据

我的问题在理论上很简单——将每个人脸数据输入到像素着色器的最佳方法是什么?如果它是通过一个简单的 cbuffer 数组注入的,我可以使用 SV_PrimitiveID 值访问数据。然而,每个 cbuffer 8096 个浮点数的限制对于任何适度详细的模型来说显然都是一个问题。

这种方法有替代方法吗?可能使用单独的顶点流?

理想情况下,我会在每个顶点的基础上输入数据,但数据是每个面,以保存纹理的索引,用于在纹理数组中查找的每个面。如果按顶点使用,跨顶点的 texcoord 数据插值肯定会弄乱这个索引,对吗?但是,如果要按顶点执行此操作,我会全神贯注!

非常感谢您提供的任何帮助。

0 投票
1 回答
849 浏览

canvas - WebGL Multitexturing with Video

I'm trying to use two textures in a fragment shader and having trouble getting WebGL to send the textures properly. I can send one at a time, but when I try to do both at once, I just get black. I've seen some other multitexturing examples around, but all of them deal with loading an array of images.

I want to load a video into one texture, and a canvas into the 2nd texture. I'm fairly certain all my shaders are fine, since I'm just moving them over from a c++ opengl program I wrote. Also, I can display the video or canvas each separately by commenting one or the other out, but like I mentioned above, together they seem to trigger an error.

Here's the snippet of code where I'm creating and filling the textures.

And then inside my draw loop:

I'm also getting a warning message saying:

GL_INVALID_ENUM : glActiveTexture: texture was GL_FALSE

GL_INVALID_ENUM : glActiveTexture: texture was GL_LINES

and also:

WebGL: drawArrays: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'. Or the texture is Float or Half Float type with linear filtering while OES_float_linear or OES_half_float_linear extension is not enabled.

The line triggering the warning is:

Thanks in advance for the help!

0 投票
1 回答
430 浏览

python - 如何在使用 python 保存之前翻转 cairo 表面?

我正在使用 cairo 创建纹理并保存,问题是如果我直接使用带有 opengl 的表面,它会垂直翻转。

如果我保存并加载,我可以使用 pil 和 im.tostring() 来翻转它。

有没有一种好方法可以将它翻转到 cairo 表面,也许保存我的 png 然后翻转以供使用或将图像倒置保存。

或者,我可以创建一个 PIL 图像并与 ciaro 共享缓冲区,这样我就可以使用 PIL tostring 方法来定位纹理。

接受建议,关于将 cairo 和 opengl 与 python 混合的信息不多。

0 投票
1 回答
515 浏览

python - OpenGL纹理不渲染

纹理根本不渲染,几何体全黑。

截图:http: //i.imgur.com/ypMdQY4.png

代码: http: //pastebin.com/SvB8rxxt

我还会链接到我正在尝试渲染的纹理和 transformations.py 模块,但我没有被允许放置两个以上链接的声誉。谷歌搜索“modern opengl 02”将为您提供我从中获得前者的教程,“transformations py”将为您提供后者。

搜索“TEXTURE STUFF START”以查找设置纹理的位置。

我试过戳所有部分(图像加载、纹理加载、纹理坐标数据、着色器),但我不知道有什么方法可以真正确定哪个有问题,据我所知,一切似乎都很好。

更新:更新的代码修复了一些潜在的问题,但仍然出现同样的问题。

0 投票
1 回答
109 浏览

java - OpenGL ES中纹理坐标的正确模型

我在理解 OpenGL ES 中的纹理映射时遇到了麻烦。例如,我有一个包含如下信息的小 obj 文件:

  1. v -75 75 -50
  2. 75 75 -50
  3. v -75 -75 -50
  4. 75 -75 -50

  5. VT 0 0

  6. VT 0 1
  7. VT 1 1
  8. VT 1 0

  9. f 4/3 3/2 1/1

  10. f 2/4 4/3 1/1

如果我使用这个 vts,那么纹理映射不正确。但是如果我像这样切换vts:

  1. VT 1 0
  2. VT 0 1
  3. VT 1 1
  4. VT 0 0

一切都开始正常工作。我试图绘制这个坐标只是为了获得它们的视觉表示并得到这样的图像(我倒置了 y 轴坐标)。 http://imgur.com/BRQgKay 在第一种情况下,我看到了很好的表现,但它不起作用,呵呵。在第二种情况下,我看到了一些可怕的东西,但它有效。为什么它起作用,我完全无法理解。有任何想法吗?谢谢你的帮助。编辑: http: //i.stack.imgur.com/4YdpM.jpg 我添加了一些我得到的结果的解释。我们可以将纹理分为两部分(三角形)。在第一种情况下,我让这部分围绕对角线切换。在第二种情况下,我根据划分的纹理得到了一个很好的映射,但我不明白它为什么会起作用。对不起,如果我的解释不太清楚。

0 投票
2 回答
102 浏览

c++ - 使用 C++ 的 OpenGL 纹理

大家好,我想知道上面的代码是如何工作的。据说它是一种编码,可用于在 OpenGL 中对实体对象进行纹理处理(例如:)glutSolidSphere。有人可以向我解释一下上述编码是如何工作的吗?

0 投票
1 回答
2946 浏览

unity3d - Unity3D:地形对象的纹理在长距离上闪烁

我正在 Unity3D 上制作 RTS 项目。

我使用 Unity 的标准地形工具创建地形,并在其上添加草、情绪等纹理。然后,为了创建“人造”地形对象(道路、人行道、路缘石等)——我在单独的资产中创建了这些对象,并放置在地形上。

我对这个解决方案有一个问题。在将相机从地形上移开时,地形的纹理(例如情绪)在道路、人行道和其他物体下闪烁。AFAIK,这个错误是由 Unity3D 引擎中的浮点坐标精度不足引起的(?)。

现在,就我而言,我创建地形对象的方法是不正确的。我必须在 3D 建模软件中创建一个带有地形的网格和所有人造物体,然后创建 UV 贴图以对所有这些进行纹理化。这种方法正确吗?如果“是”,对于像地形这样大而复杂的对象,是否有任何特殊的建模和纹理方法?

0 投票
1 回答
357 浏览

javascript - 改变立方体每个面的颜色

单击它时,我一直在尝试更改立方体的颜色。我遇到的问题是当我使用 MeshFaceMaterial 时它似乎不起作用。到目前为止,我已经设法改变了立方体的单个面的颜色,如下所示:

我现在如何更改我的代码,以便在单击一张脸时所有的脸都会改变颜色?谢谢!

0 投票
2 回答
1494 浏览

c++ - 如何绘制一个所有面都具有不同纹理的立方体?

我正在尝试将我的代码移至现代 Opengl,但遇到了麻烦。现在我的代码将绘制一个立方体并添加一个纹理,但它只会将第一个纹理附加到我的整个脸上。我还使用 SOIL 将我的纹理加载到我的程序中。我究竟做错了什么?

这是我的代码:

0 投票
1 回答
334 浏览

opengl - 稀疏纹理的 glTexStorage3D 具有 glError 无效值,但值似乎合法

我正在尝试在 OpenGL 中创建一个稀疏纹理数组,据我所知,我的值还可以。请参阅实际调用上方的注释以获取来自调试器的值。