Correct projection width

This commit is contained in:
Antoine 2021-05-19 18:41:28 +02:00
parent e9935403b6
commit cf4f121069

View File

@ -27,7 +27,8 @@ public class Engine {
public Engine() {
this.running = false;
this.objectsGl = new ArrayList<>();
ObjectGl.projection = Matrix4f.orthographic(-10.0f, 10.0f, -10.0f * 9.0f / 16.0f, 10.0f * 9.0f / 16.0f, 0.1f, 100.0f);
float width = 1280.0f;
ObjectGl.projection = Matrix4f.orthographic(-width, width, -width * 9.0f / 16.0f, width * 9.0f / 16.0f, 0.1f, 100.0f);
ObjectGl.view = Matrix4f.translate(new Vector3f(0.0f,0.0f,1.0f));
}
@ -68,7 +69,7 @@ public class Engine {
glfwSetFramebufferSizeCallback(window, resizeWindow);
glEnable(GL_DEPTH_TEST); // Z-Buffer plus z est petit plus l'objet est proche de la camera limite à 0.1f au dela l'objet disparait
glEnable(GL_DEPTH_TEST); // Z-Buffer plus z est grand plus l'objet est proche de la camera limite à 100.0f au dela l'objet disparait
glEnable(GL_BLEND); // Transparence
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@ -103,6 +104,7 @@ public class Engine {
public void add_objectGl(ObjectGl obj){
objectsGl.add(obj);
// TODO trié en fonction de la distance z sinon bug d'affichage
}
public void remove_objectGl(ObjectGl obj){
@ -140,20 +142,24 @@ public class Engine {
List<String> path = new ArrayList<>();
path.add("textures/awesomeface.png");
ObjectGl smiley = new ObjectGlTex(-0.5f,0.5f,0.0f,1.0f,1.0f, path, Primitive.stdTexWrap);
ObjectGl smiley = new ObjectGlTex(-0.5f,0.5f,0.0f,500.0f,500.0f, path, Primitive.stdTexWrap);
engine.add_objectGl(smiley);
smiley.translate(new Vector3f(-2.5f,0.0f,0.0f));
ObjectGl smiley2 = new ObjectGlTex(-0.5f,0.5f,0.0f,1.0f,1.0f, path, Primitive.stdTexWrap);
ObjectGl smiley2 = new ObjectGlTex(-0.5f,0.5f,0.0f,500.0f,500.0f, path, Primitive.stdTexWrap);
engine.add_objectGl(smiley2);
smiley2.translate(new Vector3f(0.5f,0.0f,10.0f));
smiley2.translate(new Vector3f(0.0f,0.0f,10.0f));
long timer = System.currentTimeMillis();
int frame = 0;
while(engine.isRunning()){
// Game logic should fit here
smiley.rotateY(1.0f);
smiley2.rotateY(0.8f);
double time = glfwGetTime();
smiley.translate(new Vector3f( (float) Math.sin(time), (float) Math.cos(time), 0.0f));
smiley2.rotateZ(0.8f);
//essential part v
engine.update();