The New Demo Pages


This page and it's links are for demonstrating certain concepts in 3D graphics. Most will use OpenGL as the graphics API. Most are about using the newest-latest-and-greatest features of this API.
The demoes come with source and a executable and will be GLUT based.
Some might use GLU and some might use the glh library (not capital!)

Comments and feedback are welcomed. My email is at the bottom.

Using GL_ARB_vertex_program, GL_NV_vertex_program and GL_NV_vertex_program2 for doing standard transform, vertex lighting, texturing. It displays a few objects like a sphere, cube, torus, cone, cylinder and a teapot.

Goto Very Basic vp

Changes
On the web page, changed
glGenProgramsARB(GL_VERTEX_PROGRAM_ARB, &ARBVertexProgramID[0]);
to
glGenProgramsARB(1, &ARBVertexProgramID[0]);

On the web page, changed
glGenProgramsNV(GL_VERTEX_PROGRAM_NV, &NVVertexProgramID[0]);
to
glGenProgramsNV(1, &NVVertexProgramID[0]);

In the verybasicvp.cpp, in void InitOpenGL(), added
GLfloat modelambient[4]={0.0, 0.0, 0.0, 0.0};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, modelambient);

In nv_verybasic_vp2a.txt and nv_verybasic_vp2ad.txt,
repositioned texture output instruction so that texture coordinates would be correct.

Using GL_ARB_vertex_program, this demo tries to solve the z-precision problem that comes with a perspective projection. It also uses glhMergedPerspectivef from the glh library to acheive the same result.
This is not really a technology demonstration like "Very Basic vp" is. This one puts vertex programming to work!

Goto Z-Precision

Using GL_ARB_fragment_program and GL_NV_fragment_program, this demo is an introduction to fragment programming and discusses the spec a bit.

Goto Very Basic fp

This demo doesn't use any advanced function, but it is here to demonstrate my newly written class TParticles and class TMiniPhysics. No source code provided. Only EXE file.

Goto Particle Spray

This one demonstrates my newly written class TPool which simulates a pools surface as it is disturbed. No source code provided. Only EXE file.

Goto Pool

This is a translation of Tom's Glass demo from Pascal code to C++ code using GLUT. The original code used ARBvp1.0 and ARBfp1.0 and some nVidia extensions.
This one uses non-extended ARBvp1.0 and ARBfp1.0 and also GLSL 1.00 (to compare performance)
It uses FBO for Render_To_Texture instead of p-buffer.

This program requires GL 2.0 at least.

The extensions needed are :

  • GL_ARB_vertex_program
  • GL_ARB_fragment_program
  • GL_EXT_framebuffer_object

Goto Glass_Delphi3D

This demo uses the ODE Physics Library to do some box to box, box to plane, box to sphere, sphere to sphere, sphere to plane collision testing.
As you create objects that appear randomly in mid-air, they accelerate towards the ground due to the effects of gravity. Sometimes, they hit each other and you can see the effects. You can also make their appearance non-random. Source code provided except for loading the graphics files.
It only requires basic OpenGL 1.4 functionality so any recent graphics card can run this.


Goto Box Collision



* OpenGL(R) is a registered trademark of Silicon Graphics, Inc.

This page is http://www.oocities.org/vmelkon/newdemopages.html
This page is http://ee.1asphost.com/vmelkon/newdemopages.html
Copyright (C) 2001-2005 Vrej M. All Rights Reserved.