Dokumentace k souboru b_gl.c

Popis souboru | Konstanty | Proměnné | Funkce

Popis souboru (1)

OpenGL rendering funkce + GL debugovaci funkce

Konstanty (4)

JménoHodnotaDokumentace
glerrdo nothing //[PASS]
normal_scale0.25pokud je zaple debug_normal, tak urcije jak velke normaly budou zobrazeny
xmax(1-xmin)maximalni sourdnice textury (viz xmin)
xmin(1/512.0)minimalni souradnice textury. Aby byl skybox spojity, melo by to byt asi pul pixelu od okraje

Proměnné (23)

JménoTypPočáteční hodnotaDokumentace
b3d_winint?GLUT handle okna [EXT]
clipbackbfloat3000far clip plane [EXT]
clipfrontbfloat4near clip plane [EXT]
coordbfloat[6*12]?souradnice pro skyboxy
fontsizexbfloat12velikost fontu (nejen) v konzoli - x [EXT]
fontsizeybfloat16velikost fontu (nejen) v konzoli - y [EXT]
fovbfloat90field of view [EXT]
fpschar[1280]?buffer na FPS a debugovaci informace [EXT]
fpsdatatype_fpsdata?Data pro FPS kalkulace [EXT]
gle_tree*tree?tree with supported gl extensions [EXT]
infochar[1024]?buffer na debugovaci informace (r_fps>=2) [EXT]
last_textureint?posledni pouzita textura [EXT]
lastmaterial*material?posledni pouzity material
maxxint?rozmery okna na vykreslovani (x=maxx a y=maxy) [EXT]
maxyint?rozmery okna na vykreslovani (x=maxx a y=maxy) [EXT]
polysint?citac polygonu ve scene [EXT]
spritesint?pocet spritu v seznamu
sprites_maxint?maximalni pocet spritu (pokud by mel byt vyssi, pole se musi prealokovat)
tex_console*texture?textura pro pozadi konzole [EXT]
tex_font*texture?textura pro font [EXT]
tex_menuptexture[4]?textury v menu [EXT]
tex_skybox*texture[6]?skybox (6 textur) [EXT]
ts*trans_sprite?seznam s transparentnimi sprity

Funkce (28)

ModifikátorJménoParametryDokumentace
cdecl_int_sprite_compare(const trans_sprite *a,const trans_sprite *b)porovnavaci funkce pro integrovany quicksort
voidaa_drawbox(const aa_bbox b)Nakresli na obrazovku axis-aligned 3d bounding box. Vicemene debugovaci funkce, jijnak se nepouziva
voidb3d_2d(void)nastavi 2d projekci o souradnicich (0,0 - maxx,maxy), vypne Z-buffer a backface culling
voidb3d_local2d(int px,int py,int wx,int wy)nastavi 2d projekci o souradnicich (0,0 - wx,wy), vypne Z-buffer a backface culling
voidb_applymaterial(material *m)aplikuje do opengl material. NULL pouze vyresetuje "nacachovany" material.
voidb_skybox(int x,int y,int wx,int wy,client *c)vykresli skybox. wx a wy jsou sirka okna kde skybox bude a x a y jeho pozice
voiddebug_aabox(const aa_bbox a)vykresli debugovaci axis-aligned bounding box
voiddisplay_worldspawn(const worldspawn *w,object3d *self,options *opt)zobrazi cely svet (krome self)
voiddisplaymodel(model3d *m,object_features *feat,options *opt,vertex *model_position)zobrazi model. Pri prvni zobrazeni se take mohou delat optimalizace modelu (call list)
voiddisplayobject(object3d *o,object3d *self,options *opt)zobrazi jeden objekt, vcetne podrazenych objektu
voiddisplayobjectlist(objectlist o,object3d *self,options *opt)zobrazi seznam objektu (na kazdy vola displayobject)
voiddrawbox(const bbox b)Nakresli na obrazovku 3d bounding box. Vicemene debugovaci funkce, jijnak se nepouziva
voidgl_2dclip(bfloat x,bfloat y,bfloat wx,bfloat wy)nastavi orezavani pri 2d souradnicich na ramecek dany pozici (x,y) a sirkou (wx,wy)
nastaveni sirky na (0,0) vypne orezavani
voidgl_addsprite(const vertex *vx,const options *opt, texture *t,byte color[4],byte alpha,bfloat spritescale,vertex *modelrealpos)nakresli dany sprite. Respektive vlozi do seznamu k pozdejsimu nakresleni
modelrealpos je pozice stredu spritu.
vx je vektor posunuti spritu oproti pozici modelrealpos (relativni vzhledem k smeru pohledu hrace)
na jedne modelrealpos muze byt poveseno vice spritu (nekolik vrstev exploze, napr.)
voidgl_drawsprites(const options *opt)vykresli vsechny sprity v seznamu
voidgl_initsprites(void)inicializuje seznam spritu (vyprazdni ho)
voidgl_printchat(client *c,const char *ms,int lines)vytiskne chat window na obrazovku (spodni konec obrazovky)
voidgl_rectangle(bfloat x1,bfloat y1, bfloat x2,bfloat y2)vykresli obdelnik v 2d souradnicich - barva a textura mui byt predem nastaveny
voidgl_settexture(texture *t)nastavi v opengl danou texturu, nebo NULL pokud textura neni
voidgl_texture_off()Vypne texturu
voidgl_texture_on(int id)nastavi texturu (pokud jiz neni nastavena ta sama)
voidgl_transform(vector pos, const dReal *r)vynasobi matici daty ziskanymi z ODE (rotace + posunuti)
voidglchar(int c)vyplivne na obrazovku jeden znak a posune matici
tree *glext_parse(const char *extlist)rozparsuje seznam OpenGL extensions a nahazi je do BVS stromu
voidgltext(const char *s)vyplivne na obrazovky retezec, rozeznama znak newline
voidgltext_at(const char *s,bfloat x,bfloat y)vyplivne text na obrazovce posunuty o zadane souradnice
voidgltext_center(const char *s,bfloat y)vytiskne text zarovnany na stred obrazovky
voidgluquad(const vector org,const vector left,const vector down)nakresli rovnobezny ctyruhelnik s bodem v org a stranami left a down (debugovaci funkce)

Dokumentace z 12.09.2003 18:06:39