Added 2nd texture and removed rgb
All checks were successful
Verify build / verify_build (push) Successful in 1m27s

This commit is contained in:
k 2025-04-09 09:41:04 -04:00
parent cfc47df080
commit 8350b85aa1
3 changed files with 39 additions and 8 deletions

View File

@ -0,0 +1,15 @@
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec2 aTexCoord;
out vec2 TexCoord;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
void main()
{
gl_Position = projection * view * model * vec4(aPos, 1.0);
TexCoord = aTexCoord;
}

12
shaders/TexNoRGBFrag.glsl Normal file
View File

@ -0,0 +1,12 @@
#version 330 core
out vec4 FragColor;
in vec3 ourColor;
in vec2 TexCoord;
uniform sampler2D tex0;
void main()
{
FragColor = texture(tex0, TexCoord);
}

View File

@ -48,20 +48,20 @@ int main(void) {
GL_STATIC_DRAW); GL_STATIC_DRAW);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void *)0); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void *)0);
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void *)0); glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(float),
glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(float),
(void *)(3 * sizeof(float))); (void *)(3 * sizeof(float)));
glEnableVertexAttribArray(0); /*pos*/ glEnableVertexAttribArray(0); /*pos*/
glEnableVertexAttribArray(1); /*rgb*/ glEnableVertexAttribArray(1); /*tex_cord*/
glEnableVertexAttribArray(2); /*tex_cord*/
Shader *shaderProgram = Shader *shaderProgram = new Shader("./shaders/MVPTexNoRGBVert.glsl",
new Shader("./shaders/MVPTexVert.glsl", "./shaders/TexFrag.glsl"); "./shaders/TexNoRGBFrag.glsl");
Texture *texture = new Texture(GL_TEXTURE_2D, "./texture/container.jpg"); Texture *texture = new Texture(GL_TEXTURE_2D, "./texture/container.jpg");
Texture *texture2 = new Texture(GL_TEXTURE_2D, "./texture/brick.jpg");
Camera *cam = new Camera(glm::vec3(0.0, 0.0, 5.0),-90.0f, 0.0f,45.0,800.0/600); Camera *cam =
new Camera(glm::vec3(0.0, 0.0, 5.0), -90.0f, 0.0f, 45.0, 800.0 / 600);
while (!glfwWindowShouldClose(window)) { while (!glfwWindowShouldClose(window)) {
@ -72,12 +72,16 @@ int main(void) {
shaderProgram->setInt("Tex0", 0); shaderProgram->setInt("Tex0", 0);
shaderProgram->setMat4("view", cam->getView()); shaderProgram->setMat4("view", cam->getView());
shaderProgram->setMat4("projection", cam->getProjection()); shaderProgram->setMat4("projection", cam->getProjection());
texture->bind(GL_TEXTURE0);
glBindVertexArray(VAO); glBindVertexArray(VAO);
glEnable(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST);
for (unsigned int i = 0; i < 10; i++) { for (unsigned int i = 0; i < 10; i++) {
if (i % 2 == 0) {
texture->bind(GL_TEXTURE0);
} else {
texture2->bind(GL_TEXTURE0);
}
glm::mat4 model = glm::mat4(1.0f); glm::mat4 model = glm::mat4(1.0f);
model = glm::translate(model, cubePositions[i]); model = glm::translate(model, cubePositions[i]);