~ubuntu-branches/ubuntu/precise/primrose/precise

« back to all changes in this revision

Viewing changes to minorGems/graphics/openGL/LightingGL.h

  • Committer: Bazaar Package Importer
  • Author(s): Paul Wise
  • Date: 2009-04-06 19:26:56 UTC
  • Revision ID: james.westby@ubuntu.com-20090406192656-cri7503gebyvfl8t
Tags: upstream-5+dfsg1
ImportĀ upstreamĀ versionĀ 5+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Modification History
 
3
 *
 
4
 * 2000-December-20             Jason Rohrer
 
5
 * Created. 
 
6
 */
 
7
 
 
8
 
 
9
#ifndef LIGHTING_GL_INCLUDED
 
10
#define LIGHTING_GL_INCLUDED
 
11
 
 
12
#include "minorGems/math/geometry/Vector3D.h"
 
13
#include "minorGems/graphics/Color.h" 
 
14
 
 
15
/**
 
16
 * Interface for lighting in an OpenGL scene.
 
17
 *
 
18
 * @author Jason Rohrer 
 
19
 */
 
20
class LightingGL { 
 
21
        
 
22
        public:
 
23
                
 
24
                /**
 
25
                 * Gets the lighting color for a particular point on a surface
 
26
                 * with a particular orientation.
 
27
                 *
 
28
                 * @param inPoint the surface point.
 
29
                 * @param inNormal direction vector for normal at surface point.
 
30
                 *   Must be normalized.
 
31
                 * @param outColor preallocated Color where the lighting color
 
32
                 *   of this surface point will be returned.
 
33
                 */
 
34
                virtual void getLighting( Vector3D *inPoint, Vector3D *inNormal,
 
35
                        Color *outColor ) = 0;
 
36
                
 
37
        };
 
38
        
 
39
#endif