public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("texture_sampler", 0); // Render each mesh with the associated game Items Map<Mesh, List<GameItem>> mapMeshes = scene.getGameMeshes(); for (Mesh mesh : mapMeshes.keySet()) { sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.renderList(mapMeshes.get(mesh), (GameItem gameItem) -> { Matrix4f modelViewMatrix = transformation.buildModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); } ); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("texture_sampler", 0); // Render each mesh with the associated game Items Map<Mesh, List<GameItem>> mapMeshes = scene.getGameMeshes(); for (Mesh mesh : mapMeshes.keySet()) { sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.renderList(mapMeshes.get(mesh), (GameItem gameItem) -> { Matrix4f modelViewMatrix = transformation.buildModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); } ); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("texture_sampler", 0); // Render each mesh with the associated game Items Map<Mesh, List<GameItem>> mapMeshes = scene.getGameMeshes(); for (Mesh mesh : mapMeshes.keySet()) { sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.renderList(mapMeshes.get(mesh), (GameItem gameItem) -> { Matrix4f modelViewMatrix = transformation.buildModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); } ); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("fog", scene.getFog()); // Render each mesh with the associated game Items Map<Mesh, List<GameItem>> mapMeshes = scene.getGameMeshes(); for (Mesh mesh : mapMeshes.keySet()) { sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.renderList(mapMeshes.get(mesh), (GameItem gameItem) -> { Matrix4f modelViewMatrix = transformation.buildModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); } ); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); // Render each mesh with the associated game Items Map<Mesh, List<GameItem>> mapMeshes = scene.getGameMeshes(); for (Mesh mesh : mapMeshes.keySet()) { sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.renderList(mapMeshes.get(mesh), (GameItem gameItem) -> { Matrix4f modelViewMatrix = transformation.buildModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); } ); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, GameItem[] gameItems, SceneLight sceneLight) { sceneShaderProgram.bind(); // Update projection Matrix Matrix4f projectionMatrix = transformation.getProjectionMatrix(FOV, window.getWidth(), window.getHeight(), Z_NEAR, Z_FAR); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); // Update view Matrix Matrix4f viewMatrix = transformation.getViewMatrix(camera); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("texture_sampler", 0); // Render each gameItem for (GameItem gameItem : gameItems) { Mesh mesh = gameItem.getMesh(); // Set model view matrix for this item Matrix4f modelViewMatrix = transformation.getModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); // Render the mesh for this game item sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.render(); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, GameItem[] gameItems, SceneLight sceneLight) { sceneShaderProgram.bind(); // Update projection Matrix Matrix4f projectionMatrix = transformation.getProjectionMatrix(FOV, window.getWidth(), window.getHeight(), Z_NEAR, Z_FAR); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); // Update view Matrix Matrix4f viewMatrix = transformation.getViewMatrix(camera); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("texture_sampler", 0); // Render each gameItem for (GameItem gameItem : gameItems) { Mesh mesh = gameItem.getMesh(); // Set model view matrix for this item Matrix4f modelViewMatrix = transformation.getModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); // Render the mesh for this game item sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.render(); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, GameItem[] gameItems, SceneLight sceneLight) { sceneShaderProgram.bind(); // Update projection Matrix Matrix4f projectionMatrix = transformation.getProjectionMatrix(FOV, window.getWidth(), window.getHeight(), Z_NEAR, Z_FAR); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); // Update view Matrix Matrix4f viewMatrix = transformation.getViewMatrix(camera); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("texture_sampler", 0); // Render each gameItem for (GameItem gameItem : gameItems) { Mesh mesh = gameItem.getMesh(); // Set model view matrix for this item Matrix4f modelViewMatrix = transformation.getModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); // Render the mesh for this game item sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.render(); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); // Render each mesh with the associated game Items Map<Mesh, List<GameItem>> mapMeshes = scene.getGameMeshes(); for (Mesh mesh : mapMeshes.keySet()) { sceneShaderProgram.setUniform("material", mesh.getMaterial()); glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, shadowMap.getDepthMapTexture().getId()); mesh.renderList(mapMeshes.get(mesh), (GameItem gameItem) -> { Matrix4f modelViewMatrix = transformation.buildModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); Matrix4f modelLightViewMatrix = transformation.buildModelLightViewMatrix(gameItem, lightViewMatrix); sceneShaderProgram.setUniform("modelLightViewMatrix", modelLightViewMatrix); } ); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f viewMatrix = camera.getViewMatrix(); Matrix4f projectionMatrix = window.getProjectionMatrix(); sceneShaderProgram.setUniform("viewMatrix", viewMatrix); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); List<ShadowCascade> shadowCascades = shadowRenderer.getShadowCascades(); for (int i = 0; i < ShadowRenderer.NUM_CASCADES; i++) { ShadowCascade shadowCascade = shadowCascades.get(i); sceneShaderProgram.setUniform("orthoProjectionMatrix", shadowCascade.getOrthoProjMatrix(), i); sceneShaderProgram.setUniform("cascadeFarPlanes", ShadowRenderer.CASCADE_SPLITS[i], i); sceneShaderProgram.setUniform("lightViewMatrix", shadowCascade.getLightViewMatrix(), i); } SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); int start = 2; for (int i = 0; i < ShadowRenderer.NUM_CASCADES; i++) { sceneShaderProgram.setUniform("shadowMap_" + i, start + i); } sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene); renderInstancedMeshes(scene, viewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = window.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = camera.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = window.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = camera.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, false, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, false, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); // Update projection Matrix Matrix4f projectionMatrix = transformation.getProjectionMatrix(FOV, window.getWidth(), window.getHeight(), Z_NEAR, Z_FAR); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); // Update view Matrix Matrix4f viewMatrix = transformation.getViewMatrix(camera); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("texture_sampler", 0); // Render each gameItem GameItem[] gameItems = scene.getGameItems(); for (GameItem gameItem : gameItems) { Mesh mesh = gameItem.getMesh(); // Set model view matrix for this item Matrix4f modelViewMatrix = transformation.getModelViewMatrix(gameItem, viewMatrix); sceneShaderProgram.setUniform("modelViewMatrix", modelViewMatrix); // Render the mesh for this game item sceneShaderProgram.setUniform("material", mesh.getMaterial()); mesh.render(); } sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = window.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = camera.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = transformation.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = transformation.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = camera.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }
public void renderScene(Window window, Camera camera, Scene scene) { sceneShaderProgram.bind(); Matrix4f projectionMatrix = window.getProjectionMatrix(); sceneShaderProgram.setUniform("projectionMatrix", projectionMatrix); Matrix4f orthoProjMatrix = transformation.getOrthoProjectionMatrix(); sceneShaderProgram.setUniform("orthoProjectionMatrix", orthoProjMatrix); Matrix4f lightViewMatrix = transformation.getLightViewMatrix(); Matrix4f viewMatrix = camera.getViewMatrix(); SceneLight sceneLight = scene.getSceneLight(); renderLights(viewMatrix, sceneLight); sceneShaderProgram.setUniform("fog", scene.getFog()); sceneShaderProgram.setUniform("texture_sampler", 0); sceneShaderProgram.setUniform("normalMap", 1); sceneShaderProgram.setUniform("shadowMap", 2); sceneShaderProgram.setUniform("renderShadow", scene.isRenderShadows() ? 1 : 0); renderNonInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); renderInstancedMeshes(scene, sceneShaderProgram, viewMatrix, lightViewMatrix); sceneShaderProgram.unbind(); }