当前位置: 首页 > 知识库问答 >
问题:

使用FBO不正确的普通纹理

范文昌
2023-03-14

我对多个渲染目标有一个奇怪的问题。我在FBO上附加了3种纹理:颜色、法线和位置。我可以正确渲染颜色和位置,但渲染正常纹理会产生(绿色和红色是旋转立方体的一部分):

在左下角,是将法线纹理渲染到四边形的结果。

在我的顶点着色器中,我将法线计算为:normal=gl_NormalMatrix*gl_normal,在片段着色器中,我将其发射为:gl_FragData[1]=vec4(normal,1)

这里有什么问题?


共有1个答案

况安然
2023-03-14

结果我忘了为渲染的四边形提供法线。添加glNormal3f()调用修复了该问题。

 类似资料:
  • 问题内容: 屏幕外渲染到纹理绑定的屏幕外帧缓冲对象应该是微不足道的,但是我遇到了一个问题,我无法解决问题。 我的完整示例程序(目前仅2D!)在这里: http://pastebin.com/hSvXzhJT 请参阅下面的一些说明。 我正在创建一个RGBBA纹理对象512x512,并将其绑定到FBO。此时完全不需要2D深度或其他渲染缓冲区。 以下极其简单的着色器可渲染此纹理: 顶点着色器: 在aPo

  • 我正在尝试在OpenGL/LWJGL中制作一个简单的按钮, 我可以正确地渲染我的2D四边形,但是当我实现纹理时,整个四边形只有大约3/4的部分得到了纹理,就像这样:https://dl.dropboxusercontent.com/u/60223805/glerror1.png 如果我删除纹理坐标,我得到这个:https://dl.dropboxusercontent.com/u/60223805

  • 我想在FBO中加载两个纹理,其中一个纹理包含HDR图像,我的第一个目标是将图像从第一个纹理“复制”到第二个纹理(该纹理为空),并称为“下采样纹理”。 所以我创建FBO,加载我想用颜色_附件_0书写的纹理,并绑定它;然后初始化我的着色器程序并渲染一个四边形,其中包含我要在GL\u texture\u 0中读取的纹理。 然后我解开FBO并绑定“DownSamplingTex”,然后画一个四元组。 我不

  • 我在FBO中从渲染缓冲区切换到深度纹理。但它似乎不包含任何深度数据。如果我把这个纹理渲染成全屏的四边形,所有的东西都是黑色的。我非常确定纹理和FBO设置是好的。FBO已经完成,如果我清除了深度,让我们对格雷说: glClearDepth(0.5f); 然后我看到了斑点通道中的颜色,但没有看到几何渲染中的数据。 总之,这就是我创建纹理的方式: 其中intFmt是GL_DEPTH_component

  • 问题内容: SimpleHttpConnectionManager使用不正确。确保始终调用HttpMethod.releaseConnection(),并且一次只有一个线程和/或方法正在使用此连接管理器。 是否有人知道为什么会出现此错误,并导致我要下载的文件失败或失败,然后重试或下载未完成的文件 谢谢 ! 问题答案: 确保不使用SimpleHttpConnectionManager创建和使用来自多

  • 我有一个网络服务调用,响应是纯文本,没有json。在下面的回调中,失败()总是被调用,即使响应成功,因为改装试图将响应解析为json。 出现以下错误: 改造。错误:com。谷歌。格森。JsonSyntaxException:com。谷歌。格森。流动格式错误的JSONException:使用JsonReader。setLenient(true)在第1行第16列路径接受格式错误的JSON$ 我怎样才能