首页 > OpenGL如何处理多个纹理

OpenGL如何处理多个纹理

在主程序中我们先设置3个采样器名称

    pbrShader.use();pbrShader.setInt("irradianceMap", 0);pbrShader.setInt("prefilterMap", 1);pbrShader.setInt("brdfLUT", 2);其中setint是封装函数:void setInt(const std::string &name, int value) const{  glUniform1i(glGetUniformLocation(ID, name.c_str()), value); }

0,1,2顺序很关键

在Fragment_shader中设置采样器

uniform samplerCube irradianceMap;
uniform samplerCube prefilterMap;
uniform sampler2D brdfLUT;

然后在主程序中如何绑定和使用这3个纹理呢?

        glActiveTexture(GL_TEXTURE0);glBindTexture(GL_TEXTURE_CUBE_MAP, 纹理1);glActiveTexture(GL_TEXTURE1);glBindTexture(GL_TEXTURE_CUBE_MAP, 纹理2);glActiveTexture(GL_TEXTURE2);glBindTexture(GL_TEXTURE_2D, 纹理3);

GL_TEXTURE0,1,2和上面的0,1,2是对应的

更多相关:

  • 嘿,我已经看过了一个老问题,但它不能回答我的问题我已经安装了libpng,然后尝试安装autopy并得到complie错误。在我对python还不是很在行,所以我不确定如何修复它们。在Ashley:~ ashleyhughes$ sudo easy_install autopySearching for autopyReading h...

  • OpenGL所有渲染的结果都输出显示在窗口中,设置OpenCV的图像cv::Mat outimg,并使用OpenGL的glReadPixels从帧缓冲区中加载像素至内存: //use fast 4-byte alignment (default anyway) if possible glPixelStorei(GL_PACK_AL...

  • 操作都是在默认帧缓冲的渲染缓冲上进行的。默认的帧缓冲是在你创建窗口的时候生成和配置的(GLFW帮我们做了这些)。 帧缓存帮助我们离屏渲染,提高渲染速度 unsigned int captureFBO; glGenFramebuffers(1, &captureFBO); glBindFramebuffer(GL_FRAMEBUFF...

  • 为了将坐标从一个坐标系变换到另一个坐标系,我们需要用到几个变换矩阵,最重要的几个分别是模型(Model)、观察(View)、投影(Projection)三个矩阵。我们的顶点坐标起始于局部空间(Local Space),在这里它称为局部坐标(Local Coordinate),它在之后会变为世界坐标(World Coordinate),...

  • 2020.2.5 疫情持续蔓延,在家无聊便解决标题所述问题。 若纹理加载是initializeGL()中,而在QtOpenGL的initializeGL()在程序运行时只运行一次,如果我的图像是通过上一步得到而不保存在本地,那么更换纹理变成了一个棘手的问题。 我曾尝试用extern、static等方法在类与类之间传递数据,但是依然...

  • 为了能够把纹理映射(Map)到三角形上,我们需要指定三角形的每个顶点各自对应纹理的哪个部分。这样每个顶点就会关联着一个纹理坐标(Texture Coordinate),用来标明该从纹理图像的哪个部分采样(译注:采集片段颜色)。之后在图形的其它片段上进行片段插值(Fragment Interpolation)。 纹理坐标在x和y轴上,...

  • Blender纹理基础学习视频教程 CGCookie – Fundamentals of Texturing in Blender Blender纹理基础学习视频教程 CGCookie – Fundamentals of Texturing in Blender Blender纹理基础学习视频教程 CGCookie –...

  •  风格化手绘纹理包 CGTrader – Stylized Mix Vol. 41 – Hand Painted Texture Pack CGTrader–风格化混合第41卷–手绘纹理包 大小解压后:343M 信息: 7种风格化材料的包装。格式:. png .uproject .unitypackage 特点: 7种独特...