Search in sources :

Example 1 with Camera

use of org.terasology.engine.rendering.cameras.Camera in project Terasology by MovingBlocks.

the class AABBRenderer method prepare.

private void prepare() {
    defaultMaterial.enable();
    Matrix4f modelView = new Matrix4f();
    Camera camera = worldRenderer.getActiveCamera();
    Vector3f center = aabb.center(new Vector3f());
    Vector3f cameraPosition = CoreRegistry.get(LocalPlayer.class).getViewPosition(new Vector3f());
    modelView.set(camera.getViewMatrix()).mul(new Matrix4f().setTranslation(center.x() - cameraPosition.x, center.y() - cameraPosition.y, center.z() - cameraPosition.z));
    defaultMaterial.setMatrix4("modelViewMatrix", modelView);
    defaultMaterial.setMatrix4("projectionMatrix", camera.getProjectionMatrix());
}
Also used : Matrix4f(org.joml.Matrix4f) LocalPlayer(org.terasology.engine.logic.players.LocalPlayer) Vector3f(org.joml.Vector3f) Camera(org.terasology.engine.rendering.cameras.Camera)

Example 2 with Camera

use of org.terasology.engine.rendering.cameras.Camera in project Terasology by MovingBlocks.

the class BlockSelectionRenderer method beginRenderOverlay.

public void beginRenderOverlay() {
    if (effectsTexture == null || !effectsTexture.isLoaded()) {
        return;
    }
    Camera camera = worldRenderer.getActiveCamera();
    blockSelectionMat.enable();
    blockSelectionMat.activateFeature(ShaderProgramFeature.FEATURE_ALPHA_REJECT);
    blockSelectionMat.setMatrix4("projectionMatrix", camera.getProjectionMatrix());
    blockSelectionMat.setTexture("tex", effectsTexture);
    blockSelectionMat.bindTextures();
    glEnable(GL11.GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
Also used : Camera(org.terasology.engine.rendering.cameras.Camera)

Example 3 with Camera

use of org.terasology.engine.rendering.cameras.Camera in project Terasology by MovingBlocks.

the class BlockSelectionRenderer method renderMark.

public void renderMark(Vector3ic blockPos) {
    Camera camera = worldRenderer.getActiveCamera();
    final Vector3f cameraPosition = camera.getPosition();
    Matrix4f modelView = new Matrix4f();
    modelView.set(camera.getViewMatrix()).mul(new Matrix4f().setTranslation(blockPos.x() - cameraPosition.x, blockPos.y() - cameraPosition.y, blockPos.z() - cameraPosition.z));
    blockSelectionMat.setMatrix4("modelViewMatrix", modelView);
    overlayMesh.render();
}
Also used : Matrix4f(org.joml.Matrix4f) Vector3f(org.joml.Vector3f) Camera(org.terasology.engine.rendering.cameras.Camera)

Example 4 with Camera

use of org.terasology.engine.rendering.cameras.Camera in project Terasology by MovingBlocks.

the class BlockSelectionRenderer method renderMark2.

public void renderMark2(Vector3ic blockPos) {
    Camera camera = worldRenderer.getActiveCamera();
    final Vector3f cameraPosition = camera.getPosition();
    Matrix4f modelView = new Matrix4f();
    modelView.set(camera.getViewMatrix()).mul(new Matrix4f().setTranslation(blockPos.x() - cameraPosition.x, blockPos.y() - cameraPosition.y, blockPos.z() - cameraPosition.z));
    blockSelectionMat.setMatrix4("modelViewMatrix", modelView);
    overlayMesh2.render();
}
Also used : Matrix4f(org.joml.Matrix4f) Vector3f(org.joml.Vector3f) Camera(org.terasology.engine.rendering.cameras.Camera)

Aggregations

Camera (org.terasology.engine.rendering.cameras.Camera)4 Matrix4f (org.joml.Matrix4f)3 Vector3f (org.joml.Vector3f)3 LocalPlayer (org.terasology.engine.logic.players.LocalPlayer)1