1 / 12

Εισαγωγή στο OpenGL

Εισαγωγή στο OpenGL. Graphics API v.s. Application API. Graphics API Λογισμικό για χειρισμό υλικού γραφικών . Παρέχει τις συναρτήσεις χαμηλού επιπέδου για απευθείας πρόσβαση στο υλικό. OpenGL / Direct3D Application API Λογισμικό υψηλού επιπέδου για ανάπτυξη εφαρμογών

nitza
Download Presentation

Εισαγωγή στο OpenGL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Εισαγωγή στο OpenGL

  2. Graphics API v.s. Application API • Graphics API • Λογισμικό για χειρισμό υλικού γραφικών. • Παρέχει τις συναρτήσεις χαμηλού επιπέδου για απευθείας πρόσβαση στο υλικό. • OpenGL / Direct3D • Application API • Λογισμικό υψηλού επιπέδου για ανάπτυξη εφαρμογών • Game Engine, VR tools…

  3. Τι κάνει το OpenGL • Σχεδιάζει πρωταρχικά σχήματα (σημείο, γραμμή, πολύγωνο) • Λειτουργίες πινάκων • Διαγράφει κρυμμένες επιφάνειες • Φωτεινότητα και σκίαση • Texture mapping • Λειτουργίες με Pixel • GPU υπολογισμούς.

  4. OpenGL διαδικασία OpenGL εντολές Command Buffer Μετασχηματισμός και Φωτισμός Rasterization pixel λειτουργίες Frame Buffer

  5. OpenGL Διαδικασία Vertex Operations and Primitive Assembly Vertex Data Evaluators Fragment Operations Display List Frame Buffer Rasterization Texture Assembly Pixel Data Pixel Operations

  6. frame buffers • Ο buffer είναι περιοχή μνήμης στο υλικό για συγκεκριμένο σκοπό. • Ένα OpenGL σύστημα μπορεί να χειριστεί τέσσερεις buffers: • Buffer χρώματος • Buffer βάθους (Z-Buffer) • Buffer σχεδίου • Buffer συγκέντρωσης

  7. GLUT(OpenGL Utility Toolkit) • Ένα παραθυρικό σύστημα ανεξάρτητων εργαλείων που καλύπτει την πολυπλοκότητα των διαφορετικών ΑΡΙ σύστημα παραθύρων. Παρέχει τις ακόλουθες λειτουργίες: • Αρχικοποίηση και δημιουργία παράθυρου • Χειρισμό παραθύρων και γεγονότα εισόδου • Σχέδιο πρωταρχικών τρισδιάστατων αντικείμενων • Τρέξιμο προγράμματος

  8. Που βρίσκουμε το GLUT • Win32: • http://www.xmission.com/~nate/glut.html • Linux: • http://www.mesa3d.org/ • Resources: • http://www.opengl.org/resources/libraries/glut.html Tan-Chi Ho, CGGM Lab., Dep. of CSIE, NCTU

  9. 1o εργαστήριο #include <GL/glut.h> void GL_display() { glClearColor(0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); glutSolidCube(1.0); glFlush(); } void GL_reshape(GLsizei w, GLsizei h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-2.0f, 2.0f, -2.0f, 2.0f, -2.0f, 2.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); }

  10. 1o εργαστήριο void main(void) { glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutCreateWindow("Sample"); glutDisplayFunc(GL_display); glutReshapeFunc(GL_reshape); glutMainLoop(); }

  11. 1o εργαστήριο

  12. Links • Web • OpenGL • http://www.opengl.org • http://oss.sgi.com/projects/ogl-sample/registry/ • Useful Sites • NeHe’s OpenGL Tutorials • NVidia’s developer web

More Related