问题标签 [texture-mapping]

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 回答
231 浏览

c++ - Direct3D 中的纹理映射问题

嘿伙计们,我无法通过着色器渲染纹理。我真的不知道为什么,着色器文件只是实现了一个简单的 phong 光照并在一个简单的四边形上插入纹理,但我得到的只是光照和材质颜色,好像没有纹理(纹理是石头纹理但我得到的只是白色)

这是着色器文件

灯光和材质颜色如下:(PS : WHITE = D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f))

漫反射材质 = 白色;环境材料 = 白色;高光材质 = WHITE * 0.5f;

漫射照明 = 白色 * 0.8f;环境照明 = 白色 * 0.8f;高光照明 = WHITE * 0.5f;镜面反射功率 = 48.0f;

感谢帮助,伙计们

0 投票
2 回答
1015 浏览

c++ - HLSL 多纹理与 Direct3D 中的雾问题

我试图在我的演示中在某些地形上实现多纹理和雾,但显然我在某个地方出错了,因为纹理不可见,唯一被渲染的是地形中的雾颜色。

没有任何纹理的迹象。

这是fx文件:

如您所见,雾的颜色是灰色的,这就是我所得到的。这是非常令人沮丧的。

0 投票
3 回答
2077 浏览

opengl - 其他 PC 上的 OpenGL 白色纹理

我使用 SDL + OpenGL 制作了这个小游戏。游戏在我的电脑上运行良好,但在朋友的电脑上,他只是得到白框和黑屏。

我认为这可能是一个问题,因为我的纹理在维度上不是 2 的幂。我无法更改纹理尺寸,因此经过一番搜索,我发现使用GL_ARB_texture_non_power_of_two会以某种方式强制(?)npot纹理。但是,令我惊讶的是,我的电脑上出现了白框和其他东西,而我的朋友们甚至都没有。我无法理解问题所在。任何帮助将不胜感激。

代码:

0 投票
3 回答
882 浏览

3d - 未扭曲的纹理坐标

如何计算平面上点的 UV 坐标?

我有一个多边形——3 个或 4 个或更多点——在一个平面上——也就是说,所有的点都在一个平面上。但它可以在空间的任何角度。

这个多边形的一侧 - 两个点 - 将被映射到纹理中的两个对应的 2D 点 - 我提前知道这两个点。我也知道纹理的 x 和 y 比例,并且没有点落在纹理范围或其他“边缘情况”之外。

这是最上面的纹理四边形扭曲的图像:

在此处输入图像描述

我用黄色勾勒出一个坏的四边形。想象一下,我知道那个四边形上两个最底角的 UV 坐标,并且想要计算其他两个点的正确 UV 坐标......

如何计算平面中所有其他点相对于这两个点的 UV 坐标?

想象一下我的纹理是现实生活中的一张纸,我想给你的(平的)车门贴上纹理。我在我的纸上放了两个点,我把它和你车门上的两个点对齐。如何计算车门上的其他位置在纸下的位置?

你可以使用三边测量吗?对于二维空间中的两个已知点,伪代码会是什么样子?


使用brainjam的代码成功:

在此处输入图像描述

0 投票
3 回答
7334 浏览

opengl - OpenGL 3D 纹理坐标

我在 OpenGL 中遇到了 3d 纹理的问题。

我通过设置纹理

tex3Ddata 共有 8 片 640x480 位图。现在,当我尝试使用纹理坐标访问不同的切片时,由于某种原因,图像相互融合,因此我没有正确设置坐标,但我不知道为什么。纹理切片本身是 8 位单色的。

显示代码:

g_numCameras 是 8,所以我希望切片可以通过 Z 坐标 0.0f、1/7、2/7、...、1.0f 访问。然而它总是被插值的。我用 tx=0.5f 测试过;也是,但这也是图像的混合。x/y 坐标正常工作,并且 8 个四边形按预期放置,只是切割立方体并没有按我预期的方式工作。

