當前位置: 首頁>>代碼示例>>Java>>正文


Java GL.glLoadIdentity方法代碼示例

本文整理匯總了Java中javax.media.opengl.GL.glLoadIdentity方法的典型用法代碼示例。如果您正苦於以下問題:Java GL.glLoadIdentity方法的具體用法?Java GL.glLoadIdentity怎麽用?Java GL.glLoadIdentity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.media.opengl.GL的用法示例。


在下文中一共展示了GL.glLoadIdentity方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: renderText

import javax.media.opengl.GL; //導入方法依賴的package包/類
private void renderText(GL gl, String text, int x, int y, int font) {
    int viewport[] = new int[4];
    gl.glGetIntegerv(GL.GL_VIEWPORT, viewport, 0);

    gl.glMatrixMode(GL.GL_MODELVIEW);
    gl.glPushMatrix();
    gl.glLoadIdentity();
    gl.glMatrixMode(GL.GL_PROJECTION);
    gl.glPushMatrix();
    gl.glLoadIdentity();
    {
        gl.glOrtho(0, viewport[2], 0, viewport[3], -1, 1);
        gl.glColor3d(1, 1, 1);
        gl.glRasterPos3d(0, 0, 0);
        glut.glutBitmapString(font, text);
    }
    gl.glMatrixMode(GL.GL_PROJECTION);
    gl.glPopMatrix();
    gl.glMatrixMode(GL.GL_MODELVIEW);
    gl.glPopMatrix();
    
}
 
開發者ID:kefik,項目名稱:Pogamut3,代碼行數:23,代碼來源:EnvironmentRenderer.java

示例2: init

import javax.media.opengl.GL; //導入方法依賴的package包/類
@Override
    public synchronized void init(GLAutoDrawable glDrawable) {
        GL gl = glDrawable.getGL();

        gl.glMatrixMode(GL.GL_PROJECTION);
        gl.glLoadIdentity();
        gl.glMatrixMode(GL.GL_MODELVIEW);
        gl.glLoadIdentity();

        gl.glEnable(GL.GL_DEPTH_TEST);
        gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);

        gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
        gl.glClearDepth(1.0);
        gl.glShadeModel(GL.GL_SMOOTH); // try setting this to GL_FLAT and see what happens.

/*        float[] lightAmbient = new float[]{0.5f, 0.5f, 0.5f, 1.0f};
        float[] lightDiffuse = new float[]{1.0f, 1.0f, 1.0f, 1.0f};
        float[] lightPosition = new float[]{
            0, 0, 0,
            //            (float)levelBox.getFlag().getCenterX(),
            //          (float)levelBox.getFlag().getCenterY(),
            //        (float)levelBox.getFlag().getCenterZ() + (float)levelBox.getFlag().getDeltaZ(),
            1.0f};
        gl.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, FloatBuffer.wrap(lightAmbient));
        gl.glLightfv(GL.GL_LIGHT0, GL.GL_DIFFUSE, FloatBuffer.wrap(lightDiffuse));
        gl.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, FloatBuffer.wrap(lightPosition));
        gl.glEnable(GL.GL_LIGHT0);
  */
        gl.glDisable(GL.GL_LIGHTING);

        // Now preprocess our data for rendering
        agentRenderes.prepare(gl);
        mapRenderer.prepare(gl);
    }
 
開發者ID:kefik,項目名稱:Pogamut3,代碼行數:36,代碼來源:EnvironmentRenderer.java

示例3: setProjection

import javax.media.opengl.GL; //導入方法依賴的package包/類
/**
 * Set projection, viewpoinbt and so on. Used every rendered frame.
 */
private synchronized void setProjection(GL gl, int x, int y, int width, int height) {
    if (height <= 0) { // avoid a divide by zero error!
        height = 1;
    }
    float h = (float) width / (float) height;
    gl.glViewport(0, 0, width, height);
    gl.glMatrixMode(GL.GL_PROJECTION);
    gl.glLoadIdentity();
    glu.gluPerspective(viewpoint.getViewAngle(), h, 10.0, 100000.0);
    gl.glMatrixMode(GL.GL_MODELVIEW);
    gl.glLoadIdentity();
}
 
開發者ID:kefik,項目名稱:Pogamut3,代碼行數:16,代碼來源:EnvironmentRenderer.java

示例4: prepareCanvas

import javax.media.opengl.GL; //導入方法依賴的package包/類
/**
 * Clear the screen, set up correct observer position and other stuff
 * @param gl
 */
