From d2b8e7015ad284de2556d3ee1fc306a6a5e598fd Mon Sep 17 00:00:00 2001 From: EvilMuffinHa Date: Sun, 10 May 2020 10:56:40 -0400 Subject: [PATCH] Revert "adding textures (has errors)" This reverts commit eb6101d2ec2d7828c40bccf4195a2bf3ec13780a. reverting textures --- src/Test.java | 17 ++++++---- src/org/hl/engine/graphics/Material.java | 5 +-- src/org/hl/engine/graphics/Mesh.java | 29 ++-------------- src/org/hl/engine/graphics/Renderer.java | 6 +--- src/org/hl/engine/graphics/Vertex.java | 11 ++---- src/org/hl/engine/io/Display.java | 6 ++-- .../hl/engine/math/{lalg => }/Vector3f.java | 2 +- src/org/hl/engine/math/lalg/Vector2f.java | 32 ------------------ src/org/hl/engine/utils/TextureLoader.java | 1 + src/resources/shaders/mainFragment.glsl | 7 ++-- src/resources/shaders/mainVertex.glsl | 9 ++--- src/resources/textures/beautiful.png | Bin 5785 -> 0 bytes 12 files changed, 26 insertions(+), 99 deletions(-) rename src/org/hl/engine/math/{lalg => }/Vector3f.java (95%) delete mode 100644 src/org/hl/engine/math/lalg/Vector2f.java delete mode 100644 src/resources/textures/beautiful.png diff --git a/src/Test.java b/src/Test.java index 757a0fe..1c153f3 100644 --- a/src/Test.java +++ b/src/Test.java @@ -1,7 +1,10 @@ -import org.hl.engine.graphics.*; +import org.hl.engine.graphics.Mesh; +import org.hl.engine.graphics.Renderer; +import org.hl.engine.graphics.Shader; +import org.hl.engine.graphics.Vertex; import org.hl.engine.io.Display; import org.hl.engine.io.Input; -import org.hl.engine.math.lalg.*; +import org.hl.engine.math.Vector3f; import org.lwjgl.glfw.GLFW; @@ -15,16 +18,16 @@ public class Test { public Shader shader; public Mesh mesh = new Mesh(new Vertex[] { - new Vertex(new Vector3f(-0.5F, 0.5F, 0.0F), new Vector3f(0, 0, 1.0F), new Vector2f(0, 0)), - new Vertex(new Vector3f(-0.5F, -0.5F, 0.0F), new Vector3f(0, 0, 1.0F), new Vector2f(0, 1)), - new Vertex(new Vector3f(0.5F, -0.5F, 0.0F), new Vector3f(1.0F, 0, 1.0F), new Vector2f(1, 1)), - new Vertex(new Vector3f(0.5F, 0.5F, 0.0F), new Vector3f(1.0F, 0, 1.0F), new Vector2f(1, 0)), + new Vertex(new Vector3f(-0.5F, 0.5F, 0.0F), new Vector3f(0, 0, 1.0F)), + new Vertex(new Vector3f(-0.5F, -0.5F, 0.0F), new Vector3f(0, 0, 1.0F)), + new Vertex(new Vector3f(0.5F, -0.5F, 0.0F), new Vector3f(1.0F, 0, 1.0F)), + new Vertex(new Vector3f(0.5F, 0.5F, 0.0F), new Vector3f(1.0F, 0, 1.0F) ), }, new int[] { 0, 1, 2, 0, 2, 3 - }, new Material("/textures/beautiful.png")); + }); public void run() { init(); diff --git a/src/org/hl/engine/graphics/Material.java b/src/org/hl/engine/graphics/Material.java index 3cfbd8b..becaef4 100644 --- a/src/org/hl/engine/graphics/Material.java +++ b/src/org/hl/engine/graphics/Material.java @@ -14,16 +14,13 @@ public class Material { private int width, height; private int textureID; - private String path; public Material(String path) { - this.path = path; + this.image = TextureLoader.loadImage(path); //The path is inside the jar file } public void create() { - // Loading image on create - this.image = TextureLoader.loadImage(path); //The path is inside the jar file this.width = this.image.getWidth(); this.height = this.image.getHeight(); this.textureID = TextureLoader.loadTexture(image); diff --git a/src/org/hl/engine/graphics/Mesh.java b/src/org/hl/engine/graphics/Mesh.java index f59c735..b6d6194 100644 --- a/src/org/hl/engine/graphics/Mesh.java +++ b/src/org/hl/engine/graphics/Mesh.java @@ -12,14 +12,12 @@ import java.nio.IntBuffer; public class Mesh { private Vertex[] vertices; private int[] indices; - private Material material; - private int vertexArrayObject, positionBufferObject, indicesBufferObject, colorBufferObject, textureBufferObject; + private int vertexArrayObject, positionBufferObject, indicesBufferObject, colorBufferObject; // A group of vertices combined based on the indexes - public Mesh(Vertex[] vertices, int[] indices, Material material) { + public Mesh(Vertex[] vertices, int[] indices) { this.vertices = vertices; this.indices = indices; - this.material = material; } // Destroy the mesh @@ -27,8 +25,6 @@ public class Mesh { GL15.glDeleteBuffers(positionBufferObject); GL15.glDeleteBuffers(indicesBufferObject); GL15.glDeleteBuffers(colorBufferObject); - GL15.glDeleteBuffers(textureBufferObject); - material.destroy(); GL30.glDeleteVertexArrays(vertexArrayObject); } @@ -59,19 +55,8 @@ public class Mesh { return colorBufferObject; } - public int getTextureBufferObject() { - return textureBufferObject; - } - - public Material getMaterial() { - return material; - } - public void create() { - // Create the material - material.create(); - // Creates the mesh by formatting the vertices and indices and inputting them to OpenGL vertexArrayObject = GL30.glGenVertexArrays(); GL30.glBindVertexArray(vertexArrayObject); @@ -103,16 +88,6 @@ public class Mesh { colorBufferObject = storeData(colorBuffer, 1, 3); - FloatBuffer textureBuffer = MemoryUtil.memAllocFloat(vertices.length * 2); - float[] textureData = new float[vertices.length * 3]; - for (int i = 0; i < vertices.length; i ++ ) { - textureData[i * 2] = vertices[i].getTextureCoordinates().getX(); - textureData[i * 2 + 1] = vertices[i].getTextureCoordinates().getY(); - } - textureBuffer.put(colorData).flip(); - - textureBufferObject = storeData(textureBuffer, 2, 2); - IntBuffer indicesBuffer = MemoryUtil.memAllocInt(indices.length); indicesBuffer.put(indices).flip(); diff --git a/src/org/hl/engine/graphics/Renderer.java b/src/org/hl/engine/graphics/Renderer.java index b0e7e31..17f7c53 100644 --- a/src/org/hl/engine/graphics/Renderer.java +++ b/src/org/hl/engine/graphics/Renderer.java @@ -1,7 +1,6 @@ package org.hl.engine.graphics; import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL13; import org.lwjgl.opengl.GL15; import org.lwjgl.opengl.GL30; @@ -20,10 +19,8 @@ public class Renderer { GL30.glBindVertexArray(mesh.getVertexArrayObject()); GL30.glEnableVertexAttribArray(0); GL30.glEnableVertexAttribArray(1); - GL30.glEnableVertexAttribArray(2); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, mesh.getIndicesBufferObject()); - GL13.glActiveTexture(GL13.GL_TEXTURE0); - GL13.glBindTexture(GL11.GL_TEXTURE_2D, mesh.getMaterial().getTextureID()); + shader.bind(); GL11.glDrawElements(GL11.GL_TRIANGLES, mesh.getIndices().length, GL11.GL_UNSIGNED_INT, 0); @@ -31,7 +28,6 @@ public class Renderer { shader.unbind(); GL30.glDisableVertexAttribArray(0); GL30.glDisableVertexAttribArray(1); - GL30.glDisableVertexAttribArray(2); GL30.glBindVertexArray(0); } diff --git a/src/org/hl/engine/graphics/Vertex.java b/src/org/hl/engine/graphics/Vertex.java index 3d81c3c..5e2df5b 100644 --- a/src/org/hl/engine/graphics/Vertex.java +++ b/src/org/hl/engine/graphics/Vertex.java @@ -1,7 +1,6 @@ package org.hl.engine.graphics; -import org.hl.engine.math.lalg.Vector2f; -import org.hl.engine.math.lalg.Vector3f; +import org.hl.engine.math.Vector3f; public class Vertex { @@ -9,22 +8,16 @@ public class Vertex { private Vector3f position; private Vector3f color; - private Vector2f textureCoordinates; - public Vertex (Vector3f position, Vector3f color, Vector2f textureCoordinates) { + public Vertex (Vector3f position, Vector3f color) { this.position = position; this.color = color; - this.textureCoordinates = textureCoordinates; } public Vector3f getPosition() { return position; } - public Vector2f getTextureCoordinates() { - return textureCoordinates; - } - public Vector3f getColor() { return color; } diff --git a/src/org/hl/engine/io/Display.java b/src/org/hl/engine/io/Display.java index d9126f7..0c0c5ec 100644 --- a/src/org/hl/engine/io/Display.java +++ b/src/org/hl/engine/io/Display.java @@ -1,5 +1,5 @@ package org.hl.engine.io; -import org.hl.engine.math.lalg.Vector3f; +import org.hl.engine.math.Vector3f; import org.lwjgl.glfw.GLFWVidMode; import org.lwjgl.glfw.GLFWWindowSizeCallback; import org.lwjgl.opengl.GL; @@ -102,8 +102,8 @@ public class Display { System.exit(1); } - glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); - glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6); + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL11.GL_TRUE); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); diff --git a/src/org/hl/engine/math/lalg/Vector3f.java b/src/org/hl/engine/math/Vector3f.java similarity index 95% rename from src/org/hl/engine/math/lalg/Vector3f.java rename to src/org/hl/engine/math/Vector3f.java index b2a87f0..fa1da5e 100644 --- a/src/org/hl/engine/math/lalg/Vector3f.java +++ b/src/org/hl/engine/math/Vector3f.java @@ -1,4 +1,4 @@ -package org.hl.engine.math.lalg; +package org.hl.engine.math; public class Vector3f { private float x; diff --git a/src/org/hl/engine/math/lalg/Vector2f.java b/src/org/hl/engine/math/lalg/Vector2f.java deleted file mode 100644 index 7b385cd..0000000 --- a/src/org/hl/engine/math/lalg/Vector2f.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.hl.engine.math.lalg; - -public class Vector2f { - private float x, y; - - // Just a vector if you know what I mean - public Vector2f (float x, float y) { - this.x = x; - this.y = y; - } - - public float getX() { - return x; - } - - public void setX(float x) { - this.x = x; - } - - public float getY() { - return y; - } - - public void setY(float y) { - this.y = y; - } - - public void setVector(float x, float y) { - this.x = x; - this.y = y; - } -} diff --git a/src/org/hl/engine/utils/TextureLoader.java b/src/org/hl/engine/utils/TextureLoader.java index 32ce01f..7f3e0b7 100644 --- a/src/org/hl/engine/utils/TextureLoader.java +++ b/src/org/hl/engine/utils/TextureLoader.java @@ -1,5 +1,6 @@ package org.hl.engine.utils; +// Original TextureLoader by Krythic (replaces SlickUtils texture loader) import java.awt.image.BufferedImage; import java.io.IOException; diff --git a/src/resources/shaders/mainFragment.glsl b/src/resources/shaders/mainFragment.glsl index 647b0dc..85d4098 100644 --- a/src/resources/shaders/mainFragment.glsl +++ b/src/resources/shaders/mainFragment.glsl @@ -1,12 +1,9 @@ -#version 460 core +#version 330 core in vec3 passColor; -in vec3 passTextureCoord; out vec4 outColor; -uniform sampler2D tex; - void main() { - outColor = texture(tex, passTextureCoord); + outColor = vec4(passColor, 1.0); } diff --git a/src/resources/shaders/mainVertex.glsl b/src/resources/shaders/mainVertex.glsl index 78ba706..9ae1698 100644 --- a/src/resources/shaders/mainVertex.glsl +++ b/src/resources/shaders/mainVertex.glsl @@ -1,14 +1,11 @@ -#version 460 core +#version 330 core -in vec3 position; -in vec3 color; -in vec2 textureCoordinates; +layout(location = 0) in vec3 position; +layout(location = 1) in vec3 color; out vec3 passColor; -out vec2 passTextureCoord; void main() { gl_Position = vec4(position, 1.0); passColor = color; - passTextureCoord = textureCoordinates; } \ No newline at end of file diff --git a/src/resources/textures/beautiful.png b/src/resources/textures/beautiful.png deleted file mode 100644 index ffe963ef4dd2c0a504e694b733c8f1f274fe07cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5785 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 N6T@o;6?%5z{|D3YR%`$O