public void OnSurfaceChanged(IGL10 gl, int width, int height) { gl.GlViewport(0, 0, width, height); mViewportWidth = width; mViewportHeight = height; float ratio = (float)width / height; mViewRect.Top = 1.0f; mViewRect.Bottom = -1.0f; mViewRect.Left = -ratio; mViewRect.Right = ratio; UpdatePageRects(); gl.GlMatrixMode(GL10.GlProjection); gl.GlLoadIdentity(); if (USE_PERSPECTIVE_PROJECTION) { GLU.GluPerspective(gl, 20f, (float)width / height, .1f, 100f); } else { GLU.GluOrtho2D(gl, mViewRect.Left, mViewRect.Right, mViewRect.Bottom, mViewRect.Top); } gl.GlMatrixMode(GL10.GlModelview); gl.GlLoadIdentity(); }
public PO Map_to_Space(int x, int y) { util u1 = new util(); unsafe { double *modelview = stackalloc double[16]; double *projection = stackalloc double[16]; int * viewport = stackalloc int[4]; PO pf; double z; pf = new PO(); GLU.glGetDoublev(GLU.GL_MODELVIEW_MATRIX, modelview); GLU.glGetDoublev(GLU.GL_PROJECTION_MATRIX, projection); GLU.glGetIntegerv(GLU.GL_VIEWPORT, viewport); GLU.glReadPixels(x, y, 1, 1, GLU.GL_DEPTH_COMPONENT, GLU.GL_FLOAT, &z); double world_x, world_y, world_z; GLU.gluUnProject((double)x, (double)(viewport[3] - y - 1), 1, modelview, projection, viewport, &world_x, &world_y, &world_z); pf.x = (float)world_x; pf.y = (float)world_y; pf.z = 0; return(pf); } }
public void Update(Bitmap bm) { if (bm != null) { BitmapData bd = bm.LockBits(new Rectangle(0, 0, bm.Width, bm.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb); if (bd.Stride != bd.Width * 4) { throw new ApplicationException("Stride not a multiple of width"); } unsafe { uint tex = m_texture; if (tex == 0) { OpenGL.glGenTextures(1, &tex); } m_texture = tex; OpenGL.glBindTexture(OpenGL.GL_TEXTURE_2D, m_texture); OpenGL.glTexParameteri(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, (int)OpenGL.GL_LINEAR_MIPMAP_LINEAR); OpenGL.glTexParameteri(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, (int)OpenGL.GL_LINEAR_MIPMAP_LINEAR); OpenGL.glPixelStorei(OpenGL.GL_UNPACK_ALIGNMENT, 1); //OpenGL.glTexImage2D(OpenGL.GL_TEXTURE_2D, 0, (int)OpenGL.GL_RGBA8, (int)m_atlasWidth, (int)m_atlasHeight, 0, OpenGL.GL_BGRA_EXT, OpenGL.GL_UNSIGNED_BYTE, bd.Scan0.ToPointer()); GLU.gluBuild2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, (int)bm.Width, (int)bm.Height, OpenGL.GL_BGRA_EXT, OpenGL.GL_UNSIGNED_BYTE, bd.Scan0.ToPointer()); } bm.UnlockBits(bd); } }
public void getbox(float x, float y, float z, float r) { GL.glTranslatef(x, y, z); GLU.gluQuadricNormals(q, GLU.GLU_SMOOTH); GLU.gluQuadricTexture(q, 1); GLU.gluSphere(q, r, 32, 32); }
public void butterflydraw() { GLU.gluQuadricNormals(q1, GLU.GLU_SMOOTH); GLU.gluQuadricTexture(q1, 1); GL.glTranslatef(0.1f, 0.0f, 0); GL.glRotatef(90, 1.0f, 0.0f, 0.0f); GL.glColor3f(0.5f, 0.24f, 0.43f); GLU.gluCylinder(q1, 0.1, 0.1, 0.5f, 13, 13); GL.glTranslatef(0.11f, 0.19f, 0); GLU.gluSphere(q1, 0.15, 32, 32); GL.glTranslatef(1.19f, 0, 0); GL.glBegin(GL.GL_TRIANGLES); // start drawing a triangle GL.glColor3f(1.0f, 0.0f, 0.0f); // red GL.glVertex3f(0.2f, 0.5f, 0.0f); // top point of the triangle GL.glColor3f(0.0f, 1.0f, 0.0f); // green GL.glVertex3f(-0.1f, -0.25f, 0.0f); // left point of the triangle GL.glColor3f(0.0f, 0.0f, 1.0f); // blue GL.glVertex3f(0.5f, -0.7f, 0.0f); // right point of the triangle GL.glEnd(); GL.glTranslatef(1.19f, 0, 0); GL.glBegin(GL.GL_TRIANGLES); // start drawing a triangle GL.glColor3f(1.0f, 0.0f, 0.0f); // red GL.glVertex3f(-0.3f, 0.5f, 0.0f); // top point of the triangle GL.glColor3f(0.0f, 1.0f, 0.0f); // green GL.glVertex3f(0.0f, -0.25f, 0.0f); // left point of the triangle GL.glColor3f(0.0f, 0.0f, 1.0f); // blue GL.glVertex3f(-0.5f, -0.7f, 0.0f); // right point of the triangle GL.glEnd(); }
public void getbox() { // GL.glColor3f(0, 1, 0); GLU.gluQuadricNormals(q, GLU.GLU_SMOOTH); GLU.gluQuadricTexture(q, 1); GLU.gluSphere(q, 0.25, 32, 32); }
/// <summary> /// hier wird gezeichnet /// </summary> public void drawScene() { // Verschieben des Koordinatensystems um -6 in Z-Richtung // also "nach hinten" // und kippen nach Oben //coordinateSystem(2); GL.glTranslated(0.0, 0.0, -6.0); GL.glRotated(-60, 1, 0, 0); //coordinateSystem(0.5); coordinateSystem(1); // Zylinderobjekt erzeugen GLUquadric zylinder = GL.gluNewQuadric(); // Zeicheneigenschaften einstellen: // Drahtgittermodell GLU.gluQuadricDrawStyle(zylinder, GLU.GLU_LINE); // ab jetzt in blau zeichnen GL.glColor3f(0.0f, 0.0f, 1.0f); // Zeichnen eines Zylinders // bottom-Durchmesser, top-Durchmesser, Höhe, // Anzahl der Linien-Segmente // Anzahl der Linien in der Höhe // Hier wird die Haupt-Kran Achse gezeichnet //GLU.gluCylinder(zylinder, 0.2, 0.2, 2, 20, 10); }
public void DrawBoom() { GL.glPushMatrix(); Random random = new Random(); GL.glEnable(GL.GL_TEXTURE_2D); GL.glColor3f(0.8f, 0.8f, 1); GL.glBindTexture(GL.GL_TEXTURE_2D, cOGL.Textures[8]); GLU.gluQuadricTexture(obj, 1); GL.glTranslatef(posX, 0, posZ); //int zavit = random.Next(1, 180); //GL.glRotatef(zavit, 1, 0, 0); //zavit = random.Next(1, 180); //GL.glRotatef(zavit, 0, 1, 0); //zavit = random.Next(1, 180); //GL.glRotatef(zavit, 0, 0, 1); GLU.gluSphere(obj, hitsize, 16, 16); GL.glDisable(GL.GL_TEXTURE_2D); GL.glPopMatrix(); hitsize += 0.01f; remainingLife -= 1; }
public void Map_to_Space(int x, int y) { unsafe { double *modelview = stackalloc double[16]; double *projection = stackalloc double[16]; int * viewport = stackalloc int[16]; PO pn, pf; pn = new PO(); pf = new PO(); GLU.glGetDoublev(GLU.GL_MODELVIEW_MATRIX, modelview); GLU.glGetDoublev(GLU.GL_PROJECTION_MATRIX, projection); GLU.glGetIntegerv(GLU.GL_VIEWPORT, viewport); double world_x, world_y, world_z; GLU.gluUnProject((double)x, (double)y, 0.0, modelview, projection, viewport, &world_x, &world_y, &world_z); pn.x = (float)world_x; pn.y = (float)world_y; pn.z = (float)world_z; GLU.gluUnProject((double)x, (double)y, 1.0, modelview, projection, viewport, &world_x, &world_y, &world_z); pf.x = (float)world_x; pf.y = (float)world_y; pf.z = (float)world_z; ll.Insert(new LINE(pn, pf)); } }
protected override void OnSizeChanged(EventArgs e) { Size sz = Size; if (sz.Width != 0 && sz.Height != 0) { fHeight = sz.Height; fWidth = sz.Width; if (fHeight == 0) { fHeight = 1; } OpenGL.glViewport(0, 0, fWidth, fHeight); OpenGL.glMatrixMode(OpenGL.GL_PROJECTION); OpenGL.glLoadIdentity(); GLU.gluPerspective(FOV_Y, (float)fWidth / fHeight, NEAR_CLIPPING_PLANE, FAR_CLIPPING_PLANE); OpenGL.glMatrixMode(OpenGL.GL_MODELVIEW); OpenGL.glLoadIdentity(); } base.OnSizeChanged(e); }
public void attach(GLUtessellator tessellator) { GLU.gluTessCallback(tessellator, GLU.GLU_TESS_BEGIN, this); GLU.gluTessCallback(tessellator, GLU.GLU_TESS_END, this); GLU.gluTessCallback(tessellator, GLU.GLU_TESS_VERTEX, this); GLU.gluTessCallback(tessellator, GLU.GLU_TESS_EDGE_FLAG, this); GLU.gluTessCallback(tessellator, GLU.GLU_TESS_ERROR, this); }
/** * Frees any GLU resources used by this GLUTessellatorSupport, and invalidates this instance's internal GLU * tessellator. */ public void endTessellation() { GLU.gluTessCallback(this.tess, GLU.GLU_TESS_BEGIN, null); GLU.gluTessCallback(this.tess, GLU.GLU_TESS_VERTEX, null); GLU.gluTessCallback(this.tess, GLU.GLU_TESS_END, null); GLU.gluTessCallback(this.tess, GLU.GLU_TESS_COMBINE, null); this.tess = null; }
private void checkGlError(String op) { int error; while ((error = GLES20.GlGetError()) != GLES20.GlNoError) { Log.Error(TAG, op + ": glError " + error + " " + GLU.GluErrorString(error)); } }
public void beginPolygon() { if (!this.enabled) { return; } GLU.gluTessBeginPolygon(this.tess, this); // Use this as the polygon user data to enable callbacks to this instance. }
protected void PrepareViewport() { OpenGL.glMatrixMode(OpenGL.GL_PROJECTION); OpenGL.glLoadIdentity(); GLU.glOrtho(m_view.Left, m_view.Right, m_view.Bottom, m_view.Top, 0.0, 1.0); OpenGL.glMatrixMode(OpenGL.GL_MODELVIEW); OpenGL.glLoadIdentity(); }
public void getbox() { GLUquadric q = GLU.gluNewQuadric(); color c1 = new color(); GL.glScalef(0.125f, 0.125f, 0.125f); GL.glBegin(GL.GL_QUADS); // Front Face // Front Face GL.glNormal3f(0.0f, 0.0f, 1.0f); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, 1.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, 1.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, 1.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, 1.0f); // Back Face GL.glNormal3f(0.0f, 0.0f, -1.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, -1.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, -1.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, -1.0f); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, -1.0f); // Top Face GL.glNormal3f(0.0f, 1.0f, 0.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, -1.0f); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-1.0f, 1.0f, 1.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(1.0f, 1.0f, 1.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, -1.0f); // Bottom Face GL.glNormal3f(0.0f, -1.0f, 0.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-1.0f, -1.0f, -1.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(1.0f, -1.0f, -1.0f); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, 1.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, 1.0f); // Right face GL.glNormal3f(1.0f, 0.0f, 0.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, -1.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, -1.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(1.0f, 1.0f, 1.0f); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(1.0f, -1.0f, 1.0f); // Left Face GL.glNormal3f(-1.0f, 0.0f, 0.0f); GL.glTexCoord2f(0.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, -1.0f); GL.glTexCoord2f(1.0f, 0.0f); GL.glVertex3f(-1.0f, -1.0f, 1.0f); GL.glTexCoord2f(1.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, 1.0f); GL.glTexCoord2f(0.0f, 1.0f); GL.glVertex3f(-1.0f, 1.0f, -1.0f); GL.glEnd(); GL.glScalef(8, 8, 8); GL.glTranslatef(0, -0.1f, 0.3f); GL.glColor3fv(c1.yellow); lo.LoadTextures1(5); GLU.gluQuadricNormals(q, GLU.GLU_SMOOTH); GLU.gluQuadricTexture(q, 1); GLU.gluDisk(q, 0.01, 0.1, 32, 32); GL.glTranslatef(0, -0.01f, -0.3f); GLU.gluDisk(q, 0.01, 0.1, 32, 32); }
public void getbox() { GL.glRotatef(80, 1, 0, 0); // GL.glColor3f(0, 1, 0); GLU.gluQuadricNormals(q, GLU.GLU_SMOOTH); GLU.gluQuadricTexture(q, 1); GLU.gluDisk(q, 0.01, 0.2, 32, 32); GL.glRotatef(80, -1, 0, 0); }
public void endContour() { if (!this.enabled) { return; } GLU.gluTessEndContour(this.tess); }
public void endPolygon() { if (!this.enabled) { return; } GLU.gluTessEndPolygon(this.tess); }
public void setPolygonNormal(double x, double y, double z) { if (!this.enabled) { return; } GLU.gluTessNormal(this.tess, x, y, z); }
public void beginContour() { if (!this.enabled) { return; } GLU.gluTessBeginContour(this.tess); }
protected void PreparePxViewport() { OpenGL.glMatrixMode(OpenGL.GL_PROJECTION); OpenGL.glLoadIdentity(); GLU.glOrtho(0.0, ClientSize.Width, ClientSize.Height, 0.0, 0.0, 1.0); OpenGL.glMatrixMode(OpenGL.GL_MODELVIEW); OpenGL.glLoadIdentity(); }
protected void PrepareBiasedViewport() { OpenGL.glMatrixMode(OpenGL.GL_PROJECTION); OpenGL.glLoadIdentity(); GLU.glOrtho(0.0, m_view.Width, m_view.Height, 0.0, 0.0, 1.0); OpenGL.glMatrixMode(OpenGL.GL_MODELVIEW); OpenGL.glLoadIdentity(); }
public Tank(float positionX, float positionZ, float initialRotation) { rotation = initialRotation; posX = positionX; posZ = positionZ; destinX = positionX; destinZ = positionZ; reloadCounter = reloadTime; obj = GLU.gluNewQuadric(); }
public void ausleger() { //Ausleger zeichnen GL.glTranslated(0.0, 0.0, 0.0); GL.glRotated(90, 0, 1, 0); GL.glColor3f(1.0f, 0.0f, 0.0f); GLUquadric ausleger = GL.gluNewQuadric(); GLU.gluCylinder(ausleger, 0.1, 0.1, 2, 20, 10); }
public void schieber() { //Schieber zeichnen GL.glTranslated(0.0, 0.0, targetArmLength); GL.glRotated(0, 0, 0, 0); GL.glColor3f(1.0f, 1.0f, 0.0f); GLUquadric schieber = GL.gluNewQuadric(); GLU.gluCylinder(schieber, 0.15, 0.15, 0.1, 20, 10); }
private void initPerspective() { GL.glMatrixMode(GL.GL_PROJECTION); GL.glLoadIdentity(); GLU.gluPerspective(m_fovyAngle, m_width / m_height, 1, 3000); GL.glMatrixMode(GL.GL_MODELVIEW); GL.glLoadIdentity(); }
public void reset() { lock (matrixLock) { LastRot.setIdentity(); // Reset Rotation ThisRot.setIdentity(); // Reset Rotation GLU.glLoadIdentity(); } this.PlotGL(); }
public void OnSurfaceChanged(IGL10 gl, int width, int height) { gl.GlViewport(0, 0, width, height); gl.GlMatrixMode(IGL10Constants.GL_PROJECTION); gl.GlLoadIdentity(); GLU.GluPerspective(gl, 45.0f, (float)width / (float)height, 0.1f, 100.0f); gl.GlViewport(0, 0, width, height); gl.GlMatrixMode(IGL10Constants.GL_MODELVIEW); gl.GlLoadIdentity(); }
public override void glDraw() { GL.glClear(GL.GL_COLOR_BUFFER_BIT); GL.glLoadIdentity(); GLU.gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ); drawMovTriangle(); this.Refresh(); }