OpenGL:渲染天空盒立方体贴图问题

穆罕默德·穆萨

我正在创建一个带有立方体贴图的天空盒,所以我使用这个站点来生成立方体贴图天空盒生成器的侧面,现在我有 6 512 个 png 文件,我使用以下代码来渲染它:

glGenTextures(1, &cubemapTexture);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_CUBE_MAP, cubemapTexture);
for (GLuint i = 0; i < images.size(); i++) {
    glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, images[i].width, images[i].height, 0, GL_RGB, GL_UNSIGNED_BYTE, images[i].data);
}
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
glBindTexture(GL_TEXTURE_CUBE_MAP, 0);

该代码在不同的图像上运行良好,但从该站点下载的那些图像给了我以下结果

在此处输入图片说明

这是使用的图像示例不起作用:

样品不工作

这是工作图像的示例:

在此处输入图片说明

虚拟现实

PNG 文件似乎包含 alpha 通道,因此您应该在 glTexImage2D 调用中使用 GL_RGBA,如下所示:

glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGBA, images[i].width, images[i].height, 0, GL_RGBA , GL_UNSIGNED_BYTE, images[i].data);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CUDA立方体贴图纹理

来自分类Dev

如何正确制作用于阴影贴图的深度立方体贴图?

来自分类Dev

LibGDX 0.9.9-在环境中应用立方体贴图

来自分类Dev

使用OpenGL ES在iPhone上渲染到立方体贴图

来自分类Dev

使用移动相机翻转OpenGL立方体贴图反射

来自分类Dev

使用立方体贴图(OpenGL / GLSL),点光源是否可能产生柔和阴影?

来自分类Dev

OpenGL:立方体贴图纹理,无UV贴图

来自分类Dev

渲染动态立方体贴图(OpenGL)

来自分类Dev

选择立方体贴图正确面的快速方法?

来自分类Dev

材质中的Unity更改立方体贴图插槽

来自分类Dev

Unity构建太大的立方体贴图

来自分类Dev

使用帧缓冲区渲染为立方体贴图纹理

来自分类Dev

OpenGL优化天空盒渲染

来自分类Dev

OpenGL ES 2.0 / 3.0中带有位图的立方体贴图纹理

来自分类Dev

使用立方体贴图时的OpenGL清除缓冲区

来自分类Dev

如何在OpenGL中使用立方体贴图数组使用阴影贴图渲染多个点光源?

来自分类Dev

LibGDX 0.9.9-在环境中应用立方体贴图

来自分类Dev

使用移动相机翻转OpenGL立方体贴图反射

来自分类Dev

OpenGL 4.0立方体贴图问题

来自分类Dev

选择立方体贴图正确面的快速方法?

来自分类Dev

GLSL立方体贴图反射着色器

来自分类Dev

OpenGL-将立方体贴图的面渲染为四边形

来自分类Dev

使用帧缓冲区渲染为立方体贴图纹理

来自分类Dev

OpenGL黑色/空白立方体贴图纹理

来自分类Dev

动态立方体贴图 - opengl

来自分类Dev

你应该如何在 OpenGL 4.5 中初始化一个立方体贴图数组?

来自分类Dev

OpenGL C++、立方体贴图、顶点着色器

来自分类Dev

OpenGL、C++、天空盒、立方体地图

来自分类Dev

OpenGL:天空盒/立方体贴图部分显示,三角形缺失

Related 相关文章

  1. 1

    CUDA立方体贴图纹理

  2. 2

    如何正确制作用于阴影贴图的深度立方体贴图?

  3. 3

    LibGDX 0.9.9-在环境中应用立方体贴图

  4. 4

    使用OpenGL ES在iPhone上渲染到立方体贴图

  5. 5

    使用移动相机翻转OpenGL立方体贴图反射

  6. 6

    使用立方体贴图(OpenGL / GLSL),点光源是否可能产生柔和阴影?

  7. 7

    OpenGL:立方体贴图纹理,无UV贴图

  8. 8

    渲染动态立方体贴图(OpenGL)

  9. 9

    选择立方体贴图正确面的快速方法?

  10. 10

    材质中的Unity更改立方体贴图插槽

  11. 11

    Unity构建太大的立方体贴图

  12. 12

    使用帧缓冲区渲染为立方体贴图纹理

  13. 13

    OpenGL优化天空盒渲染

  14. 14

    OpenGL ES 2.0 / 3.0中带有位图的立方体贴图纹理

  15. 15

    使用立方体贴图时的OpenGL清除缓冲区

  16. 16

    如何在OpenGL中使用立方体贴图数组使用阴影贴图渲染多个点光源?

  17. 17

    LibGDX 0.9.9-在环境中应用立方体贴图

  18. 18

    使用移动相机翻转OpenGL立方体贴图反射

  19. 19

    OpenGL 4.0立方体贴图问题

  20. 20

    选择立方体贴图正确面的快速方法?

  21. 21

    GLSL立方体贴图反射着色器

  22. 22

    OpenGL-将立方体贴图的面渲染为四边形

  23. 23

    使用帧缓冲区渲染为立方体贴图纹理

  24. 24

    OpenGL黑色/空白立方体贴图纹理

  25. 25

    动态立方体贴图 - opengl

  26. 26

    你应该如何在 OpenGL 4.5 中初始化一个立方体贴图数组?

  27. 27

    OpenGL C++、立方体贴图、顶点着色器

  28. 28

    OpenGL、C++、天空盒、立方体地图

  29. 29

    OpenGL:天空盒/立方体贴图部分显示,三角形缺失

热门标签

归档