 
Wikipedia says:
Latest Tweets about Opengl:
gatkservice: ここれは・・。OpenGL自体のバグなのか。シェーダとの連結部分の設定がiOSのみ逆になってる。
t_okada: ES1は手軽でいいです。ES1とES2は別腹w。 RT @gaolay: やはり基本からということでOpenGL ES1.1です
gaolay: やはり基本からということでOpenGL ES1.1です
http://www.opengl.org/ says:
OpenGL - The Industry Standard for High Performance Graphics
The Industry's Foundation for High Performance Graphics
from games to virtual reality, mobile phones to supercomputers
Home
Documentation
About OpenGL 4.1
Specifications
Spec Feedback Form
OpenGL 4.1 Reference Pages
OpenGL 3.3 Reference Pages
OpenGL 2.1 Reference Pages
OpenGL Shading Language
OpenGL Extension Registry
About OpenGL Extensions
OS/Platform Implementations
OpenGL Reference Manual
OpenGL Programming Guide
OpenGL Books
Coding Resources
OpenGL SDK
FAQs
Technical FAQ Wiki
Sample Code & Tutorials
Feature Articles
GLUT & Utility Libraries
Programming Language Bindings
Benchmarks
Developer Tools
Products
Windows
Mac OS
UNIX/Linux
Java
RTOS
Community
Message Boards
Mailing Lists & News Groups
Job Classifieds
OpenGL.org Advertising
About OpenGL
Contact OpenGL
Events & Training
News archives
OpenGL overview
Architecture Review Board (ARB) Working Group
OpenGL Pipeline Newsletter
Licensing
Using the OpenGL logo
OpenGL homepage
Khronos Group
Submit News
OpenGL Headline News
Virtual Grand Prix 3 in true (stereo) 3D
Category:
Applications •
Comments
Dec 21, 2010VGP3, the OpenGL racecar simulator, is now available in true (stereoscopic) 3D! VGP3 uses the OpenGL Stereo 3D mode (quad-buffering), so an OpenGL Stereo 3D compliant graphics card (along with a 3D monitor/projector) is required. However, there is also an Anaglyph Red/Cyan postprocessor effect (obtained through FBOs) that can be used to re-create the 3D experience on any recent graphics card (in that case, cheap red/cyan glasses are the only requirement). As always, a free demo to give the 3D experience a try is available on the VGP3 website!
German Windows OpenGL 3 tutorial update
Category:
Developers •
Comments
Dec 14, 2010Several new Windows OpenGL 3 tutorials are available online. The new tutorials cover the following topics: geometry instancing and uniform buffer objects, using a custom 3d model format, bounding sphere collision models, model part animation, texture effects, dynamically loading and unloading of textures and meshes, particle rendering and animation using geometry instancing and uniform buffer objects, and managed instancing.
AMD Fusion Developers Summit call for heterogeneous computing proposals
Category:
Developers •
Comments
Dec 14, 2010In June 2011, developers, academics, industry leaders, and emerging innovators will convene in Bellevue, Washington at the inaugural AMD Fusion Developer Summit to learn about the AMD Fusion APU and the potential market opportunities it presents. AMD invites pioneers in heterogeneous computing to share their work and research findings in the form of presentations, technical papers, or reports with this influential community. Deadline for submissions is February 4th 2011.
Khronos Group prepares for SIGGRAPH ASIA 2010 DevU
Category:
General •
Developers •
Comments
Dec 14, 2010The Khronos Group is hosting a Khronos Developer University co-located with SIGGRAPH Asia. Numerous Khronos members have joined together with each member taking a demonstration suite to create a large number of exciting demos in the Khronos Pavilion on the SIGGRAPH trade show floor. On December 17th Rightware is sponsoring a Beer and Demo Social. Complete dates, and schedules are available on the Khronos website. The Khronos Group has just wrapped up very successful events in Beijing and Tokyo.
OpenGL Code Samples (December 2010) released
Category:
General •
Comments
Dec 14, 2010Fourteen modern OpenGL code samples have been released. From Triangle to Volumetric Ray Casting all written using only non-deprecated functionality.
Read more OpenGL news
Column Header
Upcoming Events
DMP OpenGL ES Programming - Training IDMP OpenGL ES Programming - Training IIProgrammability Issues for Heterogeneous Multicores WorkshopGLSL Programming training course (getting started)International Standards Workshop on Augmented Reality
More upcoming events
OGL Message Boards
Multiple Convolution passes on 3Dtexture nopingponPerspective correct interpolation of vertex attr.how i can do vertex blending without shaders?Computing screen coordinates oddities3D OBJECT SLICING ALGORITHM
Visit Discussion Forums
Khronos Recent News
Mozilla enables WebGL by default in Firefox Beta 8
Khronos Seoul DevU presentation slides now available online
OzViz 2010 OpenCL workshop material now online
SIGGRAPH Asia 2010 - OpenCL by Example course notes online
Chrome ships WebGL on by default
View all Khronos News
Column Footer
Column Header
Getting Started with OpenGL
Official OpenGL 4.1 feedback thread
OpenGL 4.1 Quick Reference Card (PDF)
Getting Started with WebGL
WebGL Public Wiki
RSS Feeds
OpenGL News Feeds
Job Feeds
Newsletter sign-up
Job Postings
QA lead/hands-on tester (Germany, ProData Consult)
QA Lead/tester (Germany, ProData Consult)
Graphics Specialist (San Diego, CA, Metro Networks)
OpenGL / DirectX Programmer (Singapore, Reed Technology)
Senior Engineer (Mountain View CA, Comcast Corporation)
» View All Listings
Column Footer
About Us
Privacy Policy
Access Keys
OpenGL is a registered trademark of SGI
Website Copyright 1997 - = date('Y') ?> Khronos Group. All rights reserved.
OpenGL.org organization managed by Gold Standard Group and website maintained by Out of Control®
temperature-friend
http://en.wikipedia.org/wiki/OpenGL says:
OpenGL - Wikipedia, the free encyclopedia
OpenGL
From Wikipedia, the free encyclopedia
Jump to: navigation,
search
OpenGL
Original author(s)
Silicon Graphics
Developer(s)
Khronos Group
Stable release
4.1[1] / July 26, 2010; 4 months ago (2010-07-26)
Written in
C
Operating system
Cross-platform
Platform
Cross-platform
Type
API
License
Various
Website
www.opengl.org
OpenGL (Open Graphics Library)[2] is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc. (SGI) in 1992[3] and is widely used in CAD, virtual reality, scientific visualization, information visualization, and flight simulation. It is also used in video games, where it competes with Direct3D on Microsoft Windows platforms (see OpenGL vs. Direct3D). OpenGL is managed by the non-profit technology consortium Khronos Group.
Contents
1 Design
2 Example
3 Documentation
4 Extensions
5 Associated utility libraries
6 Bindings
7 Higher level functionality
8 History
8.1 OpenGL 1.0
8.1.1 OpenGL 1.1
8.1.2 OpenGL 1.2
8.1.3 OpenGL 1.2.1
8.1.4 OpenGL 1.3
8.1.5 OpenGL 1.4
8.1.6 OpenGL 1.5
8.2 OpenGL 2.0
8.2.1 OpenGL 2.1
8.3 Longs Peak and OpenGL 3.0 controversy
8.4 OpenGL 3.0
8.4.1 OpenGL 3.1
8.4.2 OpenGL 3.2
8.4.3 OpenGL 3.3
8.5 OpenGL 4.0
8.5.1 OpenGL 4.1
9 Sample renderings
10 See also
10.1 OpenGL support libraries
10.2 Other 3D graphics APIs
10.3 Other 2D graphics APIs
11 References
12 Books
13 External links
[edit] Design
OpenGL serves two main purposes:
Hide complexities of interfacing with different 3D accelerators by presenting a single, uniform interface
Hide differing capabilities of hardware platforms by requiring support of full OpenGL feature set for all implementations (using software emulation if necessary).
OpenGL's basic operation is to accept primitives such as points, lines and polygons, and convert them into pixels. This is done by a graphics pipeline known as the OpenGL state machine. Most OpenGL commands either issue primitives to the graphics pipeline, or configure how the pipeline processes these primitives. Prior to the introduction of OpenGL 2.0, each stage of the pipeline performed a fixed function and was configurable only within tight limits. OpenGL 2.0 offers several stages that are fully programmable using GLSL.
OpenGL is a low-level, procedural API, requiring the programmer to dictate the exact steps required to render a scene. This contrasts with descriptive (aka scene graph or retained mode) APIs, where a programmer only needs to describe a scene and can let the library manage the details of rendering it. OpenGL's low-level design requires programmers to have a good knowledge of the graphics pipeline, but also gives a certain amount of freedom to implement novel rendering algorithms.
OpenGL has historically been influential on the development of 3D accelerators, promoting a base level of functionality that is now common in consumer-level hardware:
Simplified version of the Graphics Pipeline Process; excludes a number of features like blending, VBOs and logic ops
Rasterised points, lines and polygons as basic primitives
A transform and lighting pipeline
Z-buffering
Texture mapping
Alpha blending
A brief description of the process in the graphics pipeline could be:[4]
Evaluation, if necessary, of the polynomial functions which define certain inputs, like NURBS surfaces, approximating curves and the surface geometry.
Vertex operations, transforming and lighting them depending on their material. Also clipping non-visible parts of the scene in order to produce the viewing volume.
Rasterisation or conversion of the previous information into pixels. The polygons are represented by the appropriate colour by means of interpolation algorithms.
Per-fragment operations, like updating values depending on incoming and previously stored depth values, or colour combinations, among others.
Lastly, fragments are inserted into the frame buffer.
Many modern 3D accelerators provide functionality far above this baseline, but these new features are generally enhancements of this basic pipeline rather than radical revisions of it.
[edit] Example
This example will draw a green square on the screen. OpenGL has several ways to accomplish this task, but this is the easiest to understand. However, the reader should be aware that most of the APIs used in the code below have been deprecated in and after the OpenGL 3.0 specification.
This section may require cleanup to meet Wikipedia's quality standards. Please improve this section if you can. The talk page may contain suggestions. (September 2010)
glClear( GL_COLOR_BUFFER_BIT );
This statement clears the color buffer, so that the screen will start blank. It takes an argument that defines which buffer to clear, in this case it is the color buffer.
glMatrixMode( GL_PROJECTION ); /* Subsequent matrix commands will affect the projection matrix */
glLoadIdentity(); /* Initialise the projection matrix to identity */
glFrustum( -1, 1, -1, 1, 1, 1000 ); /* Apply a perspective-projection matrix */
These statements initialize the projection matrix, setting a 3d frustum matrix that represents the viewable area (viewing frustum). This matrix transforms objects from camera-relative space to OpenGL's projection space.
glMatrixMode( GL_MODELVIEW ); /* Subsequent matrix commands will affect the modelview matrix */
glLoadIdentity(); /* Initialise the modelview to identity */
glTranslatef( 0, 0, -3 ); /* Translate the modelview 3 units along the Z axis */
These statements initialize the modelview matrix. This matrix defines a transform from model-relative coordinates to camera space. The combination of the modelview matrix and the projection matrix transforms objects from model-relative space to projection screen space.
glBegin( GL_POLYGON ); /* Begin issuing a polygon */
glColor3f( 0, 1, 0 ); /* Set the current color to green */
glVertex3f( -1, -1, 0 ); /* Issue a vertex */
glVertex3f( -1, 1, 0 ); /* Issue a vertex */
glVertex3f( 1, 1, 0 ); /* Issue a vertex */
glVertex3f( 1, -1, 0 ); /* Issue a vertex */
glEnd(); /* Finish issuing the polygon */
These commands draw a green square in the XY plane. This is using immediate mode. The square could also be rendered using arrays and calling glDrawArrays( ).
[edit] Documentation
OpenGL's popularity is partially due to the excellence of its official documentation. The OpenGL ARB released a series of manuals along with the specification which have been updated to track changes in the API. These are almost universally known by the colors of their covers:
The Red Book
OpenGL Programming Guide, 7th edition. ISBN 0-321-55262-8
A readable tutorial and reference book – this is a 'must have' book for OpenGL programmers.
The Blue Book
OpenGL Reference manual, 4th edition. ISBN 0-321-17383-X
Essentially a hard-copy printout of the man pages for OpenGL.
Includes a poster-sized fold-out diagram showing the structure of an idealised OpenGL implementation.
The Green Book
OpenGL Programming for the X Window System. ISBN 0-201-48359-9
A book about X11 interfacing and GLUT.
The Alpha Book (white cover)
OpenGL Programming for Windows 95 and Windows NT. ISBN 0-201-40709-4
A book about interfacing OpenGL with Microsoft Windows.
Then, for OpenGL 2.0 and beyond:
The Orange Book
OpenGL Shading Language, 3rd edition. ISBN 0-321-63763-1
A readable tutorial and reference book for GLSL.
[edit] Extensions
The OpenGL standard allows individual vendors to provide additional functionality through extensions as new technology is created. Extensions may introduce new functions and new constants, and may relax or remove restrictions on existing OpenGL functions. Each vendor has an alphabetic abbreviation that is used in naming their new functions and constants. For example, Nvidia's abbreviation (NV) is used in defining their proprietary function glCombinerParameterfvNV() and their constant GL_NORMAL_MAP_NV.
It may happen that more than one vendor agrees to implement the same extended functionality. In that case, the abbreviation EXT is used. It may further happen that the Architecture Review Board "blesses" the extension. It then becomes known as a standard extension, and the abbreviation ARB is used. The first ARB extension was GL_ARB_multitexture, introduced in version 1.2.1. Following the official extension promotion path, multitexturing is no longer an optionally implemented ARB extension, but has been a part of the OpenGL core API since version 1.3.
Before using an extension a program must first determine its availability, and then obtain pointers to any new functions the extension defines. The mechanism for doing this is platform-specific and libraries such as GLEW and GLEE exist to simplify the process.
Specifications for nearly all extensions can be found at the official extension registry.[5]
[edit] Associated utility libraries
Several libraries are built on top of or beside OpenGL to provide features not available in OpenGL itself. Libraries such as GLU can be found with most OpenGL implementations, and others such as GLUT and SDL have grown over time and provide rudimentary cross-platform windowing and mouse functionality, and if unavailable can easily be downloaded and added to a development environment. Simple graphical user interface functionality can be found in libraries like GLUI or FLTK. Still other libraries like GLAux (OpenGL Auxiliary Library) are deprecated and have been superseded by functionality commonly available in more popular libraries, but code using them still exists, particularly in simple tutorials. Other libraries have been created to provide OpenGL application developers a simple means of managing OpenGL extensions and versioning. Examples of these libraries include GLEW (the OpenGL Extension Wrangler Library) and GLEE (the OpenGL Easy Extension Library).
In addition to the aforementioned simple libraries, other higher-level object-oriented scene graph retained mode libraries exist such as PLIB, OpenSG, OpenSceneGraph, and OpenGL Performer. These are available as cross-platform free/open source or proprietary programming interfaces written on top of OpenGL and systems libraries to enable the creation of real-time visual simulation applications. Other solutions support parallel OpenGL programs for Virtual Reality, scalability or graphics clusters usage, either transparently like Chromium or through a programming interface like Equalizer.
Mesa 3D is a free/open source implementation of OpenGL. It supports pure software rendering as well as providing hardware acceleration for several 3D graphics cards under Linux. As of 22 June 2007 it implements the 2.1 standard, and provides some of its own extensions for some platforms.
[edit] Bindings
This section may require cleanup to meet Wikipedia's quality standards. Please improve this section if you can. The talk page may contain suggestions. (July 2009)
In order to emphasize its multi-language and multi-platform characteristics, various bindings and ports have been developed for OpenGL in many languages. Some languages and their bindings are:
Ada: AdaOpenGL 1.12 supports GL, GLU, GLUT, GLX and WGL and (for OpenGL3) OpenGL3Ada
BlitzMax: Supplied OpenGL bindings included in its standard library.
C#:
The Open Toolkit library contains OpenGL, OpenAL and OpenCL bindings for .Net/Mono. Supports Win32/64, Linux and Mac OS X.
The framework Tao for Microsoft .NET includes OpenGL between other multimedia libraries.[6]
D: See bindings and Project Derelict
Delphi: Dot
Eiffel: EiffelOpenGL and Eiffelmedia
Fortran: f90gl supports OpenGL 1.2, GLU 1.2 and GLUT 3.7
FreeBASIC: Native OpenGL support. Built-in OpenGL context creation.
FreePascal: Supplied OpenGL bindings included in its standard distribution.
GLBasic: Powerful cross platform BASIC which uses OpenGL, OpenGL ES or a software rasterizer depending on the target platform.
Haskell: HOpenGL supports GL, GLU and GLUT. Currently included as part of the Haskell Platform.
Java:
Java Bindings for OpenGL (JSR 231) and Java OpenGL (JOGL)
Lightweight Java Game Library (LWJGL)
Common Lisp: See the cl-opengl project at common-lisp.net
Clojure: See Idiomatic OpenGL bindings for Clojure at github.com
Lazarus: OpenGL context creation through LazOpenGLContext package. Real time 3D object manipulation though GLScene package.
Lua: See OpenGraphicsLibrary at lua-users wiki
Mercury: Prolog mtogl[where?]
Objective-C: Achieved by Cocoa classes NSOpenGLView, NSOpenGLContext and NSOpenGLPixelFormat.
Ocaml: GLCaml, LablGL and glMLite
Perl:
Perl OpenGL (POGL) module - shared libs written in C
C vs Perl and Perl vs Python benchmarks
Pike: It has a OpenGL native interface. Moreover, it supports GLU and GLUT[7]
PHP: See http://phpopengl.sourceforge.net/
PureBasic: Native OpenGL support.
Python: PyOpenGL supports GL, GLU and GLUT
R: rgl package is a visualization device system using OpenGL as the rendering backend.
Ruby MRI: ruby-opengl - supports GL, GLU and GLUT
Scheme:
Chicken Scheme has an OpenGL egg
OpenGL bindings for PLT Scheme
OpenGL bindings for Gauche Scheme
Ypsilon Scheme comes with GL and GLUT bindings out of the box
Smalltalk as in Croquet Project running on Squeak Smalltalk
thinBasic: native interface for OpenGL 2.1, GLU library + language specific higher level module
Visual Basic: ActiveX Control
Visual Prolog commercial edition
[edit] Higher level functionality
OpenGL was designed to be graphic output-only: it provides only rendering functions. The core API has no concept of windowing systems, audio, printing to the screen, keyboard/mouse or other input devices. While this seems restrictive at first, it allows the code that does the rendering to be completely independent of the operating system it is running on, allowing cross-platform development. However, some integration with the native windowing system is required to allow clean interaction with the host system. This is performed through the following add-on APIs:
GLX – X11 (including network transparency)
WGL – Microsoft Windows
CGL – Mac OS X. Better integration with Mac OS X's application frameworks is provided by APIs layered on top of CGL: AGL for Carbon and NSOpenGL for Cocoa.
Additionally, GLUT, SDL, SFML and the GLFW libraries provide functionality for basic windowing using OpenGL, in a portable manner.
Some open source cross-platform toolkits, such as GTK+, Qt and WxWidgets, include widgets to embed OpenGL contents.
[edit] History
In the 1980s, developing software that could function with a wide range of graphics hardware was a real challenge. Software developers wrote custom interfaces and drivers for each piece of hardware. This was expensive and resulted in much duplication of effort.
By the early 1990s, Silicon Graphics (SGI) was a leader in 3D graphics for workstations. Their IRIS GL API[8] was considered the state of the art and became the de facto industry standard, overshadowing the open standards-based PHIGS. This was because IRIS GL was considered easier to use, and because it supported immediate mode rendering. By contrast, PHIGS was considered difficult to use and outdated in terms of functionality.
SGI's competitors (including Sun Microsystems, Hewlett-Packard and IBM) were also able to bring to market 3D hardware, supported by extensions made to the PHIGS standard. This in turn caused SGI market share to weaken as more 3D graphics hardware suppliers entered the market. In an effort to influence the market, SGI decided to turn the IrisGL API into an open standard.
SGI considered that the IrisGL API itself wasn't suitable for opening due to licensing and patent issues. Also, the IrisGL had API functions that were not relevant to 3D graphics. For example, it included a windowing, keyboard and mouse API, in part because it was developed before the X Window System and Sun's NeWS systems were developed.
In addition, SGI had a large number of software customers; by changing to the OpenGL API they planned to keep their customers locked onto SGI (and IBM) hardware for a few years while market support for OpenGL matured. Meanwhile, SGI would continue to try to maintain their customers tied to SGI hardware by developing the advanced and proprietary Iris Inventor and Iris Performer programming APIs.
As a result, SGI released the OpenGL standard.
The OpenGL standardised access to hardware, and pushed the development responsibility of hardware interface programs, sometimes called device drivers, to hardware manufacturers and delegated windowing functions to the underlying operating system. With so many different kinds of graphic hardware, getting them all to speak the same language in this way had a remarkable impact by giving software developers a higher level platform for 3D-software development.
In 1992,[9] SGI led the creation of the OpenGL architectural review board (OpenGL ARB), the group of companies that would maintain and expand the OpenGL specification for years to come. OpenGL evolved from (and is very similar in style to) SGI's earlier 3D interface, IrisGL. One of the restrictions of IrisGL was that it only provided access to features supported by the underlying hardware. If the graphics hardware did not support a feature, then the application could not use it. OpenGL overcame this problem by providing support in software for features unsupported by hardware, allowing applications to use advanced graphics on relatively low-powered systems.
In 1994, SGI played with the idea of releasing something called "OpenGL++" which included elements such as a scene-graph API (presumably based on their Performer technology). The specification was circulated among a few interested parties – but never turned into a product.[10]
Microsoft released Direct3D in 1995, which would become the main competitor of OpenGL. On December 17, 1997,[11] Microsoft and SGI initiated the Fahrenheit project, which was a joint effort with the goal of unifying the OpenGL and Direct3D interfaces (and adding a scene-graph API too). In 1998, Hewlett-Packard joined the project.[12] It initially showed some promise of bringing order to the world of interactive 3D computer graphics APIs, but on account of financial constraints at SGI, strategic reasons at Microsoft, and general lack of industry support, it was abandoned in 1999.[13]
OpenGL releases are backward compatible. In general, graphics cards released after the OpenGL version release dates shown below support those version features, and all earlier features. For example the GeForce 6800, listed below, supports all features up to and including OpenGL 2.0. (Specific cards may conform to an OpenGL spec, but selectively not support certain features. For details, the GPU Caps Viewer software includes a database of cards and their supported specs)
[edit] OpenGL 1.0
Released January, 1992.
The first OpenGL specification was released by Mark Segal and Kurt Akeley.
[edit] OpenGL 1.1
Released January, 1997.
OpenGL 1.1 focused on supporting textures and texture formats on GPU hardware.
Supported GPU Cards: all
Extension
Extension ID
Functions
Vertex Arrays
EXT_vertex_array
glVertexPointer, glColorPointer, glNormalPointer
Polygon Offsets (depth biasing)
EXT_polygon_offset
glPolygonOffset
RGBA logical blending
EXT_blend_logic_op
glBlendFunc
Texture Copy and Sub-copy
EXT_subtexture, EXT_copy_texture
glTexSubImage1D/2D/3D
Texture Formats
EXT_texture
RGB, LUMINANCE, ALPHA, INTENSITY (in glTexImage2D)
Texture Objects
EXT_texture_object
glGenTextures, glBindTextures
[edit] OpenGL 1.2
Released March 16, 1998.
OpenGL 1.2 focused on supporting volume textures, packed pixels, normal rescaling, clamped/edge texture sampling and image processing.
Supported GPU Cards: Rage 128, Rage 128 GL, Rage XL/XC, Rage 128 Pro, Rage Fury MAXX, and all later cards.
Extension
Extension ID
Functions
3D Volume Textures
GL_EXT_texture3D
glTexImage3DEXT
BGRA Texture Format
GL_EXT_bgra
BGR_EXT, BGRA_EXT (in glTexImage2D)
Packed Pixels
GL_EXT_packed_pixels
Normal Rescaling
GL_EXT_rescale_normal
Separate Specular Color
GL_EXT_separate_specular_color
Texture Coord Edge Clamping
SGIS_texture_edge_clamp
Texture LOD Control
SGIS_texture_lod
Draw Range Elements
EXT_draw_range_elements
glDrawRangeElements
Image Processing Subset
EXT_color_table, EXT_convolution, SGI_color_matrix, EXT_histogram, EXT_blend_color, EXT_blend_minmax
[edit] OpenGL 1.2.1
Released October 14, 1998
OpenGL 1.2.1 was a minor release after OpenGL 1.2 (March 16, 1998) which added multi-texture, or texture units, to the rendering pipeline. This allowed multiple textures to be blended per pixel during rasterization.
Supported Cards: Radeon, Radeon Mobility, Radeon 7500 Mobility, Radeon 8500, Radeon 9000, Radeon 9200, Radeon 9600, Radeon 9800, GeForce 3, GeForce 4Ti, GeForce FX, and all later cards
Extension
Extension ID
Functions
Multi-Texturing
SGIS_multitexture
glActiveTextureARB, glClientActiveTextureARB
[edit] OpenGL 1.3
Released August 14, 2001.
OpenGL 1.3 added support for cubemap texture, multi-texturing, multi-sampling, and texture unit combine operations (add, combine, dot3, border clamp).
Supported Cards: Radeon 32/36, Radeon 64/7200, Radeon 7000, Radeo AIW, Radeon 7500, Radeon IGP 320M, Radeon IGP 345M, ES1000, Radeon 8500, Radeon 9000/Pro, Radeon 9100/9200/9250 (Pro & IGP), GeForce 3, GeForce 4Ti, GeForce FX, and all later cards.
Extension
Extension ID
Functions
Compressed Textures
GL_ARB_texture_compression
Cubemaps
GL_EXT_texture_cube_map
TEXTURE_CUBE_MAP_EXT
Multi-Sampling
GL_ARB_multisample
Texture Add
GL_ARB_texture_env_add
Texture Combine
GL_ARB_texture_env_combine
Texture Dot3
GL_ARB_texture_env_dot3
Texture Border Clamping
GL_ARB_texture_border_clamp
Matrix Transpose
GL_ARB_transpose_matrix
[edit] OpenGL 1.4
Released July 24, 2002.
OpenGL 1.4 added hardware shadowing support, fog coordinates, automatic mipmap generation, and additional texture modes.
Supported Cards: Quadro DCC, Quadro4 380 XGL, Quadro4 500XGL, 550XGL, Quadro4 700XGL, 750XGL, 900XGL, 980XGL, and all later cards.
Extension
Extension ID
Functions
Automatic Mipmaps
SGIS_generate_mipmap
Blend Squaring Functions
GL_NV_blend_square
Depth Textures
GL_ARB_depth_texture
DEPTH_COMPONENT16/24/32_ARB
Hardware Shadowing Z-depth
GL_ARB_shadow
COMPARE_R_TO_TEXTURE
Fog Coordinates
GL_EXT_fog_coord
Multiple Draw Arrays
GL_EXT_multi_draw_arrays
Point Parameters
GL_ARB_point_parameter
Secondary Color
GL_EXT_secondary_color
Separate Blend Functions
GL_EXT_blend_func_separate
Stencil Wrapping
GL_EXT_stencil_wrap
Texture Crossbar Environment Mode
GL_ARB_texture_env_crossbar
Texture LOD Bias
GL_EXT_texture_lod_bias
Texture Mirrored Repeat
GL_ARB_texture_mirrored_repeat
Window Raster Position
GL_ARB_window_pos
[edit] OpenGL 1.5
Released July 29, 2003.
OpenGL 1.5 added support for vertex buffer objects (VBOs), occlusion queries, and extended shadowing functions.
Supported Cards: Radeon X800, Radeon 9600, Radeon 9700, Radeon 9800, GeForce FX, and all later cards.
Extension
Extension ID
Functions
More Info
VBOs Vertex Buffer Objects
GL_ARB_vertex_buffer_object
glBindBufferARB, glBufferDataARB, glGenBuffersARB
songho
Occlusion Queries
GL_ARB_occlusion_query
Extended Shadow Functions
GL_EXT_shadow_funcs
[edit] OpenGL 2.0
Released September 7, 2004.
OpenGL 2.0 was originally conceived by 3Dlabs to address concerns that OpenGL was stagnating and lacked a strong direction.[14] 3Dlabs proposed a number of major additions to the standard. Most of these were, at the time, rejected by the ARB or otherwise never came to fruition in the form that 3Dlabs proposed. However, their proposal for a C-style shading language was eventually completed, resulting in the current formulation of GLSL (the OpenGL Shading Language, also slang). Like the assembly-like shading languages that it was replacing, it allowed the programmer to replace the fixed-function vertex and fragment pipe with shaders, though this time written in a C-like high-level language.
The design of GLSL was notable for making relatively few concessions to the limitations of the hardware then available; this hearkened back to the earlier tradition of OpenGL setting an ambitious, forward-looking target for 3D accelerators rather than merely tracking the state of currently available hardware. The final OpenGL 2.0 specification[15] includes support for GLSL.
OpenGL 2.0 added support for a true, GPU-based assembly language called ARB (designed by the Architecture Review Board), which would become the standard for vertex and fragment shaders. Cards released with OpenGL 2.0 were the first to offer user-programmable shaders.[16]
Extension
Extension ID
Functions
Shader Objects
GL_ARB_shader_objects
Vertex Programs
GL_ARB_vertex_program
glBindProgramARB, glGenProgramsARB
Vertex Shaders (VS)
GL_ARB_vertex_shader
Fragment Shaders (FS)
GL_ARB_fragment_shader
Multiple Render Targets
GL_ARB_draw_buffers
glDrawBuffers
Non-power-of-two Texture
GL_ARB_texture_non_power_of_two
Rectangular Texture (limited subset of NPOT)
GL_ARB_texture_rectangle
GL_TEXTURE_RECTANGLE_ARB
Point Sprites
GL_ARB_point_sprite
Multiple Render Targets
GL_ARB_draw_buffers
not truly "multiple" on ATI cards at that time (GL_MAX_DRAW_BUFFERS=1)
Vertex texture fetch
not truly supported on ATI cards at that time (GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS=0)
Separate Blend Equation
GL_EXT_blend_equation_separate
Separate Stencil
GL_EXT_stencil_two_side
[edit] OpenGL 2.1
Released July 2, 2006.
OpenGL 2.1 introduced support for pixel buffer objects (PBOs), sRGB textures (gamma-corrected textures), and non-square matrices, and the Shading Language revision GLSL 1.20.[17]
Supported Cards: Radeon HD 2350, GeForce FX (with driver 175.19), GeForce 6 series, GeForce 7 series, GeForce Go 7 series, Quadro FX 4000, Quadro FX 350, Quadro FX 550, Quadro FX 560, Quadro FX 1400, Quadro FX 1500, Quadro FX 5500, and all later cards.
Extension
Extension ID
Functions
Non-Square Matricies
glUniformMatrix{}fv
PBOs Pixel Buffer Objects
GL_ARB_pixel_buffer_object
sRGB Texture (gamma 2.2)
GL_EXT_texture_sRGB
[edit] Longs Peak and OpenGL 3.0 controversy
Prior to the release of OpenGL 3.0, the new revision was known as the codename Longs Peak. At the time of its original announcement Longs Peak was presented as the first major API revision in OpenGL's lifetime. It consisted of an overhaul to the way that OpenGL works, calling for fundamental changes to the API.
The draft introduced a change to object management. The GL 2.1 object model was built upon the state-based design of OpenGL. That is, in order to modify an object or to use it, one needs to bind the object to the state system, then make modifications to the state or perform function calls that use the bound object.
Because of OpenGL's use of a state system, objects must be mutable. That is, the basic structure of an object can change at any time, even if the rendering pipeline is asynchronously using that object. A texture object can be redefined from 2D to 3D. This requires any OpenGL implementations to add a degree of complexity to internal object management.
Under the Longs Peak API, object creation would become atomic, using templates to define the properties of an object which would be created with a single function call. The object could then be used immediately across multiple threads. Objects would also be immutable; however, they could have their contents changed and updated. For example, a texture could change its image, but its size and format could not be changed.
To support backwards compatibility the old state based API would still be available, but no new functionality would be exposed via the old API in later versions of OpenGL. This would have allowed legacy code bases, such as the majority of CAD products, to continue to run while other software could be written against or ported to the new API.
Longs Peak was initially due to be finalized in September 2007 under the name OpenGL 3.0, but the Khronos group announced October 30 that it had run into several issues that it wished to address before releasing the specification.[18] As a result, the spec was delayed, and the Khronos group went into a media blackout until the release of the final OpenGL 3.0 spec.
The final specification proved far less revolutionary than the Longs Peak proposal. Instead of removing all immediate mode and fixed functionality (non-shader mode), the spec included them as deprecated features. The proposed object model was not included, and no plans have been announced to include it in any future revisions. As a result the API remained largely the same with a few existing extensions being promoted to core functionality.
Among some developer groups this decision caused something of an uproar,[19] with many developers professing that they would switch to DirectX in protest. Most complaints revolved around the lack of communication by Khronos to the development community and multiple features being discarded that were viewed favorably by many. Other frustrations included the requirement of DirectX 10 level hardware in order to use OpenGL 3.0 and the absence of geometry shaders and instanced rendering as core features.
Other sources reported that the community reaction was not quite as severe as originally presented,[20] with many vendors showing support for the update.[21][22]
[edit] OpenGL 3.0
Released July 11, 2008.
OpenGL 3.0 added support for frame buffer objects, hardware instancing, vertex array objects (VAOs), and sRGB framebuffers (gamma 2.2).[23] OpenGL 3.0 introduced a deprecation mechanism to simplify the API in future revisions.
Supported Cards: Radeon HD series; GeForce 8, 9, 100-series, 200-series, 300-series and 400-series
Features:
OpenGL Shading Language revision 1.30 (GLSL)
Vertex Array Objects
More flexible Framebuffer Objects
32-bit (single precision) floating-point textures and render buffers
16-bit (half precision) floating-point vertex and pixel data
Ability to render vertex transformations into a buffer
Texture arrays
32-bit (single precision) floating point depth buffer support
Full use of OpenGL 3.0 requires the same level of hardware as is required for DirectX 10 support. Unlike DirectX 10, OpenGL 3.0 does not require Windows Vista and can be used on any OS for which the appropriate drivers are provided.
Extension
Extension ID
Functions
FBOs Frame Buffer Objects
GL_EXT_framebuffer_object
glFrameBufferTexture2DEXT
FBO Multisampling
GL_EXT_framebuffer_multisample
Hardware Instancing
GL_EXT_draw_instanced
glDrawArraysInstancedEXT, glDrawElementsInstancedEXT
VAOs Vertex Array Objects
GL_ARB_vertex_array_object
glBindVertexArray, glGenVertexArray
sRGB Framebuffers (gamma 2.2)
GL_EXT_framebuffer_sRGB
FRAMEBUFFER_SRGB_EXT
[edit] OpenGL 3.1
Released March 24, 2009 and updated May 28, 2009.
OpenGL 3.1 introduces a range of features to make the API more convenient to use, in addition to performance oriented features:[24]
OpenGL Shading Language revision 1.40 (GLSL)
Texture Buffer Objects - a new texture type that holds a one-dimensional array of texels
Uniform Buffer Objects for fast data share/update
Signed normalized textures (±1.0 range)
A minimum of 16 texture units accessible by the vertex shader
Primitive restart
Instancing - drawing of objects multiple times through the re-use of vertex data
CopyBuffer API for fast data copy; used in conjunction with OpenCL
With the release of the OpenGL 3.1 specification, a compatibility extension that enables developers to access the OpenGL 1.X/2.X functionality removed in OpenGL 3.1 was also released.[25] Notably, legacy functionality for wide line support is retained.
Removed legacy functionality includes:[26]
All fixed-function options
Direct mode
Color index mode, i.e. pixel formats with color palettes
[edit] OpenGL 3.2
Released 3 August 2009 and updated 7 December 2009.
Supported Cards: GeForce 8, GeForce 9, GeForce 100, GeForce 200 and GeForce 300 series, Radeon HD series
Features:
OpenGL Shading Language revision 1.50 (GLSL)
Geometry Shader support
BGRA vertex component ordering
Shader Fragment coordinate convention control
Seamless cube map filtering
Fragment depth clamping
Multisampled textures and texture samples for specific sample locations
Sync and Fence objects
[edit] OpenGL 3.3
Released 11 March 2010
Supported Cards: GeForce 8, GeForce 9, GeForce 100, GeForce 200 and GeForce 300 series
OpenGL 3.3, simultaneously released with OpenGL 4.0 and supplemented by a set of new ARB extensions, backports as much functionality possible from the OpenGL 4.0 specification for use on previous generation GPU hardware. Includes GLSL 3.30.
[edit] OpenGL 4.0
Released 11 March 2010
Supported Cards: Nvidia GeForce 400 series, Nvidia GeForce 500 series, ATI Radeon HD 5000 series, ATI Radeon HD 6000 series
Features:[27]
OpenGL Shading Language revision 4.00 (GLSL)
Two new shader stages that enable the GPU to offload geometry tessellation from the CPU.
Per-sample fragment shaders and programmable fragment shader input positions for increased rendering quality and anti-aliasing flexibility.
Shader subroutines for significantly increased programming flexibility.
Separation of texture state and texture data through the addition of a new object type called sampler objects.
Drawing of data generated by OpenGL or external APIs such as OpenCL, without CPU intervention.
64-bit double precision floating point shader operations and inputs/outputs for increased rendering accuracy and quality.
Performance improvements; such as instanced geometry shaders, instanced arrays and a new timer query.
[edit] OpenGL 4.1
Announced 26 July 2010 [28]
Supported Cards: Nvidia GeForce 400 series, Nvidia GeForce 500 series, ATI Radeon HD 5000 series, AMD Radeon HD 6000 Series
This new version adds these additional features to the specification, many of which help bring it in line with those in Direct3D 11:
OpenGL Shading language (GLSL) 4.1
Full compatibility with OpenGL for Embedded Systems (OpenGL ES) 2.0 APIs
Reduced shaders compilation times with the ability to query and load a binary for shader program objects
The ability to bind programs individually to the five programmable stages (Vertex, Tessellation Control, Tessellation Evaluation, Geometry, and Fragment)
Improvements to the general 64-bit floating point supported added in OpenGL 4.0 (64-bit floating-point component input for vertex shader)
[edit] Sample renderings
Refraction using programmable vertex shaders
Animated textures using framebuffer objects and vertex/fragment program extensions
Procedural artwork using display lists
[edit] See also
List of OpenGL programs – list of popular games and applications that use OpenGL
ARB (GPU assembly language) – OpenGL's low-level shading language
Cg – Nvidia's shading language that works with OpenGL
GLSL – Open crossplatform high-level shading language that works with OpenGL
OpenCL – Open crossplatform GPU general purpose language that works with OpenGL
OpenGL ES – OpenGL for embedded systems
OpenVG – 2D vector graphics API aiming to leverage accelerated-hardware
OpenAL – The Open Audio Library – designed to work well with OpenGL
OpenSL ES – Another audio library
OpenML – The Open Media Library – designed to work well with OpenGL
Graphics pipeline
Vertex Buffer Object
WebGL – JavaScript binding to Open GL ES 2.0 for web applications with hardware accelerated 3D graphics.
[edit] OpenGL support libraries
GLU – Some additional functions for OpenGL programs.
GLUT – The OpenGL utility toolkit.
freeglut – Open source alternative to GLUT
GLUI – a GUI toolkit made with GLUT
SDL – The Simple DirectMedia Layer.
GtkGLExt – library to make GTK+ widgets OpenGL-capable.
GLee – The OpenGL Easy Extension library.
GLEW – The OpenGL Extension Wrangler Library.
gl3w – Simple OpenGL 3/4 core profile loading
GLM – C++ mathematics toolkit for OpenGL based on the GLSL specification.
SFML – Simple and Fast Multimedia Library.
JOGL – Java bindings for OpenGL API.
[edit] Other 3D graphics APIs
Direct3D – A competitor to OpenGL. See Comparison of OpenGL and Direct3D.
Glide – A graphics API for use on 3dfx Voodoo cards.
Mesa 3D – An open source implementation of OpenGL.
Open Inventor - C++ object oriented 3D graphics API that provides a higher layer of programming for OpenGL.
RISpec – Pixar's open API for photorealistic off-line rendering.
TinyGL - A minimal but very fast software-only implementation of OpenGL by Fabrice Bellard. See bellard.org/TinyGL
VirtualGL – An OpenGL 3D model server that sends rendered images to a remote X server.
[edit] Other 2D graphics APIs
cairo – a cross platform graphical vectorial draw and text toolkit.
GTK+ – a cross platform graphical widget toolkit.
Java 2D – a cross platform API for drawing two-dimensional graphics.
Qt – a cross platform graphical widget toolkit.
wxWidgets – a cross platform graphical widget toolkit.
Asymptote Vector Graphics Language – a script driven, LaTex compatible, language for high quality sketches, graphs, diagrams, geometry and typesetting with output in PostScript, PDF, SVG, and 3D PRC.
Cairo, Java2D, Asymptote and Qt can use OpenGL as backend.
[edit] References
^ Khronos Drives Rapid Evolution of Cross-Platform 3D Graphics with Release of OpenGL 4.1 Specification
^ http://www.opengl.org/registry/doc/glspec40.core.20100311.pdf OpenGL 4.0 Specification
^ "SGI - OpenGL Overview". http://www.sgi.com/products/software/opengl/overview.html.
^ "The OpenGL Graphics System Specification. Version 2.1" (PDF). http://www.opengl.org/registry/doc/glspec21.20061201.pdf.
^ http://www.opengl.org/registry/
^ http://www.taoframework.com/
^ http://pike.ida.liu.se/about/pike/modules.xml
^ "IRIS GL, SGI's property". http://www.cg.tuwien.ac.at/~wimmer/apis/API_Summary.html.
^ "Creation of the OpenGL ARB". http://www.sgi.com/company_info/newsroom/press_releases/2004/august/opengl.html.
^ "End of OpenGL++". http://www.opengl.org/about/arb/meeting_notes/notes/Meeting1.2/meeting_note_10-03-98.html.
^ "Announcement of Fahrenheit". http://www.windowsitpro.com/Article/ArticleID/17533/17533.html.
^ "Members of Fahrenheit. 1998.". Computergram International. 1998. http://www.findarticles.com/p/articles/mi_m0CGN/is_n3341/ai_20211297.
^ "End of Fahrenheit". http://www.theregister.co.uk/1999/11/29/ms_quietly_dumps_windows_opengl/.
^ Fedy Abi-Chahla (2008-09-16). "OpenGL 3 (3DLabs And The Evolution Of OpenGL)". Tom's Hardware. http://www.tomshardware.com/reviews/opengl-directx,2019-2.html. Retrieved 2010-10-24.
^ http://www.opengl.org/documentation/specs/version2.0/glspec20.pdf
^ Supported cards for OpenGL 2.0: Radeon 9650, Radeon 9500, Radeon 9500/9550/9600/9700/9800 (Pro, SE, XT), Radeon X1050, Radeon Xpress 200 / 1100, Radeon X300, Radeon X550, Radeon X600/Pro, Radeon X700, Radeon X800 (VE, SE, GT, Pro), Radeon X850, Radeon Xpress 1250, Radeon X1200, Radeon X1250, Radeon 2100, Radeon X1300, X1550, X1600, X1650, X1800, X1900, X1950 (Pro, XT, GT), GeForce 6800, Quadro 600, Qaudro FX 500, Quadro FX 700, Quadro FX 1000, FX 2000, FX 3000, Quadro FX 1400, Quadro FX 1500, Quadro FX 3450, Quadro FX 3500, Quadro FX 4500X2, Quadro FX4500 SDI, and all later cards. It is also included in Intel GMA X3500, X4500 and clarkdale family (core i3, core i5 inbuilt gpu chip on cpu) CPUs
^ "OpenGL 2.1 Features". http://www.opengl.org/documentation/current_version/.
^ "OpenGL ARB announces an update on OpenGL 3.0". October 30, 2007. http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=229374#Post229374. Retrieved 2007-10-31.
^ http://tech.slashdot.org/article.pl?sid=08/08/11/2135259
^ "OpenGL BOF went over well, no pitch forks seen". http://www.opengl.org/news/opengl_bof_went_over_well_no_pitch_forks_seen.
^ http://www.opengl.org/news/nick_haemel_amd_blog_post_opengl_30_a_big_step_in_the_right_direction/
^ "NVIDIA provides early OpenGL 3.0 driver now". http://www.opengl.org/news/nvidia_provides_early_opengl_30_driver_now.
^ http://www.opengl.org/registry/doc/glspec30.20080811.pdf
^ Khronos Group (24 March 2009). "Khronos Releases Streamlined OpenGL 3.1 Specification". Press release. http://www.khronos.org/news/press/releases/khronos-releases-streamlined-opengl-3.1-specification/. Retrieved 2009-03-30.
^ Khronos webmaster (March 24, 2009). "Official feedback on OpenGL 3.1 thread". OpenGL.org Discussion and Help Forums. http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=255002. Retrieved 2009-03-30.
^ Bertuch, Manfred (26 March 2009). "Specification adopted for OpenGL 3.1". heise online. http://www.heise.de/english/newsticker/news/135265. Retrieved 2009-03-30.
^ Khronos webmaster (March 11, 2010). "Khronos Unleashes Cutting-Edge, Cross-Platform Graphics Acceleration with OpenGL 4.0". Khronos Press Releases. http://www.khronos.org/news/press/releases/khronos-unleashes-cutting-edge-cross-platform-graphics-acceleration-opengl4. Retrieved 2010-03-11.
^ "OpenGL 4.1 Specification Released". http://www.extremetech.com/article2/0,2845,2366981,00.asp.
[edit] Books
Richard S. Wright, Benjamin Lipchak, Nicholas Haemel, Graham Sellers: OpenGL SuperBible: Comprehensive Tutorial and Reference, 5th Edition, Addison-Wesley, July 23, 2010, ISBN 978-0321712615
Dave Shreiner, The Khronos OpenGL ARB Working Group: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 3.0 and 3.1, 7th Edition, Addison-Wesley, July 21, 2009, ISBN 978-0321552624
Fosner, Ron: OpenGL Programming for Windows 95 and Windows NT, Addison Wesley, ISBN 0-201-40709-4
Kilgard, Mark: OpenGL for the X Window System, Addison-Wesley, ISBN 0-201-48359-9
Lengyel, Eric: The OpenGL Extensions Guide, Charles River Media, ISBN 1-58450-294-0
OpenGL Architecture Review Board, et al.: OpenGL Reference Manual: The Official Reference Document to OpenGL, Version 1.4, Addison-Wesley, ISBN 0-321-17383-X
OpenGL Architecture Review Board, et al.: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2, Fifth Edition, Addison-Wesley, ISBN 0-321-33573-2
Rost, Randi J.: OpenGL Shading Language, Addison-Wesley, ISBN 0-321-19789-5
OpenGL Vodič za programere, Dave Shreiner, Mason Woo, ISBN broj: 978-86-7310-362-4
[edit] External links
Wikibooks has a book on the topic of
Programming:OpenGL
Official website
OpenGL.org's Wiki more information on OpenGL Language bindings
SGI's OpenGL website
OpenGL at the Open Directory Project
Khronos Group, Inc.
v • d • e
Standards of The Khronos Group
COLLADA · EGL · OpenCL · OpenGL · OpenGL ES · OpenGL SC · OpenKODE · OpenMAX · OpenML · OpenSL ES · OpenVG · OpenWF · WebGL
Retrieved from "http://en.wikipedia.org/wiki/OpenGL"
Categories: OpenGL | Graphics libraries | Application programming interfaces | Video game development | Graphics standards | Virtual reality | Cross-platform softwareHidden categories: Wikipedia articles needing cleanup from September 2010 | All articles needing cleanup | Wikipedia articles needing cleanup from July 2009 | Vague or ambiguous geographic scope
Personal tools
Log in / create account
Namespaces
Article
Discussion
Variants
Views
Read
Edit
View history
Actions
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact Wikipedia
Toolbox
What links here
Related changes
Upload file
Special pages
Permanent link
Cite this page
Print/export
Create a bookDownload as PDFPrintable version
Languages
العربية
বাংলা
Bosanski
Български
Català
Česky
Dansk
Deutsch
Español
فارسی
Français
Galego
한국어
Italiano
עברית
ქართული
Latviešu
Magyar
Македонски
മലയാളം
मराठी
Nederlands
日本語
Norsk (bokmål)
Polski
Português
Română
Русский
Simple English
Slovenčina
Slovenščina
Српски / Srpski
Suomi
Svenska
ไทย
Türkçe
Українська
Tiếng Việt
中文
This page was last modified on 22 December 2010 at 12:02.
Text is available under the Creative Commons Attribution-ShareAlike License;
additional terms may apply.
See Terms of Use for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.Contact us
Privacy policy
About Wikipedia
Disclaimers
http://nehe.gamedev.net/ says:
NeHe Productions: Main Page
Latest NeHe Updates
NeHe news system now operational
GameDev Acquires NeHe Productions
There are currently 38 people viewing this page!
NeHe
Top 10 Downloads
Message Forum
Contact Us
Submit News
NeHe - Wiki
New Lessons
OpenGL Tutorials
Lessons 01 - 05
Lessons 06 - 10
Lessons 11 - 15
Lessons 16 - 20
Lessons 21 - 25
Lessons 26 - 30
Lessons 31 - 35
Lessons 36 - 40
Lessons 41 - 45
Lessons 46 - 48
More Tutorials
MySQL Screensaver
Camera Class
Articles
Articles 01 - 05
Articles 06 - 10
Articles 11 - 15
Articles 16 - 20
Articles 21 - 21
NeHe Misc
IPicture Basecode
GLaux Replacement
OpenGL Basecode
NeHeGL Latest
NeHeGL Simple
NeHeGL Ada95
NeHeGL Cocoa
NeHeGL C#
NeHeGL Delphi
NeHeGL Delphi OOP
NeHeGL Dialog
NeHeGL GLut
NeHeGL GLX
NeHeGL JoGL
NeHeGL MFC
NeHeGL .NET
NeHeGL OOP
NeHeGL SDL
Links
Search EngineSubmission
3Ddrome
AblazeSpace
Apron Tutorials
Backyard Productions
CodeColony
DesGraff
Flipcode
Frustum.org
Future Pinball
GameDev
Games By Scott
GameTutorials
GLdomain
Greenfoxsoft
PC Playground
Inertia
Jumpman Remake
KOPlay
Lumina GLSL IDE
Megabyte Softworks
Ogre Rendering Engine
OpenGL.org
OpenGL Help Network
OpenIL.org
OpenTK.com
Overlib Library
Particle System API
PDJ Programming
Pumpkin-Games
Stein Nygrd
steinSOFT.net
TAO framework
The 23rd Dimension
Toji's Tutorials
Tom Hall
YOV 408
ZeusCMD
Tuesday, August 10, 2010 OpenGL Tutorials Posted by: Greg Sidelnikov at 3:18:13 AM Back in the day I have written a set of OpenGL Tutorials on various subjects from setting up OpenGL to how light works. I hope that these tutorials can prove to be useful to someone out there. I had them on my site for over 7 years, and according to my Google Analytics code, they are still being widely read.
Here is the link to the OpenGL Light tutorial:
http://www.falloutsoftware.com/tutorials/gl/gl8.htm
From here you can branch off into other OpenGL sections.
I hope this helps someone out there.
Read More.. | 1 Comments Monday, August 9, 2010 OpenGL 4.1 released Posted by: Luke Benstead at 10:45:07 AM Sorry for the most epically late news post ever! Been so busy recently I haven't been able to find the time to post.
Over a week ago Khronos released OpenGL 4.1 with quite a few interesting features, one of the more useful is the ability to load pre-compiled binary shaders which should speed up loading times for games. This functionality has been available to Direct3D for a while so it's nice to see it's made its way into OpenGL core.
As usual the specifications are available on the OpenGL registry website, and as usual there is the ever useful specification with changes marked which is by far the best way to learn about the new additions to the spec.
The same "changes marked" document is available for the new GLSL 4.10 specification. Check it out.Read More.. | 0 Comments Tuesday, June 1, 2010 New german series of Windows OpenGL 3 tutorials online Posted by: AlexMaRu at 4:42:50 PM A new series of Windows OpenGL 3 tutorials from beginning to advanced is available on
spieleprogrammierung.net.
These tutorials are presented in German.
Editor's Note: There is not much of an explanation, just VC++ projects for download!Read More.. | 0 Comments Monday, May 24, 2010 News OpenGL examples for Mac OS X 10.5 and Xcode 3.x. Posted by: Diego Passos Costa at 8:40:19 AM I just modified the lessons[2..9] to work on Xcode 3.x and Mac OS X 10.5 Leopard.
You can access the resources from here Read More.. | 3 Comments Monday, May 17, 2010 Graphical Launcher for the NeHe basecode Posted by: Team Proximal at 3:48:14 AM Team Proximal has put together a graphical Win32 launcher for the NeHe basecode. The launcher provides the option to run in fullscreen mode, to pick a screen resolution, and to pick an aspect ratio to constrain the viewport with. The launcher code has been meticulously documented and can be downloaded from hereRead More.. | 0 Comments Sunday, May 2, 2010 Collision Detection: Lesson ported to OpenTK Posted by: Hortus Longus at 1:33:44 PM The Lessen 30 of NeHes OpenGL-Tutorials has been ported to VisualStudio C#, using OpenTK (The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenCL and OpenAL), so if you are interested to get a fine starterkit, you can get it from http://www.opentk.com/project/Yask (also please have a look to the Gallery )Read More.. | 0 Comments Monday, April 19, 2010 Overrun with email! Posted by: Luke Benstead at 10:49:42 AM Just a quick post. Carsten and I have been completely unable to keep up with all the emails you guys are sending in. Lots of email is great, but we are getting overwhelmed!
So, to try to settle this down a little, before emailing us can you do the following:
1. If it is News about an OpenGL related project, then please use the "Submit news" link.
2. If you are asking for help with OpenGL in general, please use the forums - we can't be technical support unfortunately :)
3. If it is about advertising on the site, don't bother it's handled by Gamedev.net, not Carsten and I.
4. We don't want viagra - thanks :D
Read More.. | 0 Comments Russian Translations Posted by: Luke Benstead at 10:30:14 AM MagicWolf sent news of complete Russian translations of the old NeHe tutorials, they can be found here. Read More.. | 0 Comments Thursday, March 11, 2010 Khronos Release OpenGL 3.3 and OpenGL 4.0! Posted by: Luke Benstead at 8:17:41 AM The Khronos group has just announced the release of OpenGL 4.0, with new features including two new tessellation shader stages.
Along with 4.0 there is also a 3.3 specification which integrates some ARB extensions into 3.2 to get much 4.0 functionality on previous generation hardware.
Check out the press release and download the specification as usual from the registry!Read More.. | 0 Comments Sunday, February 21, 2010 3D arkanoid clone based on the SDL version of NeHe tutorial engine Posted by: antonisk at 12:28:47 PM antonisk sent the following news:
Quote:
I used the NeHe tutorial engine source (the SDL version of it) as a basis for the development of a 3D arkanoid clone.
You can check it out here:
http://www.sourceforge.net/projects/gloid
Read More.. | 0 Comments Sunday, February 7, 2010 Archive of OpenGL programs Posted by: Team Proximal at 8:11:40 PM An archive of demos produced for the OpenGL Challenge is now being housed at http://demochronicles.mccolm.org/view.php?mode=challengeArchive. For those that may not remember, the OpenGL Challenge was run by Otri between 1999 - 2001. Many of the demos are based on NeHe's tutorials. Although portions of the site are currently under construction, the archive is functional.Read More.. | 0 Comments Monday, January 11, 2010 'OpenGL Demos' available in Android Market Posted by: Cosmin Banu at 4:07:45 PM A port of NeHe's tutorials on the Android platform is now available for download in Android Market: 'OpenGL Demos'. The code is primarily targeted for Android 1.5, and tested on HTC Magic (more testers are welcome).Read More.. | 0 Comments Friday, December 18, 2009 3D and game programming tutorials Posted by: Matt Casperson at 10:43:50 PM I have been working over the last few months to create a number of tutorials that focus on game and web development using C++, ActionScript, javascript, Java and more. There is something here for everyone, whether you want to create a Flash game for a web page, a 3D game with Irrlicht or Ogre or want to see how the upcoming HTML5 standards can be used to make a platform game.
Check out the tutorials at http://www.brighthub.com/hubfolio/matthew-casperson/blog/archive/2009/08/23/tutorial-index.aspx, and feel free to leave a comment if you have a suggestion.Read More.. | 0 Comments Saturday, August 29, 2009 Beginning OpenGL Game Programming II Posted by: Luke Benstead at 3:38:26 AM For those of you that have bought Beginning OpenGL Game Programming Second Edition, I've uploaded some updated project files to here.
This update fixes an issue with the SDL sample.
In other news, Carsten and I are working hard to bring you a new set of OpenGL lessons with a brand new cross-platform basecode. Keep watching. ;)
EDIT: There is now a review of the book online!Read More.. | 4 Comments Thursday, August 13, 2009 NeHe Maintainers Meet in London! Posted by: Kazade at 3:52:28 AM On Tuesday (and again yesterday) Carsten and I met for the first time in London. For a bit of background, Carsten lives in Germany, whereas I live in the UK, we met when volunteering to look after NeHe and have since worked together on a book, as well as on NeHe, but have never met in person. We discussed NeHe, and the new lessons. Carsten showed me Savas Ziplies's Android ports of the tutorials (see previous post) on his Android phone - very very cool. We are going to write some target dates in the diary for new NeHe lessons, targeting the new OpenGL 3.2 release. Stay tuned.
While we're on the subject of the book. If you have purchased Beginning OpenGL Game Programming 2nd Edition, and have noticed some issues with recent AMD drivers (specifically relating to GLSL shaders). I am waiting for some fixed project source code to be uploaded to the Course PTR website (see link above). They should be online in the next few days. This update also contains the fixed MSVC(Win)/CodeBlocks(Linux) project files which were broken in the initial print run. Sorry for the inconvenience, AMD's drivers suddenly became a bit stricter about a slightly ambiguous part of the GLSL spec (precision qualifiers).
Read More.. | 13 Comments Sunday, August 9, 2009 NeHe Android Ports Posted by: Savas Ziplies at 2:13:48 PM I have started to port the NeHe tutorials over to the Android platform. The ports combine Java with OpenGL ES ports and are therefore a nice overview of two different worlds. You can find the first ports at my site: http://insanitydesign.com/wp/projects/nehe-android-ports/
Currently eleven ports are available, but I will continue to port the rest of the lessons in the next days and weeks. Some other tutorials, which are not covered by this site, will extend the tutorials to feature a full overview of functionality for Android.
I hope some people will find the different ports useful and will support the Android platform in the future.Read More.. | 5 Comments Tuesday, August 4, 2009 OpenGL 3.2 Released! Posted by: Kazade at 4:51:27 AM Well, the Khronos group have been busy! OpenGL 3.2 marks the third release this year of a specification which used to be released annually. Loads of great stuff is in 3.2 (and GLSL 1.50) including new profiles (Core for slimline and new, and Compatiblity for old-skool OpenGL) and a load of new extensions for increased compatibility with D3D to make it easier to port applications (this will also help out the Wine project with their D3D implementation). Also vertex attributes can now be accessed as arrays in the shaders and... you know what, rather than repeating what many others have said here are some links to more information:
Release Announcement
Specifications
Overview of the new features
Exciting times for OpenGL!Read More.. | 1 Comments Wednesday, July 22, 2009 my first game ready for play testing Posted by: hunguptodry at 2:24:52 AM this is chinese 4-player mahjong. please have a look. thanks.
http://www.youtube.com/watch?v=xuA56xScvqo
took me a while but it is finally playable.
please comment.Read More.. | 0 Comments Saturday, June 27, 2009 New Tutorial Site Posted by: Creature at 10:29:28 AM Creature has sent in the following news:
Quote:
A new tutorial site has been in the running. This tutorial site is hosted by Anomalistic Technologies. The site is fairly new and can apparently not yet be reached through Google.
Anomalistic Technologies hosts tutorials on subjects such as OpenGL, Glux and other diverse tutorials (including one on getting started with Operating System Development). Their main series is about OpenGL, however.
The link to the website:
http://anomtech.uuuq.com/Index.php
Most of the tutorials are seemingly inspired by NeHe's tutorials.
The tutorials use SDL and look really good, definitely worth checking out!Read More.. | 1 Comments Monday, June 22, 2009 New version of Maze3DFlyer Posted by: Luke Benstead at 3:44:51 AM While perusing the comments of the previous post I discovered this comment from "larsh":
Quote:
I just released a new version yesterday, v. 1.5.
Biggest changes:
Show maze as it's being generated (fun to watch). Blue = the queue of cells from which the maze is to expand. Red = cells that are marked "forbidden" for growth because they are too close to other passages.
Rather than just finding the route from entrance to exit, you now need to collect all the white balls on the way. More challenging and involving. (Theoretically this is an optional mode, but at the moment I haven't implemented a way to turn it off without recompiling.)
See-through grates give some visibility in/out of maze.
You can press 'R' and it will show you the route from entrance to exit.
Many other tweaks.
Check it out!
Despite many downloads Lars hasn't seen many comments so if you try the program, give him some feedback by commenting on this news post!
For those of you running Ubuntu - this game works perfectly under Wine!Read More.. | 5 Comments Wednesday, May 6, 2009 Lesson ports to OpenGL ES 1.x Posted by: Carsten Haubold at 4:46:27 AM Mike Gorchak sent us a quick note: Quote:I have ported some of NeHe OpenGL Lessons to OpenGL ES 1.x and SDL 1.3 and continue working on porting the rest lessons. My ports are located at: http://embedded.org.ua/opengles/lessons.html
Take a look at all the OpenGL ES information he provides!Read More.. | 0 Comments Wednesday, March 25, 2009 OpenGL 3.1 Specs and NVIDIA drivers released! Posted by: Carsten Haubold at 3:41:53 AM Just in time after the release of our book on OpenGL 3.0, Khronos announced that they published the GL 3.1 spec.
Now all the features marked as deprecated were removed(except for line width) and some new features like instancing, copying between buffers, texture buffer objects and some new datatypes were added.
You can get the old GL 1.x/2.x features through an extension called GL_ARB_compatibility.
Together with OpenGL 3.1, version 1.40 of the OpenGL Shading Language (GLSL) has been released, with the most impotant new feature: you can now access at least 16 texture images from within the vertex shader.
This time NVIDIA was really fast, they released the driver together with the spec, AMD announced to do so very soon.
Here are some links for further reading:
http://www.khronos.org/news/press/releases/khronos-releases-streamlined-opengl-3.1-specification/
http://www.opengl.org/registry/#apispecs
http://developer.nvidia.com/object/opengl_3_driver.htmlRead More.. | 2 Comments Tuesday, March 24, 2009 Book Released. SDL gains OpenGL 3 support. Posted by: Kazade at 8:58:07 AM As some of you may know, Carsten and I (the guys running the site, hi there!) have been working on a 2nd edition to the popular Beginning OpenGL Game Programming. Well, today is the official publishing date in the US. So as of now you can buy the book from all good book shops.
The book structure is heavily based on the first edition, but is designed to focus on OpenGL 3.0. GLSL is introduced early and deprecated functionality is only covered briefly. Some of the subjects covered are: GLSL 1.30, vertex arrays, vertex buffer objects, texture mapping (with GLSL), fog and lighting (again, with GLSL), blending, MD2 model loading, alpha testing, frustum culling, 2D fonts with Freetype and more!
The book is on Amazon. I'm very pleased with it, it's been a lot of hard work, but definitely worth it.
Unfortunately, we have been made aware that there is a small issue with the project files that accompany the CD. I'm working on fixing this and updated project files will be available from the website asap.
In other news, OpenGL 3 context support has just been committed to the SDL 1.3 SVN repository. I know many people were waiting for this so I wrote a patch the other day and sent it to the SDL guys. More info on usage can be found in the commit log.Read More.. | 7 Comments Tuesday, March 17, 2009 gDeBugger v4.5 Released Posted by: Kazade at 8:59:17 AM As mentioned in my previous post, I'm catching up with dated emails so better late than never, Sarit sent this news:
Quote:
gDEBugger V4.5 Adds the ability to view Texture Mipmap levels and Texture Arrays
The new gDEBugger V4.5 adds the ability to view texture mipmap levels. Each texture mipmap level's parameters and data (as an image or raw data) can be displayed in the gDEBugger Texture and Buffers viewer. Browse the different mipmap levels using the Texture Mipmap Level slider.
gDEBugger V4.5 further introduces support of 1D and 2D texture arrays. The new Textures and Buffers viewer Texture Layer slider enables viewing the contents of different texture layers. This version also introduces notable performance and stability improvements.
gDEBugger, an OpenGL and OpenGL ES debugger and profiler, traces application activity on top of the OpenGL API, lets programmers see what is happening within the graphic system implementation to find bugs and optimize OpenGL application performance. gDEBugger runs on Windows and Linux operating systems, and is currently in Beta phase on Mac OS X.
You can download it from here
Read More.. | 0 Comments Our Apologies Posted by: Kazade at 8:41:06 AM Hi everyone. Since October time both myself and Carsten have been pretty overwhelmed with work not related to NeHe. Because of this, we haven't been able to keep up with the floods of emails that have been coming in.
Over the next couple of weeks I'm going to try and sift through the emails and reply to all of you. It's going to take quite some time though so bear with me :)
In the meanwhile, please submit any OpenGL news to us using the "Submit News" link at the top left of the page. We tend to respond to these far more promptly than emails (it also saves us work copying and pasting from the email body).Read More.. | 0 Comments Tuesday, March 10, 2009 3DzzD Applet Web 3D Engine (Opensource LGPL) Posted by: DzzD at 5:52:15 PM 3DzzD API has been released under LPGL license.
3DzzD is a Java 3D engine to create Web 3D Applet, it is full software and compatible with all Java 1.1 Plugin version. It also has an extension that enable Hardware 3D using OpenGL with JOGL.
you can download 3DzzD DevKit at http://download.dzzd.net/
Here are two little Web 3D games (3D Applet) that use the 3DzzD API :
3D FPS : http://demo.dzzd.net/FPSSample9/
3D Racing car : http://demo.dzzd.net/ROAD8/
Read More.. | 0 Comments Tuesday, February 10, 2009 New version of GLee (5.4) Posted by: Kazade at 3:46:30 AM Ben Woodhouse has released a new version of GLee, an excellent library that allows seamless access to OpenGL extensions (and functionality past OpenGL 1.1 on Windows). The new version has full OpenGL 3.0 support on Linux (GLX_ARB_create_context) as well as few other extensions. Checkout the website for the latest version and news.
I'd also like to personally thank Ben Woodhouse for putting up with my pestering emails recently. Thanks again! :)
Read More.. | 0 Comments Monday, January 12, 2009 Visualization Library Alpha 2.1 and new webisite Posted by: Michele Bosi at 5:05:09 PM The new Visualizatioin Library Alpha 2.1 has been relesed and can be downloaded from http://www.visualizationlibrary.com. This new release also comes with a new website infrastructure and forums!Read More.. | 0 Comments Sunday, December 7, 2008 Free tree textures Posted by: Kazade at 9:02:32 AM If anyone is looking for some good quality textures of trees and plants. Yorik van Havre has some great ones available on his site. They are awesome and released under the Creative Commons Attribution 2.5 License. Take a look!Read More.. | 1 Comments Tuesday, December 2, 2008 NeHe SDK Update! Posted by: Carsten Haubold at 7:28:36 AM Hey all,
I've just uploaded a new version of the NeHe SDK (which can be found on the right hand side menu, pretty much at the bottom).
Thanks to Gregs for still bug fixing this one!!Read More.. | 3 Comments Sunday, November 30, 2008 3D engine design: A Thanks To NeHe Posted by: leuat::IRIO at 9:13:26 AM 3D engine growth: Seeding a 3D engine with the NeHe tutorialsRead More.. | 0 Comments Monday, October 27, 2008 GL 3.0 basecde Beta for Windws and Linux(GLX) Posted by: Carsten Haubold at 3:07:38 PM Hey everybody,
after a long time with no news (we've been pretty busy with other projects) here's a new basecode!
As OpenGL 3.0 drivers for NVidia cards are out for Windows and Linux now I've set something up for you: a samlple for setting up an OpenGL 3.0 context. This code is not completely finished yet and lacks loads of comments (especially in the GLX window part), but its there for you to test and criticize!
Download link and further discussion can be found in this thread.
Cheers
Carsten (aka Caste) @ NeHe TeamRead More.. | 0 Comments Tuesday, September 23, 2008 New OpenGL Library In Development Posted by: Creature at 9:45:55 AM A few days ago, Glux was released by Ogre Technologies, Glux (OpenGL Utility & Auxiliary Library)'s goal is to provide a C++ized, open-source and up-to-date replacement for glut and its variants, since most of them are seriously outdated.
However, Glux is still in a very early stage (alpha at this time) and provides only support for Windows. The Glux team hopes to support other OS' in the future as well.
The project page is located at Google Code:
http://code.google.com/p/glux/
Read More.. | 0 Comments Monday, September 22, 2008 WhiteHexagon.com - Game update Posted by: Peter at 3:42:08 AM Our free to play 'plastic building bricks' online Java game has now been updated and needs some testers! This includes many new features, and improvements to the OpenGL rendering - thanks to tutorials hosted at nehe! Take a look at whitehexagon.com Note: work-in-progress!Read More.. | 1 Comments Saturday, September 13, 2008 Thunder3D Engine Posted by: charming72 at 9:40:46 PM IT is my first attemp to write a 3D engine with Opengl API.
Here is the link to my google site,
http://sites.google.com/site/thunder3d/Read More.. | 0 Comments Tuesday, August 12, 2008 OpenGL 3.0 Spec Released Posted by: Kazade at 7:40:06 AM As you have all probably noticed, the OpenGL 3.0 specification was released yesterday to a lot of commotion.
I've specifically waited to post this news to let the dust settle a bit, but this is basically what has happened:
After a year of no news GL3 is released
It doesn't include the promised object model
It doesn't break backwards compatibility as intended
It's made driver writing more complicated, rather than less complicated, which was kinda the point
It does provide a GL3-only mode that DOES break backwards compatibility
A new deprecation model has deprecated A LOT of stuff (see page 403 of the spec)
The GL3 context is the future of OpenGL, removing all fixed-function pipeline stuff in favour of shaders.
The object model is still under development
A new extension provides direct state access which allows the new object model to be built on top
So, interesting times. Khronos has promised another version of OpenGL within 12 months, this one will fully remove the deprecated functionality, and hopefully bring in the new object model.
How does this affect NeHe? Well, there is a talk tomorrow at SIGGRAPH where hopefully we will see some solid code samples (if anyone knows where the slides will be available could you let us know?) and more information on driver release dates. There are rumours that nVidia is planning the OpenGL 3.0 driver release in September. If that is the case, we will begin moving the NEW tutorials to a GL3 only context (that means learning about shaders a lot earlier but that's not really a problem) as soon as possible.
Anyway, here are the obligatory links:
OpenGL.org Announcement
OpenGL 3.0 Spec
GLSL 1.30 Spec
Gamedev forum post
OpenGL.org forum postRead More.. | 1 Comments Thursday, August 7, 2008 Maze3DFlyer released! Posted by: Carsten Haubold at 4:24:14 PM Lars Huttar sent us a mail that his maze is now ready for release. Check it out, it's really fun breaking new highscores!
Quote:maze3dflyer is:
An OpenGL graphics demo. It generates a random 3D maze with some configurable properties, and displays the maze using textured 3D graphics. You can "fly" through and around the maze using standard movement controls.
See his Website for details!Read More.. | 3 Comments Monday, July 7, 2008 Web 3D API to display 3DS file online Posted by: 3DzzD at 1:51:58 PM 3DzzD Viewer3D is a simple 3D Applet fully customizable to display a 3D interactive model online in a few minute. It work in full Java 1.1 compatible mode, and can be switched at runtime in hardware mode to take advantage of opengl (JOGL)
http://demo.dzzd.net/Viewer3D/Read More.. | 0 Comments Saturday, July 5, 2008 OpenGL Tutorials and a new XNA toolkit! Posted by: Kazade at 2:23:26 AM Donald Urquhart has written to tell me about his revamped website, it contains loads of OpenGL tutorials. It's really amazing work so check it out here!
David Diaz (peacefulshade) has also contacted us about a new XNA toolkit that he has spent a year working on called Betacell. Here are the features:
At the heart of BetaCell there's an effect composer engine. What it does is take fxh files, which are known as functions at runtime, modify them if needed, and create fx files including the logic of the fxh files. This has 2 main advantages:Allows the user to create effects by composing them. In my perspective, is really hard when you have 20 shaders in your application and you discover that part of it is going to be outdoors, so you need to add fog. If you still want to have your regular shaders, you would end up with 20 more shaders for a total of 40; the number of shaders increase exponentially with the characteristics. With BetaCell, you add effect functions together and let the toolkit make the effect for you.The user can create effects on the fly at runtime.
Has many functions (fxh files) built in like environmental mapping, normal mapping, displacement mapping, shadow mapping, lightning calculations, texture effectsHas a particle effect framework that works by composing particle effect parts leveraged by the effect composer engineLets you create content in blender and HME, many developers don't have access to proprietary content creation programsYou can animate your meshes in blender and load the animated meshes using BetaCellHas a flexible vertex definition, you create a vertex buffer with a call like this one: createVertexBuffer(position, color, vertexIndex, vertexWeight) , you pass the components you needHas many built in encapsulated algorithms likeRay pickingTerrain generatingTerrain CullingDraw orderingProcedural creation of solids: cubes, cylinders and spheresA lot of documentation
Over 30 tutorialsA reference documentation online
If XNA is your thing it's definitely worth a look! Find it at www.betacell3d.comRead More.. | 0 Comments Tuesday, June 24, 2008 Problems viewing the new lessons? Posted by: Kazade at 3:48:30 PM As some of you have noticed there is a bug when viewing the new lessons on the new wiki. If you keep getting redirected to the revision history please delete the "history" cookie for nehe.gamedev.net.
We'll have this fixed as soon as we can.Read More.. | 0 Comments Friday, June 13, 2008 New NeHe Lessons released!! Posted by: Carsten Haubold at 5:00:27 AM 3 new NeHe Lessons are out!
Hurry up and get them :)
http://nehe.gamedev.net/wiki/NewLessons.ashx
We've put a lot of effort into these 3 lessons to use good C++ code, create a platform independent basecode (thats why we use SDL) and use only up to date OpenGL.
And yes, thats our new wiki, well port more and more of the content of the main page to the wiki so we're able to apply changes more easy.
Cheers
Carsten (aka Caste) @ NeHe-TeamRead More.. | 2 Comments Tuesday, May 20, 2008 MysticGD's Animation SDK EMotion FX now available on Mac Posted by: MysticGD at 3:33:41 PM MysticGD, a leader in realtime character animation middleware, announced that its realtime game animation middleware product EMotion FX is now officially available on the Mac platform as well.Read More.. | 0 Comments Friday, May 2, 2008 APOCALYX 3D Engine: 0.9.2 Release Posted by: Leonardo Boselli at 12:18:09 PM A new release of the APOCALYX 3D Engine is available for download, also in a all-in-one easy-to-get 60 Mb installer (including the runtime, the documentation, the demos and the sources).
The APOCALYX 3D Engine is a free game engine that a developer can completely program through LUA scripts. It is based on OpenGL, with GLSL support, and includes several open source libraries, that manage from AI functions, to physics and speech synthesis.
The engine capabilities are shown through a dozen demo packages containing other dozens of small demos and also a few simple games, from flight simulators, to first-person-shooters and shootem up side-scrollers. The new version has mainly improved the animation speed of the supported model formats.
Dont miss the APOCALYX Blog, with daily news about the engine and its development.Read More.. | 0 Comments Monday, April 21, 2008 Solis! Posted by: Kazade at 2:01:02 PM J.Raza and bulgarianOgre have sent news of their Zelda style game Solis, complete with map editor!
It's available for download from the SourceForge project page. Great work guys!Read More.. | 1 Comments Sunday, April 20, 2008 Visual Basic Shader Tutorials and Ports Posted by: Kazade at 1:39:33 AM Paul Dahuach has sent us a link to his site where he has examples of using Cg shaders with Visual Basic. His site also lists a load of NeHe ports. It's definitely worth checking out if VB is your language of choice. Take a look.Read More.. | 0 Comments Friday, April 18, 2008 Chesstacular released Posted by: Arthur Times at 8:31:44 PM This is by far my most ambitious project. It's a battle chess clone written from the ground up in C++, OpenGL and SDL.Read More.. | 0 Comments Tuesday, March 4, 2008 Updated REALbasic ports Posted by: Kazade at 6:41:21 AM Thomas Cunningham has sent updated ports for REALbasic of lessons 2-6. You can find them linked at the bottom of the lessons. Thanks Thomas, great work!
We are continuing making improvements to the site. The list of links on the left are growing and more ports are coming along with other NEW top secret elements of the site!!
As always, if you have any OpenGL news to share just use the "Submit News" link. Also, if you would like your OpenGL website or blog linked from here you can send us an email through the reinstated "Contact Us" link on the left.Read More.. | 0 Comments Monday, March 3, 2008 Lumina GLSL IDE Posted by: Kazade at 7:31:03 AM oc2k1 has sent news of a new version of his GLSL Lumina IDE. Here's a description from OpenGL.org
Quote:
Lumina is a free crossplatform development environment for GLSL shaders. An ECMA script based language is used for tools and rendering control. Lumina provides maximum flexibility that allows the user to build renderer prototypes for deferred shading, depth peeling or HDR rendering, as well as vertex shader and instancing accelerated bezier objects, skinng or GPU based particle systems. This software requires an Opengl 2.0 capable card (GLSL, VBO and FBO).
Version 0.3.3 adds several Shader Model 4.0 features including transform feedback, bindable uniforms and layered rendering. These features can be used to build particles systems that can run without any CPU calculations. Check out a video here.
You can download this cool program from the website on SourceforgeRead More.. | 0 Comments Saturday, March 1, 2008 CodeBlocks IDE has first stable release! Posted by: Kazade at 2:28:05 AM I just thought I'd post to let you guys know that the CodeBlocks team has released their first stable release of their cross-platform C++ IDE after years of development.
The Windows installer comes bundled with the latest MingW compiler but the IDE can be configured for many others.
You can download it from their website Read More.. | 0 Comments Saturday, February 23, 2008 FTP access is back! Posted by: Kazade at 2:41:41 AM We have some good news! We've finally obtained FTP access to the site!!
I have removed some broken links on the left hand side of the site, also, the Czech and Chinese translation links have been fixed! If anyone has any OpenGL sites that they would like added to the list of links just send an email to nehedev AT gmail DOT com.
We'd like to give the site a bit of a cleanup but our graphic design skills are seriously lacking. If anyone is feeling particularly artistic we could do with a new sharper "Latest NeHe news" ;)
I have uploaded an MASM port of lesson36 which was submitted by UFO-Pu55y, great work!
In the next few weeks we will start adding new content to the site so watch this space! :)Read More.. | 0 Comments
Downloads
#ABCDEFGH
IJKLMNOPQ
RSTUVWXYZ
Advertisement
Featured Books
Contests
Winamp GL 2005
Creative 2004
Two Towers 2003
Mini-Demo 2003
Halloween 2002
The Fellowship 2002
Apocalypse 2001
Christmas 2000
Halloween 2000
Resources
OpenGL SDK
NeHe SDK
Tuts (A4 Book PDF)
Tuts (A4 Book RTF)
Tuts (A4 PDF)
Tuts (A4 RTF)
Tuts (Letter Book PDF)
Tuts (Letter Book RTF)
Tuts (Letter PDF)
Tuts (Letter RTF)
NeHe AppWizards
Visual C++ 6.0 (MFC)
Visual Studio.NET
Visual C++ 6.0
D3D Basecode
NeHeD3D Simple
Link To This Site
Other Languages
Tutorials In Czech
Tutorials In Chinese
Tutorials In German
Tutorials In Korean
© 1997-2006 Gamedev.net. All rights reserved. [Terms of Use] [Privacy Policy]
NeHe TM and NeHe ProductionsTM are trademarks of GameDev.net, LLC
OpenGL® is a registered trademark of Silicon Graphics Inc.
http://glprogramming.com/red/ says:
OpenGL Programming Guide : Table of Contents
OpenGL Programming Guide
OpenGL Programming Guide
The Official Guide to Learning OpenGL, Version 1.1
About This Guide
Chapter 1. Introduction to OpenGL
Chapter 2. State Management and Drawing Geometric Objects
Chapter 3. Viewing
Chapter 4. Color
Chapter 5. Lighting
Chapter 6. Blending, Antialiasing, Fog, and Polygon Offset
Chapter 7. Display Lists
Chapter 8. Drawing Pixels, Bitmaps, Fonts, and Images
Chapter 9. Texture Mapping
Chapter 10. The Framebuffer
Chapter 11. Tessellators and Quadrics
Chapter 12. Evaluators and NURBS
Chapter 13. Selection and Feedback
Chapter 14. Now That You Know
Appendix A. Order of Operations
Appendix B. State Variables
Appendix C. WGL: OpenGL Extension for Microsoft Windows NT and Windows 95
Appendix D. Basics of GLUT: The OpenGL Utility Toolkit
Appendix E. Calculating Normal Vectors
Appendix F. Homogeneous Coordinates and Transformation Matrices
Appendix G. Programming Tips
Appendix H. OpenGL Invariance
Appendix I. Color Plates
;
|
Last updated on 2012-02-22 21:31:04 by Amazes.Us. 1397 views.
|
|
|
| This category Amazes.us:
Ads, Articles, Astronomy, Book Reviews, Business, Cars, Cats, Cities, Financial, Government, Greeting Cards, Holidays, Literature, News, Social Networking, Stories, Tales, Websites, Wildlife |
|
|
|
|
| Rainbow Wildlife Rescue - Squirrels - Rescue - How YOU can Help to Save a Life - Rainbow Wildlife Rescue in the News -Wildlife Movies on Youtube - How to raise a Kitten - How to raise a Puppy - Funny Animal E-Cards - LOLcatZ Postcards - Wildlife Education |
|