private synchronized void prepareCanvas(GL gl) {
    // Clear the drawing area
    gl.glEnable(GL.GL_DEPTH_TEST); // GL.GL_NORMALIZE|
    gl.glClearColor(0.45f, 0.45f, 0.45f, 0f);

    gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);

    // Reset the modelview to the "identity"
    gl.glMatrixMode(GL.GL_MODELVIEW);
    gl.glLoadIdentity();

    // Move the "drawing cursor" around
    Location observerLoc = viewpoint.getLocation();
    Location eyeLoc = viewpoint.getEye();
    Vector3d upVec = viewpoint.getUp();
    //    gl.glTranslated(observerLocation.x, observerLocation.y, observerLocation.z);
    glu.gluLookAt(
            eyeLoc.x,
            eyeLoc.y,
            eyeLoc.z,
            observerLoc.x,
            observerLoc.y,
            observerLoc.z,
            upVec.x,
            upVec.y,
            upVec.z);

    gl.glScaled (1., 1., -1.);
}
 
開發者ID:kefik,項目名稱:Pogamut3,代碼行數:34,代碼來源:EnvironmentRenderer.java

示例5: setOrthoViewport

import javax.media.opengl.GL; //導入方法依賴的package包/類
/**
 * Set mode according to viewport. 0,0 is at left top
 */
public static void setOrthoViewport(GL gl) {
    Rectangle viewport = getViewport(gl);
    gl.glMatrixMode(GL.GL_PROJECTION);
    gl.glLoadIdentity();
    gl.glOrtho(viewport.getMinX(), viewport.getMaxX(), viewport.getMinY(), viewport.getMaxY(), -1, 1);
    gl.glMatrixMode(GL.GL_MODELVIEW);
}
 
開發者ID:kefik,項目名稱:Pogamut3,代碼行數:11,代碼來源:GLTools.java

示例6: pushMatrixMode

import javax.media.opengl.GL; //導入方法依賴的package包/類
public static void pushMatrixMode(GL gl) {
    gl.glMatrixMode(GL.GL_PROJECTION);
    gl.glPushMatrix();
    gl.glLoadIdentity();
    gl.glMatrixMode(GL.GL_MODELVIEW);
    gl.glPushMatrix();
    gl.glLoadIdentity();
}
 
開發者ID:kefik,項目名稱:Pogamut3,代碼行數:9,代碼來源:GLTools.java

示例7: testConvexize

import javax.media.opengl.GL; //導入方法依賴的package包/類
/**
 * test the "Convexize polygon" routine.  This should be able
 * to take an arbitrary region and tesselate the polygon
 * into a set of convex polygons for rendering in openGL.
 * @param gl
 */
public static void testConvexize(GL gl){
	gl.glLoadIdentity();
	gl.glTranslated(-5.0, 0.0, 0.0);
	Point2D ptA = new Point2D(0.0, 0.0);
	Point2D ptB = new Point2D(2.0, 0.0);
	Point2D ptC = new Point2D(2.0, 2.0);
	Point2D ptD = new Point2D(1.1, 1.0);
	Point2D ptE = new Point2D(2.0, 3.0);
	Point2D ptF = new Point2D(3.0, 2.0);
	Point2D ptG = new Point2D(2.5, 1.0);
	Point2D ptH = new Point2D(2.5, 0.0);
	Point2D ptI = new Point2D(4.0, 1.0);
	Point2D ptJ = new Point2D(3.0, 3.0);
	Point2D ptK = new Point2D(2.0, 4.0);
	Point2D ptL = new Point2D(0.0, 2.0);
	Point2D ptM = new Point2D(-1.0, 1.0);
	
	
	Prim2DLine l1  = new Prim2DLine(ptA, ptB);
	Prim2DLine l2  = new Prim2DLine(ptB, ptC);
	Prim2DLine l3  = new Prim2DLine(ptC, ptD);
	Prim2DLine l4  = new Prim2DLine(ptD, ptE);
	Prim2DLine l5  = new Prim2DLine(ptE, ptF);
	Prim2DLine l6  = new Prim2DLine(ptF, ptG);
	Prim2DLine l7  = new Prim2DLine(ptG, ptH);
	Prim2DLine l8  = new Prim2DLine(ptH, ptI);
	Prim2DLine l9  = new Prim2DLine(ptI, ptJ);
	Prim2DLine l10 = new Prim2DLine(ptJ, ptK);
	Prim2DLine l11 = new Prim2DLine(ptK, ptL);
	Prim2DLine l12 = new Prim2DLine(ptL, ptM);
	Prim2DLine l13 = new Prim2DLine(ptM, ptA);
	Prim2DCycle cycle = new Prim2DCycle();
	cycle.add(l1);
	cycle.add(l2);
	cycle.add(l3);
	cycle.add(l4);
	cycle.add(l5);
	cycle.add(l6);
	cycle.add(l7);
	cycle.add(l8);
	cycle.add(l9);
	cycle.add(l10);
	cycle.add(l11);
	cycle.add(l12);
	cycle.add(l13);
	
	Region2D region = new Region2D(cycle);
	CSG_Face face = region.getCSG_Face();
	
	face.drawFaceForDebug(gl);
	face.drawFaceLinesForDebug(gl);
	//System.out.println("face area: " + face.getArea());
	gl.glLoadIdentity();
}
 
