Guide to Game Development/Rendering and Game Engines/OpenGL
Jump to navigation Jump to search
Categories[edit | edit source]
- Creating the project
- Adding libraries to the project
- Creating the window
- Sending the vertex data to openGL
- Drawing from vertex element arrays
- Sending colour to OpenGL
- Reading in shaders into your program
- Writing vertex shaders
- Writing fragment shaders
- Get mouse movement and click input
- Get keyboard input
- Moving the camera to view the 3D geometry
- Reading the image files in
- Using UV coordinates
- Adding textures to the geometry
Sister projects[edit | edit source]
Ports of OpenGL[edit | edit source]
- A rendering engine based upon OpenGL designed to work on the web.
- A wrapper for OpenGL that works with: C#, VB.Net, C++/CLI, F#, Boo and many more on multiple platforms.
- Light-Weight Java Game Library.
Libraries[edit | edit source]
- OpenGL Mathematics library, comes with mathematics code for vector, matrices etc.
- The OpenGL Utility Toolkit (GLUT) is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system. Functions performed include window definition, window control, and monitoring of keyboard and mouse input. Note that GLUT is not open source.
Glut open-source alternatives[edit | edit source]
- Cpw is an application framework library for OpenGL applications and games modeled after the GLUT API. It is designed with speed, simplicity, and portability in mind.
- FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.
- Open source and extended alternative to GLUT that 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.
- Open source, portable framework for OpenGL application development with a link library for handling operating system specific tasks, such as opening an OpenGL window and reading keyboard, mouse and joystick input.
- C++ wrapper for GLUT, providing a fully object-oriented API for creating windows, menus and other GUI elements, and for event handling.
- GLT can be used as an object oriented interface to OpenGL, or as a library of pre-canned functionality for transformations, shapes or fonts, etc. GlutMaster is a C++ interface wrapper to GLUT, providing a portable window, keyboard, mouse and menu environment for OpenGL programs.
- GLUI is a GLUT-based C++ user interface library which provides controls such as buttons, checkboxes, radio buttons, and spinners to OpenGL applications. It is window-system independent, using GLUT or FreeGLUT.
- NGL is an application framework similar in many ways to GLUT, but with many enhancements in order to make it an easy and yet powerful tool for cross-platform C++ application programming.
- A cross-platform multimedia library designed to provide level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.
Other[edit | edit source]
- OpenCL™ is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices.
- A cross-platform audio API that deliberately resemble those of OpenGL.
External Links[edit | edit source]
- OpenGL's HomePage
- AngleProject - Used to port OpenGL to DirectX
- OpenGL Programming wikibook
- Learning Modern 3D Graphics Programming - An online reference for learning OpenGL with C/C++
- Game Engine Development In OpenGL by Jamie King
- 3D Computer Graphics Using OpenGL by Jamie King
- Intro to Modern OpenGL by thebennybox
- 3D Game Engine Development Tutorial by thebennybox
References[edit | edit source]
- Paragraph 4: http://www.opengl.org/resources/libraries/glut/
- Direct quote from: http://qt-project.org/
- List of alternatives for GLUT: http://www.opengl.org/resources/libraries/windowtoolkits/