2004-09-19 17:02:16 +00:00
|
|
|
|
|
|
|
#ifndef __FG_RENDERER_HXX
|
|
|
|
#define __FG_RENDERER_HXX 1
|
|
|
|
|
|
|
|
#include <simgear/screen/extensions.hxx>
|
|
|
|
#include <simgear/scene/sky/sky.hxx>
|
2007-01-07 12:02:50 +00:00
|
|
|
#include <simgear/scene/util/SGPickCallback.hxx>
|
2004-09-19 17:02:16 +00:00
|
|
|
|
|
|
|
#define FG_ENABLE_MULTIPASS_CLOUDS 1
|
|
|
|
|
|
|
|
class SGSky;
|
|
|
|
extern SGSky *thesky;
|
|
|
|
|
|
|
|
extern glPointParameterfProc glPointParameterfPtr;
|
|
|
|
extern glPointParameterfvProc glPointParameterfvPtr;
|
|
|
|
extern bool glPointParameterIsSupported;
|
2006-01-26 09:37:32 +00:00
|
|
|
extern bool glPointSpriteIsSupported;
|
2004-09-19 17:02:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
class FGRenderer {
|
|
|
|
|
|
|
|
public:
|
2005-02-25 19:41:53 +00:00
|
|
|
|
2004-10-06 09:57:37 +00:00
|
|
|
FGRenderer();
|
|
|
|
~FGRenderer();
|
2004-09-19 17:02:16 +00:00
|
|
|
|
|
|
|
void init();
|
|
|
|
|
2004-10-06 03:29:14 +00:00
|
|
|
static void resize(int width, int height );
|
|
|
|
|
|
|
|
// calling update( refresh_camera_settings = false ) will not
|
|
|
|
// touch window or camera settings. This is useful for the tiled
|
|
|
|
// renderer which needs to set the view frustum itself.
|
|
|
|
static void update( bool refresh_camera_settings );
|
|
|
|
inline static void update() { update( true ); }
|
2005-02-25 19:41:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
/** FlightGear code should use this routine to set the FOV rather
|
|
|
|
* than calling the ssg routine directly
|
|
|
|
*/
|
|
|
|
static void setFOV( float w, float h );
|
|
|
|
|
|
|
|
|
|
|
|
/** FlightGear code should use this routine to set the Near/Far
|
|
|
|
* clip planes rather than calling the ssg routine directly
|
|
|
|
*/
|
|
|
|
static void setNearFar( float n, float f );
|
2005-12-12 21:15:20 +00:00
|
|
|
|
2007-01-07 12:02:50 +00:00
|
|
|
/** Just pick into the scene and return the pick callbacks on the way ...
|
2005-12-12 21:15:20 +00:00
|
|
|
*/
|
2007-01-07 12:02:50 +00:00
|
|
|
static bool pick( unsigned x, unsigned y,
|
|
|
|
std::vector<SGSceneryPick>& pickList );
|
2004-09-19 17:02:16 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|