有什么想法我在这里做错了吗?(我无法在 3d 纹理上找到等效的答案/示例)。

我还通过上传 8 次相同的图像来测试数据是否正确,并且效果很好(因为插值会产生原始图像,所以我在那里得到了原始图像)。

0 投票
1 回答
762 浏览

google-chrome - 有没有人在 Chrome 中使用带有 WebGL 的纹理图集?

我创建了一个纹理图集,在 Chrome 中,立方体的边缘有一些白色。但是在 Firefox 中它显示得很好。当我使用颜色时,Chrome 或 Firefox 中都没有白色边缘,所以这似乎是一个严格的纹理问题。纹理图集为 64 x 64 像素,纹理图集中共有 16 个纹理,每个纹理的宽度为 16。

有没有人遇到过类似的问题,或者知道我为什么会遇到这个问题?

0 投票
2 回答
1923 浏览

c# - 如何在非托管 DirectX 中将纹理映射到圆柱体?

在 C#.net 中,我有一个具有动态直径和长度的网格圆柱体,并试图将纹理映射到它。我花了一天的大部分时间试图找出如何做到这一点,但没有成功在谷歌上找到任何信息。

圆柱体纹理具有 jpg 的顶部区域,侧面具有 jpg 的其余部分。我需要将 jpgs 图像边缘定位在圆柱体的顶部边缘。例如。使用一张图像,顶部为红色,侧面为绿色。

谁能帮我将 VertexBuffer 点映射到纹理?

C#.Net 2008 DirectX 9(非托管)

我在下面发布了我的工作解决方案

0 投票
1 回答
5377 浏览

android - 在 Android OpenGL ES 中使用 Wavefront .obj 的纹理坐标的问题

我正在使用 openGL ES 编写一个 android 应用程序。我遵循了一些在线教程,并设法使用硬编码的顶点/索引/纹理坐标加载了一个纹理立方体

作为下一步,我为波前 .obj 文件编写了一个解析器。我使用教程中的顶点等制作了一个模拟文件,加载良好。

但是,当我使用使用 3d 建模包制作的文件时,所有纹理都会变得混乱

以下是我目前获取纹理坐标的方式:

首先,我将所有纹理坐标加载vt到一个大向量中

接下来我找到每个f三角形的前两个纹理坐标(所以 f 1/2/3 2/5/2 3/4/1 意味着我取第二和第五个纹理坐标。由于 .obj 从 1 而不是 0 开始计数,我必须从该位置-1,然后将位置乘以2以获得x坐标位置,并为我的vt数组中的y坐标位置执行相同但+1)

我将刚刚找到的那些纹理坐标添加到另一个向量中。

一旦我通过了所有的顶点。我将向量转换为 FloatBuffer,将其传递给glTexCoordPointer我的绘图方法

下面是解析文件的代码:

这是绘图的代码:

我真的很感激这方面的任何帮助。不能从文件中加载模型令人沮丧,我真的不确定我做错了什么或错过了什么

0 投票
1 回答
1042 浏览

c++ - C++ openGl 纹理将图像映射到球体上

嗨,我只是想知道如何使用 Qtcreator 在 openGL im 中将图像(.cpp)渲染到立方体上的球体上,所以它的 C++ 我有坐标我只是不知所措如何将图像放到实际的球体上?

0 投票
1 回答
2959 浏览

xcode - 使用 .jpg 纹理文件的 OpenGL 纹理映射

有谁知道 XCode 是否有用于读写 jpeg 文件的框架(库),库/框架名称是什么?我想加载这个 jpg 图像以在 OpenGL 中进行纹理映射。如果您使用 jpg 图像进行了纹理映射,您介意分享代码吗?
我在这里找到了一个很好的例子,但是它使用的是 .raw 文件而不是 .jpg 文件。当然,开放的 gl 代码是一样的。只有图像加载器功能会有所不同。
http://www.nullterminator.net/gltexture.html