58 cGrCamera(
class cGrScreen *myscreen,
int myid = 0,
int mydrawCurrent = 0,
int mydrawdrv = 0,
int mydrawBackground = 0,
int mymirrorAllowed = 0) {
68 up[0] =
up[1] = 0.0;
up[2] = 1.0;
145 void add(tGrCamHead *head) {
177 float myfovy,
float myfovymin,
float myfovymax,
178 float myfnear,
float myffar = 1500.0,
float myfogstart = 1400.0,
float myfogend = 1500.0);
237 0.1f, 2000.0f, 100000.0f, 100000.0f) {
259 float myfovy,
float myfovymin,
float myfovymax,
260 float myfnear,
float myffar = 1500.0,
261 float myfogstart = 1400.0,
float myfogend = 1500.0)
263 myfovy, myfovymin, myfovymax,
264 myfnear, myffar, myfogstart, myfogend) {
265 glGenTextures (1, &
tex);
275 void setPos (
int x,
int y,
int w,
int h);
286#define GR_ZOOM_DFLT 4
struct CarElt tCarElt
Car structure (tCarElt).
cGrBackgroundCam(class cGrScreen *myscreen)
void update(tCarElt *car, tSituation *s)
virtual void setProjection(void)=0
cGrCamera(class cGrScreen *myscreen, int myid=0, int mydrawCurrent=0, int mydrawdrv=0, int mydrawBackground=0, int mymirrorAllowed=0)
int isMirrorAllowed(void)
virtual float getFovY(void)
void remove(tGrCamHead *head)
void rebaseLocalRenderCoordinates(void)
int renderCoordinatesLocal
virtual void loadDefaults(char *attr)=0
virtual void setZoom(int cmd)=0
sgVec3 * getCenterv(void)
void add(tGrCamHead *head)
virtual void onSelect(tCarElt *car, tSituation *s)=0
float getDist2(tCarElt *car)
virtual void setModelView(void)=0
virtual float getLODFactor(float x, float y, float z)=0
int getDrawBackground(void)
GF_TAILQ_ENTRY(cGrCamera) link
void setLocalRenderCoordinates(void)
virtual void update(tCarElt *car, tSituation *s)=0
sgVec3 * getWorldPosv(void)
virtual ~cGrCarCamMirror()
void activateViewport(void)
void setViewport(int x, int y, int w, int h)
void setPos(int x, int y, int w, int h)
void update(tCarElt *car, tSituation *s)
cGrCarCamMirror(cGrScreen *myscreen, int id, int drawCurr, int drawBG, float myfovy, float myfovymin, float myfovymax, float myfnear, float myffar=1500.0, float myfogstart=1400.0, float myfogend=1500.0)
float getLODFactor(float x, float y, float z)
void onSelect(tCarElt *car, tSituation *s)
void update(tCarElt *car, tSituation *s)
cGrOrthoCamera(class cGrScreen *myscreen, float myleft, float myright, float mybottom, float mytop)
void loadDefaults(char *attr)
void onSelect(tCarElt *car, tSituation *s)
void loadDefaults(char *attr)
virtual void update(tCarElt *car, tSituation *s)=0
virtual float getFovY(void)
float getLODFactor(float x, float y, float z)
cGrPerspCamera(class cGrScreen *myscreen, int id, int drawCurr, int drawDrv, int drawBG, int mirrorAllowed, float myfovy, float myfovymin, float myfovymax, float myfnear, float myffar=1500.0, float myfogstart=1400.0, float myfogend=1500.0)
cGrPerspCamera * next(void)
void grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams, tdble fovFactor)
float tdble
Floating point type used in TORCS.
#define GF_TAILQ_INSERT_TAIL(head, elm, field)
Insert an element at the tail.
#define GF_TAILQ_HEAD(name, type)
Head type definition.
#define GF_TAILQ_NEXT(elm, field)
Next element of a TAILQ.
#define GF_TAILQ_REMOVE(head, elm, field)
Remove an element.
struct Situation tSituation
cars situation used to inform the GUI and the drivers