不使用uniform如何将纹理传递给GLSL着色器?
创始人
2024-12-29 12:30:11
0

在OpenGL中,可以通过使用glTexImage2D函数将纹理传递给GLSL着色器,而不使用uniform变量。以下是一个示例代码:

// 创建纹理对象并绑定
GLuint texture;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);

// 设置纹理参数
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

// 加载纹理图像
int width, height, nrChannels;
unsigned char *data = stbi_load("texture.jpg", &width, &height, &nrChannels, 0);

// 将纹理图像传递给OpenGL
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
glGenerateMipmap(GL_TEXTURE_2D);

// 释放图像数据
stbi_image_free(data);

// 在着色器中使用纹理
glUseProgram(shaderProgram);
glBindTexture(GL_TEXTURE_2D, texture);
glUniform1i(glGetUniformLocation(shaderProgram, "textureSampler"), 0); // 设置纹理单元为0

// 在片段着色器中获取纹理颜色
#version 330 core
out vec4 FragColor;
in vec2 TexCoord;

uniform sampler2D textureSampler;

void main()
{
    FragColor = texture(textureSampler, TexCoord);
}

在上述代码中,我们首先创建并绑定一个纹理对象。然后,设置纹理参数,例如循环方式和过滤方式。接着,加载纹理图像数据,并使用glTexImage2D函数将其传递给OpenGL。最后,将着色器程序绑定,并将纹理绑定到纹理单元。在片段着色器中,我们使用texture函数从纹理中获取颜色。

请注意,上述代码中使用了stb_image库来加载纹理图像数据。你可以根据自己的需要选择合适的库来加载纹理图像数据。

相关内容

热门资讯

透视数据!wpk透视插件,wp... 透视数据!wpk透视插件,wpk透视辅助靠谱吗,介绍教程(有挂解说);1、操作简单,无需注册,只需要...
透视玄学!hhpoker有没有... 透视玄学!hhpoker有没有辅助,hhpoker视频巡查真的假的,大神讲解(有挂详情);1、hhp...
透视实锤!wpk透视是真的假的... 透视实锤!wpk透视是真的假的,wpk插件辅助,解密教程(有挂解密)小薇(透视辅助)致您一封信;亲爱...
透视脚本!HH平台挂,hhpo... 透视脚本!HH平台挂,hhpoker为什么一直输,技巧教程(有挂解说)1、金币登录送、破产送、升级送...
透视脚本!wpk透视怎么安装,... 透视脚本!wpk透视怎么安装,wpk透视辅助下载,科技教程(有挂方法)1)wpk透视辅助下载辅助挂:...
透视挂!wpk辅助器是真的吗,... 透视挂!wpk辅助器是真的吗,wpk透视辅助下载,软件教程(有挂细节)wpk辅助器是真的吗是一种具有...
透视好牌!wpk真吗,wpk模... 透视好牌!wpk真吗,wpk模拟器,可靠技巧(有挂方法)1、完成wpk模拟器透视辅助安装,帮助玩家取...
透视ai!hhpoker是内部... 透视ai!hhpoker是内部控制吗,hhpoker有没有辅助,教你攻略(有挂插件)hhpoker是...
透视工具!wpk辅助器是真的吗... 透视工具!wpk辅助器是真的吗,wpk可以作弊吗,新2025版(有挂教程);1、每一步都需要思考,不...
透视好牌!wpk透视怎么安装,... 透视好牌!wpk透视怎么安装,wpk软件是正规的吗,切实教程(有挂详情)一、wpk软件是正规的吗软件...