Coloring triangles with texture

This commit is contained in:
Caesar2011
2016-09-05 19:45:14 +02:00
parent 433983e4ff
commit aed54bd694
8 changed files with 37 additions and 22 deletions

View File

@@ -44,8 +44,8 @@ GLuint LoadTexture(char *filename,int *textw,int *texth) {
// this reads from the sdl surface and puts it into an opengl texture
glTexImage2D(GL_TEXTURE_2D, 0, mode, surface->w, surface->h, 0, mode, GL_UNSIGNED_BYTE, surface->pixels);
// these affect how this texture is drawn later on...glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
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_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);
// clean up
@@ -223,13 +223,13 @@ int main(int argc, char* args[]) {
-1.0f, 1.0f, 0.0f, // (top - left )
};
// One color for each vertex. They were generated randomly.
static const GLfloat g_color_buffer_data[] = {
0.583f, 0.771f, 0.014f,
0.609f, 0.115f, 0.436f,
0.327f, 0.483f, 0.844f,
0.822f, 0.569f, 0.201f,
0.435f, 0.602f, 0.223f,
0.310f, 0.747f, 0.185f,
static const GLfloat g_uv_buffer_data[] = {
0.0f, 1.0f-0.0f, // (bottom - left ) TRIANGLE 1
1.0f, 1.0f-0.0f, // (bottom - right)
0.0f, 1.0f-1.0f, // (top - left )
1.0f, 1.0f-1.0f, // (top - right) TRIANGLE 2
1.0f, 1.0f-0.0f, // (bottom - right)
0.0f, 1.0f-1.0f, // (top - left )
};
@@ -243,7 +243,7 @@ int main(int argc, char* args[]) {
GLuint colorbuffer;
glGenBuffers(1, &colorbuffer);
glBindBuffer(GL_ARRAY_BUFFER, colorbuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(g_color_buffer_data), g_color_buffer_data, GL_STATIC_DRAW);
glBufferData(GL_ARRAY_BUFFER, sizeof(g_uv_buffer_data), g_uv_buffer_data, GL_STATIC_DRAW);
@@ -251,12 +251,12 @@ int main(int argc, char* args[]) {
tex_jpe=LoadTexture("../img/tests/test.jpeg",&textw,&texth);
tex_jpe=LoadTexture("../img/tests/test.bmp",&textw,&texth);
GLuint programID = LoadShaders("trimap.vertexshader", "trimap.fragmentshader");
printf("%d", programID);
//GLint textureLocation = glGetUniformLocationARB(programID, "myTextureSampler");
//glUniform1iARB(textureLocation, tex_jpe);
GLint textureLocation = glGetUniformLocationARB(programID, "myTextureSampler");
glUniform1i(textureLocation, tex_jpe);
@@ -287,7 +287,7 @@ int main(int argc, char* args[]) {
glBindBuffer(GL_ARRAY_BUFFER, colorbuffer);
glVertexAttribPointer(
1, // attribute. No particular reason for 1, but must match the layout in the shader.
3, // size
2, // size
GL_FLOAT, // type
GL_FALSE, // normalized?
0, // stride