開發者ID:avoCADo-3d,項目名稱:avoCADo,代碼行數:61,代碼來源:GLTests.java

示例8: testRotation

import javax.media.opengl.GL; //導入方法依賴的package包/類
/**
 * test the sketch plane rotation and CSG_Vertex rotation code.
 * If things are working correctly, every line should end at
 * a point of the same color. (purple lines -> purple points; 
 * orange lines -> orange/green points).S
 * @param gl
 */
public static void testRotation(GL gl){
	
	System.out.println(" ------  GL Rotation Test -------- ");
	
	gl.glLoadIdentity();
	gl.glLineWidth(2.0f);
	gl.glPointSize(5.0f);
	
	CSG_Vertex v1 = new CSG_Vertex(1.0, 1.0, 0.0);
	CSG_Vertex v2 = new CSG_Vertex(2.0, 1.0, 0.0);
	CSG_Vertex v3 = new CSG_Vertex(2.0, 2.0, 0.0);
	CSG_Vertex v4 = new CSG_Vertex(1.0, 2.0, 0.0);
	
	CSG_Vertex vX = new CSG_Vertex(1.0, 0.0, 0.0);
	CSG_Vertex vY = new CSG_Vertex(0.0, 1.0, 0.0);
	CSG_Vertex vZ = new CSG_Vertex(0.0, 0.0, 1.0);
	
	vX.drawPointForDebug(gl);
	vY.drawPointForDebug(gl);
	vZ.drawPointForDebug(gl);

	for(double yInc= -0.25; yInc<0.26; yInc+= 0.1){
		for(double rot=-3.10; rot<3.14; rot+= 0.1){
			
			CSG_Vertex normal = new CSG_Vertex(Math.sin(rot), yInc, Math.cos(rot)).getUnitLength();
			//CSG_Vertex normal = new CSG_Vertex(1.0, 0.0, 0.0);
			CSG_Plane plane = new CSG_Plane(normal, 0.0);
			SketchPlane sP  = new SketchPlane(plane);
		
			//System.out.println("--> normal: " + normal);
			Translation3D translation = new Translation3D(0.0, 0.0, 0.0);
			Rotation3D rotation    = new Rotation3D(sP.getRotationX(), sP.getRotationY(), sP.getRotationZ());
			CSG_Face f1 = new CSG_Face(new CSG_Polygon(v1, v2, v3, v4));
			CSG_Face f2 = f1.getTranslatedCopy(new CSG_Vertex(-3.0,  0.0, 0.0));
			CSG_Face f3 = f1.getTranslatedCopy(new CSG_Vertex(-3.0, -3.0, 0.0));
			CSG_Face f4 = f1.getTranslatedCopy(new CSG_Vertex( 0.0, -3.0, 0.0));
			gl.glColor3d(rot, 0.5, 0.0);
			gl.glPointSize(7.0f);
			//vX.getTranslatedRotatedCopy(translation, rotation).glDrawVertex(gl);
			//vY.getTranslatedRotatedCopy(translation, rotation).glDrawVertex(gl);
			vZ.getTranslatedRotatedCopy(translation, rotation).glDrawVertex(gl);
			f1.applyTranslationRotation(translation, rotation);
			f2.applyTranslationRotation(translation, rotation);
			f3.applyTranslationRotation(translation, rotation);
			f4.applyTranslationRotation(translation, rotation);
			//f1.glDrawFace(gl); // 
			//f2.glDrawFace(gl); // uncomment these faces to see how
			//f3.glDrawFace(gl); // planar regions are rotated.
			//f4.glDrawFace(gl); //
			
			gl.glColor3d(0.8, 0.0, 0.8);
			sP.getVar1Axis().glDrawVertex(gl);
			
			plane.drawNormalFromOriginForDegug(gl);
			gl.glRotatef((float)(rotation.getXRot()*180.0/Math.PI), 1.0f, 0.0f, 0.0f);
		    gl.glRotatef((float)(rotation.getYRot()*180.0/Math.PI), 0.0f, 1.0f, 0.0f);
		    gl.glRotatef((float)(rotation.getZRot()*180.0/Math.PI), 0.0f, 0.0f, 1.0f);
		    gl.glColor3d(0.9, 0.7, 0.3);
		    gl.glPointSize(5.0f);
		    //vZ.glDrawVertex(gl);
		    gl.glBegin(GL.GL_LINES);
		    	gl.glColor3d(0.9, 0.7, 0.3); // normal
		    	gl.glVertex3d(0.0, 0.0, 0.0);
		    	gl.glVertex3d(vZ.getX(), vZ.getY(), vZ.getZ());
		    	gl.glColor3d(0.9, 0.3, 0.9); // x-axis
		    	gl.glVertex3d(0.0, 0.0, 0.0);
		    	gl.glVertex3d(1.0, 0.0, 0.0);		    	
		    gl.glEnd();
		    gl.glLoadIdentity();
		    gl.glColor3d(0.7, 0.7, 0.7);
		}
	}		
}
 
