Projects on sourceforge
Fractal planet and terrain generator
Interactive application to generate and view random fractal planets andterrain with oceans, mountains, icecaps and rivers, then export them toPOV-Ray format or Blender. Written in C++ using Qt and OpenGL.
GLT OpenGL C++ Toolkit
GLT is a C++ class library for programming interactive 3D graphics with OpenGL.
GLFW
GLFW is a portable framework for OpenGL application development. Ithandles operating system specific tasks such OpenGL window management,resolution switching, keyboard, mouse and joystick input, timer input,creating threads, and more.
FFFF - Fast Floating Fractal Fun
FFFF is the fastest Win32/OSX/Linux/IRIX Mandelbrot generator. FeaturesOpenGL, realtime zoom, SSE/AltiVec QuadPixel, SSE2/3DNow! DualPixelcalc, FPU per pixel calc, GPU asm (Fragment/Vertex) calc,multiprocessor support, and benchmarking. Opt asm code!
G-Truc Creation
G-Truc Creation is an open source and creativity enthousiat website. Asa main goal, G-Truc Creation features an OpenGL Framework (GLF). It's aC++ based project that aims to improve OpenGL programmers work withlibraries, documentation, samples and too
http://www.g-truc.net/
Klimt
Klimt (formerly known as SoftGL) is a 3D library with a similiar API tothat of OpenGL and OpenGL|ES, targeted for mobile devices. We aresearching for developers. If you want to join send an email to theproject leader.
pdnmesh Finite Element program
An automatic 2D Delaunay mesh generator and solver for Finite ElementAnalysis. Can solve 2D field problems (Poisson and HelmholtzEquations). Can use LAPACK/ARPACK solvers producing OpenGL/Postscriptoutput. Uses C/GTK/GTKGLExt/MFC. Runs on Win32/Unix.
Inventor
LGPL Open Inventor (tm) C++ API using OpenGL from original SGI source.Inventor is the standard API for developers of Windows, Linux, andother Unix 3D applications. Current version only works on Irix andLinux. Port in progress to other platforms.
Internet C++/Internet Virtual Machine
Internet C++/Internet Virtual Machine is a high-speed, open-sourcealternative to Java and .NET. Applications written in standardlanguages, such as C and C++. OpenGL 1.2 support brings portablehigh-speed 3D graphics and games.
MathGL++
MathGL++ is a class library for fast C++ maths for use in OpenGL C++projects. Easy to use and similar to the OpenGL API. Matricies,Vectors, Quaternions, Linear polynomials with eigen systems are allgoing to be included.
http://www.glinterface.com/home.html
GLI is a multi-platform, hardware-accelerated userinterface and animation engine powered by OpenGL. With GLI, realtime compositing of animated, high resolution images and movies is now possible on consumer PC hardware.
GL++ (opengl C++ wrapper)
This encapsulates some of the higher level functions of OpenGL usingextensions into C++ objects. These at the moment in time areframebuffer objects and shaders
oglpp (opengl C++ wrapper)
http://code.google.com/p/oglpp/
GLSW (The OpenGL Shader Wrangler)
---------------------------------------------------------------------------------------------------------------------------------------------------------
GLSL
教程,glsl c++ wrapper http://www.clockworkcoders.com/oglsl/index.html
------------------
links
------------------
http://wiki.flightgear.org/index.php/GLSL_Shader_Programming_Resources
http://wiki.flightgear.org/index.php/Howto:_Shader_Programming_in_FlightGear
http://en.wikipedia.org/wiki/Geometry_shader
http://www.cnblogs.com/Jedimaster/archive/2007/06/26/796107.html
------------------
codes
------------------
http://www.geeks3d.com/20100423/ruin-island-opengl-glsl-demo-with-full-source-code/
http://www.geeks3d.com/20090407/metatunnel-an-opengl-1k-demo-with-source-code/
http://www.xbdev.net/directx3dx/specialX/Fur/index.php (fur)
http://www.xbdev.net/shaderx/fx/index.php (fx)
GLSL shader editor
GeeXlab http://www.geeks3d.com/geexlab/code_samples.php
live code http://kagamin.net/hole/lc/
Shader Toy http://www.iquilezles.org/apps/shadertoy/
http://sourceforge.net/projects/lumina/
http://webglplayground.net/
------------------
projects
------------------
http://flightgear.org/
http://3dshaders.com/home/index.php?option=com_weblinks&catid=13&Itemid=33
Open Scene Graph
An open source scene graph that supports GLSL
gDEBugger
A very useful tool for developing OpenGL applications
GLSL Compiler Front-end
Source code for the industry standard GLSL parser
GLSL Parser Test Executable
GLSLParserTest is an application that allows you to quickly verifywhether or not your OpenGL driver properly supports the OpenGL ShadingLanguage specification
GLSL Parser Test Source Code
Source code for GLSL Parser Test (11Mb download)
GLSL Validate Executable
GLSLvalidate is a GUI driven application that allows you to quicklyverify that your GLSL shader is written according to the OpenGL ShadingLanguage specification.
GLSL Validate Source Code
Source code for GLSL validate (10Mb download)
Specifications
Most recent GLSL specification documents
Sample Chapter
A sample chapter from the first edition is available at the Addison-Wesley web site
API Documentation
On-line reference pages for GLSL API entry points
---------------------------------------------------------------------------------------------------------------------------------------------------------
// SUB-SURFACE SCATTER VS //
////////////////////////
/* --------------------------
SubScatter Vertex Shader:
Fake sub-surface scatter lighting shader by InvalidPointer 2008.
Found at http://www.gamedev.net/community/forums/topic.asp?topic_id=481494HLSL > GLSL translation
toneburst 2008
-------------------------- */
// Set light-position
uniform vec3 LightPosition;
// Varying variables to be sent to Fragment Shader
varying vec3 worldNormal, eyeVec, lightVec, vertPos, lightPos;
void subScatterVS(in vec4 ecVert)
{
lightVec = LightPosition - ecVert.xyz;
eyeVec = -ecVert.xyz;
vertPos = ecVert.xyz;
lightPos = LightPosition;
}
///////////////
// MAIN LOOP //
///////////////
void main()
{worldNormal = gl_NormalMatrix * gl_Normal;
vec4 ecPos = gl_ModelViewProjectionMatrix * gl_Vertex;
// Call function to set varyings for subscatter FS
subScatterVS(ecPos);
//Transform vertex by modelview and projection matrices
gl_Position = ecPos;
//Forward current texture coordinates after applying texture matrix
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
}