User Submitted Code Samples - Page 4

Simulated Radar Sweep (OpenGL - C++)
 

Author: Steve Butrimas

This sample demonstrates how to use a pixel buffer to simulate the trailing persistent after-glow of a radar's sweep.

Relevant Keywords: wglCreatePbufferARB, wglGetPbufferDCARB, wglReleasePbufferDCARB, wglDestroyPbufferARB, wglQueryPbufferARB, gluNewQuadric, gluDeleteQuadric, wglGetPixelFormatAttribivARB, wglGetPixelFormatAttribfvARB, wglChoosePixelFormatARB, gluOrtho2D, glViewport, glCopyTexSubImage2D, PFNWGLCREATEPBUFFERARBPROC, PFNWGLGETPBUFFERDCARBPROC, PFNWGLRELEASEPBUFFERDCARBPROC, PFNWGLDESTROYPBUFFERARBPROC, PFNWGLQUERYPBUFFERARBPROC, PFNWGLGETPIXELFORMATATTRIBIVARBPROC, PFNWGLGETPIXELFORMATATTRIBFVARBPROC, and PFNWGLCHOOSEPIXELFORMATARBPROC.

 

Cel-shading with GL_ARB_vetex_program (OpenGL - C++)
 

Author: Simon Flannery

This sample demonstrates how to perform cel-shading or toon-rendering using GL_ARB_vertex_program.

Relevant Keywords: GL_ARB_vertex_program, glGenProgramsARB, glDeleteProgramsARB, glBindProgramARB, glProgramStringARB, glProgramEnvParameter4fARB, glGetString, wglGetProcAddress, GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, PFNGLGENPROGRAMSARBPROC, PFNGLDELETEPROGRAMSARBPROC, PFNGLBINDPROGRAMARBPROC, PFNGLPROGRAMSTRINGARBPROC, PFNGLPROGRAMENVPARAMETER4FARBPROC, !!ARBvp1.0, PARAM, ATTRIB, OUTPUT, state.matrix.mvp, program.env, vertex.position, vertex.color, result.position, result.color, fragment.texcoord, fragment.color.primary, texture, TEMP, MUL, ADD, 2D, DP3, DP4, MOV, RSQ, and END.

 

Per-pixel Lighting with GLSlang (OpenGL - C++)
 

Author: Anudhyan Boral

This sample demonstrates how to perform per-pixel lighting using GLSlang.

Relevant Keywords: wglGetProcAddress, PFNGLCREATEPROGRAMOBJECTARBPROC, PFNGLDELETEOBJECTARBPROC, PFNGLUSEPROGRAMOBJECTARBPROC, PFNGLCREATESHADEROBJECTARBPROC, PFNGLSHADERSOURCEARBPROC, PFNGLCOMPILESHADERARBPROC, PFNGLGETOBJECTPARAMETERIVARBPROC, PFNGLATTACHOBJECTARBPROC, PFNGLGETINFOLOGARBPROC, PFNGLLINKPROGRAMARBPROC, PFNGLGETUNIFORMLOCATIONARBPROC, PFNGLUNIFORM4FARBPROC, PFNGLUNIFORM1IARBPROC, glCreateProgramObjectARB, glDeleteObjectARB, glUseProgramObjectARB, glCreateShaderObjectARB, glShaderSourceARB, glCompileShaderARB, glGetObjectParameterivARB, glAttachObjectARB, glGetInfoLogARB, glLinkProgramARB, glGetUniformLocationARB, glUniform4fARB, glUniform1iARB, GL_VERTEX_SHADER_ARB, GL_FRAGMENT_SHADER_ARB, GL_OBJECT_COMPILE_STATUS_ARB, GL_OBJECT_LINK_STATUS_ARB, GLhandleARB, uniform sampler2D, varying vec2, varying vec4, gl_FragColor, gl_Position, gl_ModelViewProjectionMatrix, gl_Vertex, gl_Color, gl_TexCoord, gl_FragColor, gl_MultiTexCoord0, gl_LightSource[0].position, gl_LightSource[0].constantAttenuation, gl_LightSource[0].linearAttenuation, gl_LightSource[0].quadraticAttenuation, max, dot, and normalize.

 

Loading a 3DS File (OpenGL - C++)
 

Author: Anudhyan Boral

This sample demonstrates how to load 3D geometry from a .3DS file.

 

Bump Mapping with GLSlang (OpenGL - C++)
 

Author: Anudhyan Boral

This sample demonstrates how to perform simple bump mapping using GLSlang.