问题标签 [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.
opengl - 更改片段着色器中显示的纹理
我正在尝试将 2 个纹理传递给着色器,但我对这里的工作有点困惑这是 opengl 代码
顶点着色器是
片段着色器是
当我换线时
仍然只显示第一个纹理,但是当我注释掉下面的行时,显示了第二个纹理,你能解释一下为什么会这样吗?
c++ - opengl multitexturing glsl - 一次只有一个纹理
好像如果我使用texture(texture0,textCoord)
一次然后我尝试再次使用texture(texture1,textCoord);
它返回的另一个纹理(0,0,0,0);我只是不知道为什么。
在我的程序中,它似乎是一个工作顺序,如果深度比其他工作不工作,如果我不使用深度比颜色工作等等。(深度,颜色,正常,位置,光泽是顺序)
这是绑定部分:
这可能是 FBO 类:
opengl - Opengl 多重纹理和混合
我解释我的问题:
我有三个 png 图像,第一个有通道 alpha,另外两个是 RGB:
我必须把它混合起来才能得到这个结果
现在我知道我必须以这种方式掩盖第三个纹理:
从现在开始我写了这个:
但我不确定如何使用 glTexEnvi 来获得所需的效果,有什么建议吗?
opengl - OpenGL着色器 - 重叠多个纹理
我无法找到一种模式来相互绘制纹理。我需要使结果片段颜色如下:
tex1 + (1-tex1alpha)*tex2 + (1-tex1alpha-tex2alpha)*tex3
不是混合纹理,而是在图像编辑器中将一个放在其他类似图层上。
opengl - OpenGL 3.3 多纹理:GL_TEXTURE1 及以下始终为黑色(只有 GL_TEXTURE0 可以正常工作)
GL_TEXTURE0 之后的每个纹理(插槽 0 上的纹理)都是黑色的。
片段着色器(通过改变权重检查不同纹理的示例代码):
我上传这样的纹理(摘录!):
我尝试更改纹理槽并上传不同的纹理,但我总是黑屏,直到我在 GL_TEXTURE0 上使用纹理。
java - 多纹理在 LWJGL 中不起作用
为了尝试在 LWJGL 中实现多重纹理,我遵循了本教程。但是每当我运行我的代码时,第二个纹理都不会出现,或者第一个纹理会取而代之。这是我绑定纹理的方法:
Textures
myTex和myTex2 都是drawStuff()
我绘制所有内容的函数。我使用 slick 来加载纹理等,这是我的 bindTexture 函数:
在drawStuff()
我有一个自定义的“Face”类,这里是我在那里绘制所有内容的地方:
t1, t2, t3, norm1, norm2, norm3, p1, p2, p3
我制作的 3D 矢量类的所有实例在哪里(我只是在 和 的 z 分量t1, t2
中保留一个 0 t3
)。顶点和片段着色器源与上述教程中的完全相同。所有代码都可以正常使用普通的旧纹理。关于如何完成这项工作的任何想法?或者可能是使用 LWJGL 时易于遵循的更好的教程?
opacity - x3d - 具有不同重复级别的透明纹理
我想使用不重复的不透明度贴图使用重复的基础纹理创建地形图层。(在 alpha 中或作为单独的纹理)
使用像素纹理可以得到正确的结果,但我的 opacity.png 地图也保存为 8 位灰度。
c# - SharpDx 获取 Texture2D,SamplerState 的着色器变量名称
我想知道是否可以获得 Texture2D 和 SamplerState 的变量名称。我知道我能够通过效果框架获得这些。但我正在寻找一种没有这个框架的方法。就像使用 Constantbuffers (ShaderReflection) 的方式一样。我想像这样制作 HLSL 代码
有谁知道我如何能够在没有 EffectsFramework 的情况下访问 VariableNames?
opengl - 具有多重纹理的凹凸贴图
我正在尝试使用多重纹理实现凹凸映射,并且法线从纹理颜色值(正常纹理)到光照方程。现在,当我在该对象的表面上旋转相机时,我可以看到随着相机旋转的一些镜面高光,当我旋转相机时,我可以在不同的部分看到这些高光。凹凸贴图的正确实现吗?
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!