Commit 27c3d80f authored by Radek Ošlejšek's avatar Radek Ošlejšek
Browse files

Merge branch '192-fix-rendering-of-fps-and-lights-when-texture-is-turned-on' into 'master'

Resolve "Fix rendering of FPs and lights when texture is turned on"

Closes #192

See merge request grp-fidentis/analyst2!204
parents 5d6b4b8a 74f990e7
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -38,8 +38,8 @@ public class RenderingModeToolbox extends JPopupMenu {
        JMenuItem menuItem1 = new JMenuItem(new AbstractAction() { // fill
            @Override
            public void actionPerformed(ActionEvent e) {
                canvas.getScene().getFaceSlots().forEach(i -> {
                    canvas.getScene().getDrawableFace(i).setRenderMode(RenderingMode.SMOOTH);
                canvas.getScene().getDrawableFaces().forEach(f -> {
                    f.setRenderMode(RenderingMode.SMOOTH);
                });
                canvas.renderScene();
            }
@@ -48,8 +48,8 @@ public class RenderingModeToolbox extends JPopupMenu {
        JMenuItem menuItem2 = new JMenuItem(new AbstractAction() { // lines
            @Override
            public void actionPerformed(ActionEvent e) {
                canvas.getScene().getFaceSlots().forEach(i -> {
                   canvas.getScene().getDrawableFace(i).setRenderMode(RenderingMode.WIREFRAME);
                canvas.getScene().getDrawableFaces().forEach(f -> {
                   f.setRenderMode(RenderingMode.WIREFRAME);
                });
                canvas.renderScene();
            }
@@ -58,8 +58,8 @@ public class RenderingModeToolbox extends JPopupMenu {
        JMenuItem menuItem3 = new JMenuItem(new AbstractAction() { // points
            @Override
            public void actionPerformed(ActionEvent e) {
                canvas.getScene().getFaceSlots().forEach(i -> {
                   canvas.getScene().getDrawableFace(i).setRenderMode(RenderingMode.POINT_CLOUD);
                canvas.getScene().getDrawableFaces().forEach(f -> {
                   f.setRenderMode(RenderingMode.POINT_CLOUD);
                });
                canvas.renderScene();
            }
@@ -68,8 +68,8 @@ public class RenderingModeToolbox extends JPopupMenu {
        JMenuItem menuItem4 = new JMenuItem(new AbstractAction() { // texture
            @Override
            public void actionPerformed(ActionEvent e) {
                canvas.getScene().getFaceSlots().forEach(i -> {
                   canvas.getScene().getDrawableFace(i).setRenderMode(RenderingMode.TEXTURE);
                canvas.getScene().getDrawableFaces().forEach(f -> {
                   f.setRenderMode(RenderingMode.TEXTURE);
                });
                canvas.renderScene();
            }
+2 −3
Original line number Diff line number Diff line
package cz.fidentis.analyst.scene;

import com.jogamp.opengl.GL2;
import com.jogamp.opengl.glu.GLU;
import com.jogamp.opengl.glu.GLUquadric;
import cz.fidentis.analyst.face.HumanFace;
import cz.fidentis.analyst.mesh.core.MeshFacet;
import cz.fidentis.analyst.mesh.core.MeshPoint;
import java.awt.Color;
import java.util.Collections;
import java.util.HashMap;
@@ -137,6 +134,7 @@ public class DrawableFace extends DrawableMesh {
        }
    }
    
    /*
    protected void renderPoints(GL2 gl, List<MeshPoint> points) {
        GLU gluContext = new GLU();
        
@@ -154,4 +152,5 @@ public class DrawableFace extends DrawableMesh {
        });
        gl.glEnd();
    }
    */
}
+13 −0
Original line number Diff line number Diff line
package cz.fidentis.analyst.scene;

import com.jogamp.opengl.GL;
import com.jogamp.opengl.GL2;
import com.jogamp.opengl.glu.GLU;
import com.jogamp.opengl.glu.GLUquadric;
@@ -11,6 +12,7 @@ import java.util.Map;

/**
 * Drawable feature points.
 * Points are rendered using smooth filled triangles (see {@link #initRendering(com.jogamp.opengl.GL2)}).
 * 
 * @author Radek Oslejsek
 * @author Daniel Schramm
@@ -275,6 +277,17 @@ public class DrawableFeaturePoints extends Drawable {
        }
    }
    
    /**
     * Sets smooth rendering mode with filled triangles mode for feature points
     * @param gl GL context
     */
    /*
    @Override
    protected void initRendering(GL2 gl) {
        setRenderMode(RenderingMode.SMOOTH);
        super.initRendering(gl);        
    }
    */
    
       
    /**
+3 −3
Original line number Diff line number Diff line
@@ -101,10 +101,8 @@ public class DrawableMesh extends Drawable {
    
    @Override
    protected void renderObject(GL2 gl) {
        if (getRenderMode() == RenderingMode.TEXTURE){
        if (getRenderMode() == RenderingMode.TEXTURE) { // turn on temporarily
            gl.glEnable(GL2.GL_TEXTURE_2D);
        } else {
            gl.glDisable(GL2.GL_TEXTURE_2D);
        }

        for (MeshFacet facet: getFacets()) {
@@ -128,6 +126,8 @@ public class DrawableMesh extends Drawable {
        
            gl.glEnd();
        }
        
        gl.glDisable(GL2.GL_TEXTURE_2D); // turn off
    }
    
    /**
+2 −1
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@ import cz.fidentis.analyst.mesh.core.MeshFacet;
import java.awt.Color;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import javax.vecmath.Point3d;
import javax.vecmath.Vector3d;
@@ -165,6 +164,7 @@ public class SceneRenderer {
     * 
     * @param drawables List of meshes
     */
    /*
    private List<DrawableFace> getOrderedFaces(Collection<Drawable> drawables) {
        List<DrawableFace> faces = new ArrayList<>();
        for (Drawable obj: drawables) {
@@ -177,6 +177,7 @@ public class SceneRenderer {
        }
        return faces;
    }
    */
    
    /**
     * Clears the scene and prepares it for the re-drawing.