{"id":907,"date":"2009-07-16T18:06:00","date_gmt":"2009-07-16T17:06:00","guid":{"rendered":"http:\/\/it4bus.vn\/itersdesktop\/2009\/07\/16\/opengl-programming\/"},"modified":"2013-12-02T15:32:18","modified_gmt":"2013-12-02T14:32:18","slug":"introduction-to-opengl-programming","status":"publish","type":"post","link":"https:\/\/www.itersdesktop.com\/fr\/2009\/07\/16\/introduction-to-opengl-programming\/","title":{"rendered":"OpenGL Programming"},"content":{"rendered":"<p><span>Introduction<\/span><\/p>\n<p><span>freeglut vs OpenGlut<\/span><br \/>\nfreeglut and OpenGlut are open sources to the OpenGL Utility Toolkit (GLUT) library. OpenGL is a sibling of freeglut which belongs to some members of freeglut team.<\/p>\n<p><span>freeglut vs GLUT<\/span><br \/>\nGLUT (pronounced like the glut in gluttony) is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. GLUT makes it considerably easier to learn about and explore OpenGL programming. GLUT provides a portable API so you can write a single OpenGL program that works across all PC and workstation OS platforms.<\/p>\n<p>freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library. GLUT was originally written by Mark Kilgard to support the sample programs in the second edition OpenGL &lsquo;RedBook&rsquo;. Since then, GLUT has been used in a wide variety of practical applications because it is simple, widely available and highly portable.<\/p>\n<p>GLUT was originally to get a window open as fast as possible with least amount of code possible (for quick OpenGL programs) and for simple keyboard interface.<\/p>\n<p>GLUT (and hence freeglut) allows the user to create and manage windows containing OpenGL contexts on a wide range of platforms and also read the mouse, keyboard and joystick functions.<\/p>\n<p>freeglut is released under the X-Consortium license.<\/p>\n<p><span>SDL<\/span><br \/>\nSDL is also super-portable and very commonly used. SDL has a working fullscreen mode. SDL on the other hand is designed to be used more extensively<\/p>\n<p>(More detailed: http:\/\/archives.seul.org\/linuxgames\/Jun-2002\/msg00019.html)<br \/>\nThese are useful links<\/p>\n<ol>\n<li><a href=\"http:\/\/ubuntuforums.org\/showthread.php?p=2868563#post2868563\"><strong>OpenGL, SDL, graphics, games<\/strong><\/a><\/li>\n<li><a href=\"http:\/\/lazyfoo.net\/SDL_tutorials\/index.php\">Beginning Game Programming<\/a><\/li>\n<li><a href=\"http:\/\/http\/\/ocw.mit.edu\/OcwWeb\/Electrical-Engineering-and-Computer-Science\/6-837Fall2003\/CourseHome\/index.htm\"><span>Computer Graphics (A course of Computer Graphics from MIT OpenCourseWare)<br \/>\n<\/span><\/a><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ul>\n<li><a href=\"http:\/\/jerome.jouvie.free.fr\/OpenGl\/index.php\" target=\"_blank\">OpenGL with Java<\/a> and here is <a href=\"http:\/\/jerome.jouvie.free.fr\/OpenGl\/Tutorials1-5.php\" target=\"_blank\">Tutorials<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction freeglut vs OpenGlut freeglut and OpenGlut are open sources to the OpenGL Utility Toolkit (GLUT) library. OpenGL is a sibling of freeglut which belongs to some members of freeglut&hellip; <\/p>\n","protected":false},"author":2,"featured_media":962,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,284,230],"tags":[314,575],"class_list":["post-907","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cpp","category-opengl","category-programming","tag-glxgears","tag-opengl"],"_links":{"self":[{"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/posts\/907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/comments?post=907"}],"version-history":[{"count":4,"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/posts\/907\/revisions"}],"predecessor-version":[{"id":973,"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/posts\/907\/revisions\/973"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/media\/962"}],"wp:attachment":[{"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/media?parent=907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/categories?post=907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itersdesktop.com\/fr\/wp-json\/wp\/v2\/tags?post=907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}