let there be textures
This commit is contained in:
		@ -65,6 +65,8 @@ GLuint LinkShader(GLuint vertexShader, GLuint fragmentShader){
 | 
			
		||||
	glGetProgramInfoLog(shaderProgram, 512, NULL, buffer);
 | 
			
		||||
	printf("%s", buffer);
 | 
			
		||||
 | 
			
		||||
	glUseProgram(shaderProgram);
 | 
			
		||||
 | 
			
		||||
	return shaderProgram;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -120,28 +122,36 @@ int main(void)
 | 
			
		||||
	GLuint tex[2];
 | 
			
		||||
	glGenTextures(2, tex);
 | 
			
		||||
 | 
			
		||||
	glActiveTexture(GL_TEXTURE0);
 | 
			
		||||
	glBindTexture(GL_TEXTURE_2D, tex[0]);
 | 
			
		||||
 | 
			
		||||
	//Load image
 | 
			
		||||
	glActiveTexture(GL_TEXTURE0);
 | 
			
		||||
	glBindTexture(GL_TEXTURE_2D, tex[0]);
 | 
			
		||||
	image = stbi_load("./sample.png", &width, &height, NULL, 3);
 | 
			
		||||
	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
 | 
			
		||||
	stbi_image_free(image);
 | 
			
		||||
	glGenerateMipmap(GL_TEXTURE_2D);
 | 
			
		||||
 | 
			
		||||
	glUniform1i(glGetUniformLocation(shaderProgram, "kitty"), 0);
 | 
			
		||||
 | 
			
		||||
	glActiveTexture(GL_TEXTURE1);
 | 
			
		||||
	glBindTexture(GL_TEXTURE_2D, tex[1]);
 | 
			
		||||
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
 | 
			
		||||
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
 | 
			
		||||
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
 | 
			
		||||
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	//Load image
 | 
			
		||||
	glActiveTexture(GL_TEXTURE1);
 | 
			
		||||
	glBindTexture(GL_TEXTURE_2D, tex[1]);
 | 
			
		||||
	image2 = stbi_load("./sample2.png", &width, &height, NULL, 3);
 | 
			
		||||
	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image2);
 | 
			
		||||
	stbi_image_free(image2);
 | 
			
		||||
	glGenerateMipmap(GL_TEXTURE_2D);
 | 
			
		||||
 | 
			
		||||
	glUniform1i(glGetUniformLocation(shaderProgram, "puppy"), 1);
 | 
			
		||||
 | 
			
		||||
/*     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); */
 | 
			
		||||
/*     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); */
 | 
			
		||||
/*     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); */
 | 
			
		||||
/*     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); */
 | 
			
		||||
 | 
			
		||||
	GLint posAttrib = glGetAttribLocation(shaderProgram, "positions");
 | 
			
		||||
	glEnableVertexAttribArray(posAttrib);
 | 
			
		||||
	glVertexAttribPointer(posAttrib, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 7, 0);
 | 
			
		||||
@ -154,7 +164,6 @@ int main(void)
 | 
			
		||||
	glEnableVertexAttribArray(texCoordsAttrib);
 | 
			
		||||
	glVertexAttribPointer(texCoordsAttrib, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 7, (void*)(5*sizeof(float)));
 | 
			
		||||
 | 
			
		||||
	glUseProgram(shaderProgram);
 | 
			
		||||
 | 
			
		||||
	int i = 0;
 | 
			
		||||
	bool should_close = false;
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user