Commit Graph

40 Commits

Author SHA1 Message Date
Christian Buchner
2ef6909d9b I am hereby submitting a deferred rendering code sample, originally written by Michael Kapelko in 2013. I am submitting this code with his approval.
Deferred rendering is now the de-facto standard rendering technique in many modern game engines, hence I think it is important to have this technique demonstrated in an osg code example.

This particular sample adds soft shadows as well as bump mapping into the rendering pipeline. The image files whitemetal_diffuse.jpg and whitemetal_normal.jpg from OpenSceneGraph-Data images folder are required (The OSG_FILE_PATH environment variable must be set correctly)

Two additional osgt models are included with the demo (best to also put them into OpenSceneGraph-Data, I think.

The shaders are currently defined in separate .frag and .vert files.
2016-05-19 17:20:29 +01:00
Robert Osfield
a6aa47afcd Added new examples to runexamples.bat script
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14589 16af8721-9629-0410-8352-f15c8da7e697
2014-12-09 19:31:53 +00:00
Robert Osfield
d18250da59 Replaced .osg with .osgt file usage 2011-06-14 16:54:20 +00:00
Robert Osfield
e0154c2d28 From Ulrich Hertlein, "attached is a stencil buffer-based constant-width outline f/x with example. I've also modified osgfxbrowser to setup the stencil buffer accordingly." 2009-12-08 17:41:44 +00:00
Robert Osfield
6a56b6e6be Refactored osg::Geometry::drawImplementation(..) to use new osg::ArrayDispatchers that encapsulate the task
of dispatch osg::Array data as OpenGL attributes.
2009-10-20 19:34:24 +00:00
Robert Osfield
c045af6481 From Paul Martz, added osgocclussionquery and osgthirdpersonview examples 2008-04-13 14:29:22 +00:00
Robert Osfield
abc2499e2d Removed now redundent osgshadowtexture and osgdepthshadow examples 2007-08-12 13:10:07 +00:00
Robert Osfield
071ebebd7f Removed the command line parameters form the examples that now have a default
file built into them.
2007-06-09 10:07:07 +00:00
Robert Osfield
b28ec0d027 Removed command line args for examples ported across to not need them. 2007-06-08 12:16:04 +00:00
Robert Osfield
190a0bb01a Removed examples:
osgcameragroup
  osgsimpleviewerProducer
  osgsimplepager
2007-01-11 15:48:44 +00:00
Robert Osfield
02bda82b55 From Paul Martz and Robert Osfield, renamed include/osgUtil/Tesselator and associated classes/references to Tessellator etc. 2007-01-08 11:23:52 +00:00
Robert Osfield
8e1efaed7f Added osgprecipitation to runexamples list. 2006-07-26 15:19:42 +00:00
Robert Osfield
da3c37148f Added osgshaderterrain and osgparametric to runexamples.bat 2005-11-10 15:52:02 +00:00
Robert Osfield
ac0a6a6ac5 Updated the runexamples.bat to include glsl_mandelbrot.osg and glsl_julia.osg references 2005-11-09 13:39:48 +00:00
Robert Osfield
55d170d4fd Added file to osgkeyboardmouse invokation. 2005-05-25 15:34:10 +00:00
Robert Osfield
2d6b61a98e Added new examples to runexamples 2005-05-23 11:18:01 +00:00
Robert Osfield
bb8169ce87 Updated NEWS, ChangeLog and runexamples.bat. 2005-05-18 21:31:51 +00:00
Robert Osfield
d1a1b1d95c Added more comprehensive releaseGLObjects(State*=0) throughout Nodes,
Drawables,StateSet, and osgDB::Registry.

Added cleanup_frame() from to osgProducer::OsgCamerGroup to help with proper
clean of OpenGL objects before exit, and modified osgviewer, osghangglider,
osgwindows examples to do the extra frame call to cleanup_frame() before exit.
2005-05-07 20:47:09 +00:00
Robert Osfield
a1bda0dab8 Added support for per context extension string.
Note, this required adding a unsigned int context ID to the osg::isGLUExtensionSupported(,)
and osg::isGLExtensionSupported(,) functions.  This may require reimplementation
of end user code to accomodate the new calling convention.
2005-04-26 13:15:27 +00:00
Robert Osfield
16c55531da Preparation for moving osgGL2 out of the core OSG into its own seperate distribution. 2005-04-14 11:28:23 +00:00
Robert Osfield
9c5567d3e5 Added osgparticleeffects example 2005-04-04 08:47:21 +00:00
Robert Osfield
7956e5dfe8 Made the permissions executable 2004-11-18 22:43:50 +00:00
Robert Osfield
f92735765c Added osglancher and osgplanets to example set. 2004-11-18 16:21:08 +00:00
Robert Osfield
cd70b40875 Added osgspotlight to example set. 2004-11-15 12:05:27 +00:00
Robert Osfield
53c3842c89 From Marco Jez, added more examples to runexamples.bat 2004-10-01 09:19:30 +00:00
Robert Osfield
2003c27714 From Marco Jez, added new osgmotionblur example 2004-09-01 09:54:36 +00:00
Robert Osfield
4d9bd4d825 Build fixes for gcc 3.4.1 support 2004-08-01 08:26:44 +00:00
Robert Osfield
82ed0c61d6 Removed slideshow3D from runexamples.bat 2004-02-07 19:36:15 +00:00
Robert Osfield
d6387e6eb8 Removed afterescher reference from runexamples.bat. 2003-10-01 20:41:15 +00:00
Robert Osfield
7fb9f6be4b Added the beginnings of a new osgforest example.
Added support into osg::TriangleFunctor for specifying whether the vertices
being generates are temporary or not.
2003-09-25 21:54:33 +00:00
Robert Osfield
2c4c2ad068 Added osgFX - Marco Jez's special effects nodekit. 2003-08-26 21:17:22 +00:00
Robert Osfield
46680be5eb Added control of auto option into slideshow3D 2003-07-23 15:12:52 +00:00
Robert Osfield
ee30f2e30c Added support for osg::State::s/getInitialViewMatrix();
Added slideshow3D examples to the runexamples.bat.

Fixed DatabasePager to work with the latest OpenThreads.
2003-07-22 21:03:59 +00:00
Robert Osfield
709dafe15b Added osgtexturerectangle example from Ulrich Hertlein. 2003-05-20 14:05:19 +00:00
Robert Osfield
fd262554ac Moved the managing of frame stamp from osgProducer::Viewer into
osgProducer::OsgCamaraGroup.

Added setting of trackball in osgcameragroup so its starts in the
correct place for different models.
2003-04-17 11:14:25 +00:00
Robert Osfield
904aceec22 Added convinence methods to osgProducer::Viewer:
/** compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.*/
        bool computePixelCoords(float x,float y,unsigned int cameraNum,float& pixel_x,float& pixel_y);

        /** compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.*/
        bool computeNearFar(float x,float y,unsigned int cameraNum,osg::Vec3& near, osg::Vec3& far);

        /** compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.*/
        bool computeIntersections(float x,float y,unsigned int cameraNum,osgUtil::IntersectVisitor::HitList& hits);

        /** compute, from normalized mouse coords, for all Cameras, intersections with the scene.*/
        bool computeIntersections(float x,float y,osgUtil::IntersectVisitor::HitList& hits);
2003-04-16 14:17:49 +00:00
Robert Osfield
83fb3f40c9 Added afterescher back into the example list in runexamples.bat.
Added osgSim and osgText into the geo/GNUmakefile LIBS.
2003-04-11 10:00:56 +00:00
Robert Osfield
0df1b28672 Added osgwindows example which sets up and Producer::CameraConfig up
and uses that to create multiple windows.
2003-04-07 10:20:34 +00:00
Robert Osfield
5e56e0eba8 Added osgkeyboard to the ./runexamples.bat.
Made osgstereoimage exit when non files have been loaded.

Added non const getText() method.
2003-03-25 13:57:16 +00:00
Robert Osfield
f811b2580e Removed osgGLUT and Demos/*.
Integrated Marco's updated examples/*/*.dsp's.
2003-03-15 20:20:46 +00:00