问题标签 [multitexturing]

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

opengl - 多重纹理时OpenGL基元太暗?

当我在场景的其他地方使用多重纹理时,我无法获得准确的原始颜色。基本上,我尝试在视频纹理上渲染一些线条和多边形(我正在使用 3 阶段多重纹理来创建视频纹理)......无论如何,我知道问题与 alpha 无关......事实上,我知道在我的纹理更新函数中,如果我只是注释掉对纹理级别 1 和 2 的 glBindTexture() 调用,原始颜色很好(所以保留纹理级别 0)......它是否也在尝试对原始颜色进行多纹理处理(即使我显然没有为基元设置纹理坐标)?

0 投票
1 回答
2189 浏览

opengl - 通过阴影贴图和其他纹理的阴影 - 如何组合?OpenGL

再会。我使用阴影贴图方法绘制带有阴影的场景(当我们从光线的角度渲染场景以检索深度缓冲区,制作阴影纹理并将其投影到场景上,从相机的角度渲染时)当我使用阴影贴图纹理时,所有其他带纹理的对象当然会失去它们的纹理。但我真的想要带阴影的纹理场景:) 我读到了多纹理,我实际上尝试应用它,但失败了。我究竟应该怎么做?(我从 OpenGl superbible 获取代码)这是主要设置过程的代码。我用 //<==== 标记了新字符串(用于多重纹理的字符串)

这是阴影贴图生成过程:

场景渲染过程:

还有一个纹理对象绘制的例子:

C2DTexture 纹理生成过程:

0 投票
1 回答
2033 浏览

opengl - 具有多重纹理的光照贴图,禁用其中一个纹理的光照?

在这个多重纹理方案中,我如何才能只为其中一个纹理禁用照明?我尝试使用 glDisable(GL_LIGHTING) 和 glEnable(GL_LIGHTING) 但渲染四边形时它不记得设置。

这是代码片段:

编辑:纹理加载:

奇怪的是,当我在第一行代码启用光照时,我根本看不到多纹理四边形中渲染的 light_map 纹理。此外,照明似乎根本不会影响该四边形,它适用于我的应用程序中的其他四边形(不是多纹理的)。

任何帮助表示赞赏。

0 投票
1 回答
3127 浏览

iphone - glTexEnvi (OpenGL ES 1.x) 的任何难以理解的描述?

我看到的不同参数与我看到的源代码一样多。是否可以在某处找到有关这些参数的所有详细信息的描述

0 投票
1 回答
963 浏览

opengl-es - OpenGL ES 为不同的纹理单元设置纹理矩阵

我可以改变当前的纹理变换矩阵。但是 - 它似乎并不影响所有纹理单元(我正在使用多重纹理)

如何更改不同纹理单元的纹理矩阵?

谢谢!

0 投票
1 回答
1177 浏览

iphone - OpenGL ES (iPhone) 多纹理 (2D) 代码

我有这个PNG的纹理:

替代文字

另一个来自这个PNG:

替代文字

它们都具有相同的混合功能:

我想先在一个多边形上看到它们。我只是找不到一个简单的例子。将它们绘制到不同的多边形效果完美,但我无法将它们“合并”到一个纹理中。任何工作示例代码行都会受到赞赏。

第二个问题是使高光贴图的 alpha 变量。我可以看到我必须以某种方式将它的 alpha 与原色(从我的变量创建)结合起来,但同样,没有代码的工作示例。我开始研究 glTexEnvi 函数,但我没有任何结果。

拜托,我求你只写大约 16 行代码!我用谷歌搜索了整个网络,但仍然卡住了。

我要实现的引擎(帖子底部的工作闪存草图)在这里

0 投票
1 回答
95 浏览

graphics - 多通道纹理与颜色贴图的比率

我在多通道效果中使用了 4 个纹理,颜色贴图质量最高——在本例中为 512x512。目前,法线、高光和视差贴图的尺寸相同。额外的地图占据了显存的很大一部分。这似乎非常浪费。

我的目的是减小多通道地图的大小。

颜色 - 512x512 正常 - 256x256(原始的 50% 以保留足够的细节) 镜面反射 - 256x256(原始的 50%,再次保持细节) 视差 - 128x128(原始的 25% 作为模糊视差可能是有益的 - 或者我被告知)

我的问题是,我可以进一步降低法线、镜面和视差贴图的比例吗?这些比率看起来合理吗?我应该使用什么比率?

谢谢,克里斯

0 投票
2 回答
1036 浏览

c# - 如何在 3D 地形上创建“烧焦区域”?

我正在尝试使用 C# 和 XNA。学习高级的“ Riemers 教程”对我有很大帮助,但我想让我的地形变得更好。我有一个简单的游戏,玩家控制坦克并摧毁其他建筑物和坦克。我想以某种方式绘制爆炸对地形的影响。我想要的效果在很多新游戏中都可以看到,例如右下角的HERE可以看到地面上有两个黑点(可能是前一段时间那里发生了一些爆炸)。这正是我想要实现的。

有人能指出我正确的方向吗?我认为将需要多纹理,但是当涉及到这一点时,我发现自己有点迷失(所有带有像素着色器的东西......)。这是唯一的方法吗?如果是这样,有人可以帮助我了解如何使其工作吗?还是有其他方法?谢谢。

编辑:忘了说我不熟悉 3d 图形理论。我所知道的一切都基于简短的教程,因此可能需要更详细的解释。目前我不知道如何在已经纹理化的表面上绘制一些东西。

0 投票
1 回答
989 浏览

opengl - 多重纹理问题

我想通过在固定管道中使用多纹理功能来混合多达 4 个纹理。我可以成功使用 2 个纹理单元,但是当我使用超过两个纹理单元时,会出现奇怪的伪影(某些纹理丢失或纹理坐标错误)。我不知道我做错了什么。

代码非常简单:

0 投票
1 回答
2796 浏览

opengl - 带有 VBO 的 OpenGL 多个纹理

我试图弄清楚如何为每个面渲染具有不同纹理的对象(立方体)。为简单起见,我有 2 个纹理分别应用于立方体的 3 个面。我知道我应该使用具有 3 个坐标的纹理数组来表示要使用的相关纹理。我只是不确定如何做到这一点以及如何编写我的片段着色器。

这是我的init()功能的相关部分:

然而,我在这里有点困惑,因为橙皮书(OpenGL 着色语言)给出了使用glActiveTextureandglBindTexture的示例,但GLSL 常见错误说你不应该这样做。

从那里开始,我的display()函数如下所示:

我不确定在我的 GLSL 着色器中放什么。我的顶点着色器具有标准gl_TexCoord[0] = gl_MultiTexCoord0;,我的片段着色器看起来像:

如何指示片段着色器使用哪个纹理?我假设是在我填充顶点、索引、纹理缓冲区等时,我通过为每个点传递第三个纹理坐标来做到这一点?这个第三个坐标的值是相关纹理坐标的值吗?我希望我的问题有意义,并感谢您的帮助。克里斯