4,445
社区成员
发帖
与我相关
我的任务
分享
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
unsigned int size = newWidth * newHeight * 4;
GLchar* newData = malloc(size);
GLuint* n = (GLuint*)newData;
//随意初始化成非黑色的值
for(int i = 0; i < newWidth * newHeight; i++)
{
n[i] = 0x88000000+ 100 * i;
}
GLuint err;
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, newWidth, newHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, newData);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, layer.texture);
GLint uniform = glGetUniformLocation(program, "texture");
glUniform1i(uniform, 0);
varying lowp vec2 texCoord;
uniform sampler2D texture;
void main()
{
gl_FragColor = texture2D(texture, texCoord);
}