本文整理匯總了Java中javax.media.opengl.GL2.glFlush方法的典型用法代碼示例。如果您正苦於以下問題:Java GL2.glFlush方法的具體用法?Java GL2.glFlush怎麽用?Java GL2.glFlush使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.media.opengl.GL2
的用法示例。
在下文中一共展示了GL2.glFlush方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: renderSquare
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public static void renderSquare(OpenGLContext context,float zoomWidth,float zoomHeight,List<Geometry>geometries,Geometry selectedGeometry,float renderWidth,Color color){
GL2 gl = context.getGL().getGL2();
float[] c = color.brighter().getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
for (Geometry temp : geometries) {
gl.glLineWidth(temp == selectedGeometry ? renderWidth * 3 : renderWidth);
Coordinate point = new Coordinate(temp.getCoordinate());
point.x = (point.x - context.getX()) / zoomWidth;
point.y = 1 - (point.y - context.getY()) / zoomHeight;
double rectwidth = 0.01;
gl.glBegin(GL.GL_LINE_STRIP);
gl.glVertex2d(point.x - rectwidth, point.y - rectwidth);
gl.glVertex2d(point.x - rectwidth, point.y + rectwidth);
gl.glVertex2d(point.x + rectwidth, point.y + rectwidth);
gl.glVertex2d(point.x + rectwidth, point.y - rectwidth);
gl.glVertex2d(point.x - rectwidth, point.y - rectwidth);
gl.glEnd();
gl.glFlush();
}
}
示例2: renderCross
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public static void renderCross(OpenGLContext context,float zoomWidth,float zoomHeight,List<Geometry>geometries,Geometry selectedGeometry,float renderWidth,Color color){
GL2 gl = context.getGL().getGL2();
float[] c = color.brighter().getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
if(geometries!=null){
for (Geometry temp : geometries) {
gl.glLineWidth(temp == selectedGeometry ? renderWidth * 2 : renderWidth);
Coordinate point = new Coordinate(temp.getCoordinate());
point.x = (point.x - context.getX()) / zoomWidth;
point.y = 1 - (point.y - context.getY()) / zoomHeight;
double rectwidth = 0.01;
gl.glBegin(GL.GL_LINE_STRIP);
gl.glVertex2d(point.x - rectwidth, point.y);
gl.glVertex2d(point.x + rectwidth, point.y);
gl.glEnd();
gl.glBegin(GL.GL_LINE_STRIP);
gl.glVertex2d(point.x, point.y - rectwidth);
gl.glVertex2d(point.x, point.y + rectwidth);
gl.glEnd();
gl.glFlush();
}
}
}
示例3: renderTriangle
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public static void renderTriangle(OpenGLContext context,float zoomWidth,float zoomHeight,List<Geometry>geometries,Geometry selectedGeometry,float renderWidth,Color color){
GL2 gl = context.getGL().getGL2();
float[] c = color.brighter().getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
if(geometries!=null){
for (Geometry temp : geometries) {
gl.glLineWidth(temp == selectedGeometry ? renderWidth * 2 : renderWidth);
Coordinate point = new Coordinate(temp.getCoordinate());
point.x = (point.x - context.getX()) / zoomWidth;
point.y = 1 - (point.y - context.getY()) / zoomHeight;
double rectwidth = 0.01;
gl.glBegin(GL.GL_LINE_STRIP);
gl.glVertex2d(point.x - rectwidth, point.y - rectwidth);
gl.glVertex2d(point.x, point.y + rectwidth);
gl.glVertex2d(point.x + rectwidth, point.y - rectwidth);
gl.glVertex2d(point.x - rectwidth, point.y - rectwidth);
gl.glEnd();
gl.glFlush();
}
}
}
示例4: renderCircle
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public static void renderCircle(OpenGLContext context,float zoomWidth,float zoomHeight,List<Geometry>geometries,Geometry selectedGeometry,float size,Color color){
GL2 gl = context.getGL().getGL2();
float[] c = color.brighter().getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
gl.glBegin(GL.GL_POINTS);
for (int ii=0;ii<geometries.size();ii++) {
Geometry temp =geometries.get(ii);
gl.glLineWidth(temp == selectedGeometry ? size * 2 : size);
gl.glPointSize(temp == selectedGeometry ? size * 2 : size);
Coordinate point = temp.getCoordinate();
double dx=(point.x - context.getX()) / zoomWidth;
double dy=1 - (point.y - context.getY()) / zoomHeight;
for (int i=0; i < 360; i++){
//double angle = 2 * Math.PI * i / 360;
double xx = dx+Math.sin(i)*0.005;
double yy = dy+Math.cos(i)*0.005;
gl.glVertex2d(xx,yy);
}
}
gl.glEnd();
gl.glFlush();
}
示例5: drawPoly
import javax.media.opengl.GL2; //導入方法依賴的package包/類
/**
*
* @param gl
* @param cs
* @param width
* @param height
* @param x
* @param y
*/
public static void drawPoly(OpenGLContext context,Coordinate[] cs,float width,float height,int x,int y,float rwidth,Color color){
GL2 gl = context.getGL().getGL2();
float[] c = color.getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
gl.glLineWidth(rwidth);
gl.glBegin(GL.GL_LINE_STRIP);
// System.out.println("----------------------------------");
for (int p = 0; p < cs.length; p++) {
double vx=(cs[p].x - x) / width;
double vy=1 - (cs[p].y - y) / height;
// System.out.println(vx+" "+vy+",");
gl.glVertex2d(vx,vy);
}
// System.out.println("----------------------------------");
//close polygon
Coordinate point = cs[0];
gl.glVertex2d((point.x - x) / width, 1 - (point.y - y) / height);
gl.glEnd();
gl.glFlush();
}
示例6: drawPoly
import javax.media.opengl.GL2; //導入方法依賴的package包/類
/**
*
* @param gl
* @param cs
* @param width
* @param height
* @param x
* @param y
*/
protected void drawPoly(GL2 gl,Coordinate[] cs,float width,float height,int x,int y,float rwidth){
gl.glLineWidth(rwidth);
gl.glBegin(GL.GL_LINE_STRIP);
for (int p = 0; p < cs.length; p++) {
double vx=(cs[p].x - x) / width;
double vy=1 - (cs[p].y - y) / height;
gl.glVertex2d(vx,vy);
}
//close polygon
Coordinate point = cs[0];
gl.glVertex2d((point.x - x) / width, 1 - (point.y - y) / height);
gl.glEnd();
gl.glFlush();
}
示例7: render
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public void render(OpenGLContext context) {
if (initPosition == null) {
return;
}
int x = context.getX(), y = context.getY();
float zoom = context.getZoom(), width = context.getWidth() * zoom, height = context.getHeight() * zoom;
GL2 gl = context.getGL().getGL2();
gl.glLineWidth(1);
float[] c = Color.GREEN.getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
gl.glBegin(GL.GL_LINE_STRIP);
gl.glVertex2d((initPosition.x - x) / width, 1 - (initPosition.y - y) / height);
if (endPosition == null) {
gl.glVertex2d((imagePosition.x - x) / width, 1 - (imagePosition.y - y) / height);
} else {
gl.glVertex2d((endPosition.x - x) / width, 1 - (endPosition.y - y) / height);
}
gl.glEnd();
gl.glFlush();
}
示例8: paint
import javax.media.opengl.GL2; //導入方法依賴的package包/類
@Override
public void paint(){
// Compute maximum width of text we're going to draw
TextRenderer textRenderer = new TextRenderer(new Font(Font.SERIF,0 , 18));
int maxTextWidth = (int) textRenderer.getBounds(this.text).getWidth();
maxTextWidth = Math.min(maxTextWidth+10,size.width);
GL2 gl=glContext.getGL2();
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
gl.glPolygonMode (GL2.GL_FRONT, GL2.GL_LINE_STRIP);
gl.glColor3f(0.5f, 0.5f, 0.5f);
gl.glBegin(GL2.GL_LINE_STRIP);
gl.glVertex2i( this.posx,this.posy); //x1,y1
gl.glVertex2i( this.posx+maxTextWidth,this.posy ); //x2,y1
gl.glVertex2i( this.posx+maxTextWidth,this.posy +size.height); //x2,y2
gl.glVertex2i( this.posx,this.posy+size.height); //x1,y2
gl.glVertex2i( this.posx,this.posy);
gl.glEnd( );
GLDrawable draw=gl.getGL().getContext().getGLDrawable();
textRenderer.beginRendering(draw.getWidth(),draw.getHeight());
textRenderer.setColor(Color.WHITE);
textRenderer.setSmoothing(true);
textRenderer.draw(this.text,(int)posx,(int)posy+5); //text and position
textRenderer.flush();
textRenderer.endRendering();
gl.glFlush();
}
示例9: renderPolygons
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public static void renderPolygons(OpenGLContext context,float zoomWidth,float zoomHeight,List<Geometry>geometries,float size,Color color){
GL2 gl = context.getGL().getGL2();
float[] c = color.brighter().getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
gl.glPointSize(size);
gl.glBegin(GL.GL_POINTS);
for (Geometry temp : geometries) {
for (Coordinate point : temp.getCoordinates()) {
gl.glVertex2d((point.x - context.getX()) / zoomWidth, 1 - (point.y - context.getY()) / zoomHeight);
}
}
gl.glEnd();
gl.glFlush();
}
示例10: renderPolygon
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public static void renderPolygon(OpenGLContext context,float zoomWidth,float zoomHeight,Coordinate[] coordinates,float size,Color color){
GL2 gl = context.getGL().getGL2();
float[] c = color.brighter().getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
gl.glPointSize(size);
gl.glBegin(GL.GL_LINE_STRIP);
for (Coordinate point : coordinates) {
gl.glVertex2d((point.x - context.getX()) / zoomWidth, 1 - (point.y - context.getY()) / zoomHeight);
}
//Coordinate point = temp.getCoordinates()[0];
//gl.glVertex2d((point.x - x) / width, 1 - (point.y - y) / height);
gl.glEnd();
gl.glFlush();
}
示例11: renderPoint
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public static void renderPoint(OpenGLContext context,float zoomWidth,float zoomHeight,Coordinate point,float size,Color color){
GL2 gl = context.getGL().getGL2();
float[] c = color.brighter().getColorComponents(null);
gl.glColor3f(c[0], c[1], c[2]);
gl.glPointSize(size);
gl.glBegin(GL.GL_POINTS);
gl.glVertex2d((point.x - context.getX()) / zoomWidth, 1 - (point.y - context.getY()) / zoomHeight);
gl.glEnd();
gl.glFlush();
}
示例12: render
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public void render(OpenGLContext context) {
GL2 gl = context.getGL().getGL2();
gl.glColor3f(1, 1, 1);
gl.glLineWidth(1.0f);
gl.glBegin(GL.GL_LINE_LOOP);
float zoom=context.getZoom();
gl.glVertex2f(context.getX() / (1f*width),1-context.getY() / (1f*height));
gl.glVertex2f((context.getX() + zoom*context.getWidth()) / width,1- context.getY() / (1f*height));
gl.glVertex2f((context.getX() + zoom*context.getWidth()) / width,1- (context.getY() + zoom*context.getHeight()) / height);
gl.glVertex2f(context.getX() / (1f*width),1-(context.getY() + zoom*context.getHeight()) / height);
gl.glEnd();
gl.glFlush();
}
示例13: display
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public void display(GLAutoDrawable drawable)
{
GL2 gl = drawable.getGL().getGL2();
switch(cmd)
{
case UPDATE:
drawScene(gl);
break;
case SELECT:
int buffsize = 512;
double x = (double) mouse_x, y = (double) mouse_y;
int[] viewPort = new int[4];
IntBuffer selectBuffer = Buffers.newDirectIntBuffer(buffsize);
int hits = 0;
gl.glGetIntegerv(GL2.GL_VIEWPORT, viewPort, 0);
gl.glSelectBuffer(buffsize, selectBuffer);
gl.glRenderMode(GL2.GL_SELECT);
gl.glInitNames();
gl.glMatrixMode(GL2.GL_PROJECTION);
gl.glPushMatrix();
gl.glLoadIdentity();
glu.gluPickMatrix(x, (double) viewPort[3] - y, 5.0d, 5.0d, viewPort, 0);
glu.gluOrtho2D(0.0d, 1.0d, 0.0d, 1.0d);
drawScene(gl);
gl.glMatrixMode(GL2.GL_PROJECTION);
gl.glPopMatrix();
gl.glFlush();
hits = gl.glRenderMode(GL2.GL_RENDER);
processHits(hits, selectBuffer);
cmd = UPDATE;
break;
}
}
示例14: drawSurface
import javax.media.opengl.GL2; //導入方法依賴的package包/類
private void drawSurface(GLAutoDrawable drawable) {
GL2 gl = drawable.getGL().getGL2();
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
gl.glPushMatrix();
gl.glEvalMesh2(GL2.GL_FILL, 0, 20, 0, 20);
gl.glPopMatrix();
gl.glFlush();
}
示例15: drawScene
import javax.media.opengl.GL2; //導入方法依賴的package包/類
public void drawScene(GL2 gl)
{
gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
// Colors
float red[] = {1.0f,0.0f,0.0f,1.0f};
float green[] = {0.0f,1.0f,0.0f,1.0f};
float blue[] = {0.0f,0.0f,1.0f,1.0f};
// Red rectangle
GLRectangleEntity r1 = new GLRectangleEntity(gl, glu);
r1.x = 0.15f;
r1.y = 0.25f;
r1.z = 0.75f;
r1.w = 0.4f;
r1.h = 0.4f;
r1.c = red;
r1.id = 10;
r1.draw();
// Green rectangle
GLRectangleEntity r2 = new GLRectangleEntity(gl, glu);
r2.x = 0.35f;
r2.y = 0.45f;
r2.z = 0.5f;
r2.w = 0.4f;
r2.h = 0.4f;
r2.c = green;
r2.id = 20;
r2.draw();
// Blue rectangle
GLRectangleEntity r3 = new GLRectangleEntity(gl, glu);
r3.x = 0.45f;
r3.y = 0.15f;
r3.z = 0.25f;
r3.w = 0.4f;
r3.h = 0.4f;
r3.c = blue;
r3.id = 30;
r3.draw();
gl.glFlush();
}