開發者ID:avoCADo-3d,項目名稱:avoCADo,代碼行數:81,代碼來源:GLTests.java

示例9: testPerimeterFormation

import javax.media.opengl.GL; //導入方法依賴的package包/類
/**
 * test the perimeter formation routine.  
 * This should be able to take any CSG_Face composed of
 * many convex polygons and return just the points
 * along hte face's perimeter for edge drawing 
 * purposes in open GL.
 * @param gl
 */
public static void testPerimeterFormation(GL gl){
	gl.glLoadIdentity();
	gl.glTranslated(-5.0, 0.0, 0.0);
	Point2D ptA = new Point2D(0.0, 0.0);
	Point2D ptB = new Point2D(2.0, 0.0);
	Point2D ptC = new Point2D(2.0, 2.0);
	Point2D ptD = new Point2D(1.1, 1.0);
	Point2D ptE = new Point2D(2.0, 3.0);
	Point2D ptF = new Point2D(3.0, 2.0);
	Point2D ptG = new Point2D(2.5, 1.0);
	Point2D ptH = new Point2D(2.5, 0.0);
	Point2D ptI = new Point2D(4.0, 1.0);
	Point2D ptJ = new Point2D(3.0, 3.0);
	Point2D ptK = new Point2D(2.0, 4.0);
	Point2D ptL = new Point2D(0.0, 2.0);
	Point2D ptM = new Point2D(-1.0, 1.0);
	
	
	Prim2DLine l1  = new Prim2DLine(ptA, ptB);
	Prim2DLine l2  = new Prim2DLine(ptB, ptC);
	Prim2DLine l3  = new Prim2DLine(ptC, ptD);
	Prim2DLine l4  = new Prim2DLine(ptD, ptE);
	Prim2DLine l5  = new Prim2DLine(ptE, ptF);
	Prim2DLine l6  = new Prim2DLine(ptF, ptG);
	Prim2DLine l7  = new Prim2DLine(ptG, ptH);
	Prim2DLine l8  = new Prim2DLine(ptH, ptI);
	Prim2DLine l9  = new Prim2DLine(ptI, ptJ);
	Prim2DLine l10 = new Prim2DLine(ptJ, ptK);
	Prim2DLine l11 = new Prim2DLine(ptK, ptL);
	Prim2DLine l12 = new Prim2DLine(ptL, ptM);
	Prim2DLine l13 = new Prim2DLine(ptM, ptA);
	Prim2DCycle cycle = new Prim2DCycle();
	cycle.add(l1);
	cycle.add(l2);
	cycle.add(l3);
	cycle.add(l4);
	cycle.add(l5);
	cycle.add(l6);
	cycle.add(l7);
	cycle.add(l8);
	cycle.add(l9);
	cycle.add(l10);
	cycle.add(l11);
	cycle.add(l12);
	cycle.add(l13);
	
	Region2D region = new Region2D(cycle);
	CSG_Face face = region.getCSG_Face();
	
	face.drawFaceForDebug(gl);
	face.drawFaceLinesForDebug(gl);
	
	gl.glTranslated(5.0, 0.0, 0.0);
	// now find the perimeter and draw that...
	gl.glLineWidth(3.0f);
	gl.glPointSize(5.0f);
	gl.glColor3d(0.9, 0.7, 0.3);
	LinkedList<CSG_Vertex> perim = face.getPerimeterVertices();
	for(int i=0; i<perim.size(); i++){
		CSG_Vertex vA = perim.get(i);
		CSG_Vertex vB = perim.get((i+1)%perim.size());
		gl.glBegin(GL.GL_LINE_LOOP);
			gl.glVertex3d(vA.getX(), vA.getY(), vA.getZ());
			gl.glVertex3d(vB.getX(), vB.getY(), vB.getZ());
		gl.glEnd();
	}
	
	//System.out.println("face area: " + face.getArea());
	gl.glLoadIdentity();
}
 
開發者ID:avoCADo-3d,項目名稱:avoCADo,代碼行數:79,代碼來源:GLTests.java


注:本文中的javax.media.opengl.GL.glLoadIdentity方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。