< Guide to Game Development < Rendering and Game Engines
Categories
- Getting set up
- 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
- User Input
- Get mouse movement and click input
- Get keyboard input
- Camera
- Moving the camera to view the 3D geometry
- Textures
- Reading the image files in
- Using UV coordinates
- Adding textures to the geometry
- Lighting
- Loading in models
- Exporting the game for distribution
- Miscellaneous
Sister projects
Ports of OpenGL
- WebGL
- A rendering engine based upon OpenGL designed to work on the web.
- OpenTK
- A wrapper for OpenGL that works with: C#, VB.Net, C++/CLI, F#, Boo and many more on multiple platforms[1].
- LWJGL
- Light-Weight Java Game Library.
Libraries
- Glew
- Glm
- 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[4]. Note that GLUT is not open source[5].
- Qt
- Qt is a cross-platform application and UI framework for developers using C++ or QML, a CSS & JavaScript like language[6].
Glut open-source alternatives
- CPW
- 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[7].
- Fast Light Toolkit
- FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation[7].
- Freeglut
- 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[7].
- GLFW
- 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[7].
- GLOW Toolkit
- C++ wrapper for GLUT, providing a fully object-oriented API for creating windows, menus and other GUI elements, and for event handling[7].
- GLT and GlutMaster
- 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[7].
- GLUI UI Library
- 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[7].
- NGL
- 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[7].
- SDL (Simple Direct Media Layer)
- A cross-platform multimedia library designed to provide level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer[7].
Other
- OpenCL
- 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[8].
- OpenAL
- A cross-platform audio API that deliberately resemble those of OpenGL[9].
External Links
- 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++
YouTube:
References
- ↑ http://www.opentk.com/
- ↑ https://en.wikipedia.org/wiki/OpenGL_Extension_Wrangler_Library
- ↑ http://www.opengl.org/sdk/libs/GLEW/
- ↑ https://en.wikipedia.org/wiki/OpenGL_Utility_Toolkit
- ↑ Paragraph 4: http://www.opengl.org/resources/libraries/glut/
- ↑ Direct quote from: http://qt-project.org/
- 1 2 3 4 5 6 7 8 9 List of alternatives for GLUT: http://www.opengl.org/resources/libraries/windowtoolkits/
- ↑ http://www.khronos.org/opencl/
- ↑ https://en.wikipedia.org/wiki/OpenAL
This article is issued from
Wikibooks.
The text is licensed under Creative
Commons - Attribution - Sharealike.
Additional terms may apply for the media files.