tfc.duke.free.fr

tfc.duke.free.fr welcome to david henry's homepage! about this page this is my personnal homepage. you'll find on this page some of my own programs, generally opengl demos, sometimes accompanied by an article in french and/or in english (a tutorial, a file format specification, etc.). all my works are open source, because first, open source rocks, and then, because their primary purpose are for education and they would be completely useless if they were closed source. since not all of the files hosted on my site are reachable from this page, you can browse my host space. sometimes people remember the name of the site where they have found something interesting but not the full web address. there is no critical private files on my site :-) if you want, you can participate to a little opinion poll about this site: i found what i was looking for/this site is interesting hell, what am i doing here? je ne parle pas anglais you can contact me by mail at tfc_duke, (at) club-internet, (dot) fr (french/english). usb pickitâ„¢ programmer usb_pickit 1.6 is a pic programmer for use with microchip's pickitâ„¢ 1 flash starter kit. this little low cost development board allow you to program some 8-bits pic microcontrollers (8 and 14 pins) like 12f675 and 16f684 devices. this programmer is based on the 1.5 verion by jeff boly, has some improvements and a big code rewriting. it works on gnu/linux and windows. more informations and download... demos and programs all these programs are open source. some old works haven't been tagged yet with a licence. i assume they are licensed under the mit-license, like a majority of my other works. my programs are compiled with gcc under gnu/linux. i try to make them portable, at least buildable under windows with mingw. not all demos are distributed with compiled binaries. i try to keep them minimalistic, with less bloat as possible, so that it's easy to understand the feature they are illustrating (loading a model, an image, etc.) from time to time, i rework one of them and update it. so none of them is in final version. programs written in c simple glut window, (aug. 14, 2007), for opengl. code base for a glut based application. create an opengl window and handle keyboard and mouse input, and time. libraries: opengl, glu, glut. files: glutbase.c (7.2 kb). simple sdl window with opengl, (aug. 14, 2007), for opengl. code base for an sdl based application. create an opengl window and handle keyboard and mouse input, and time. libraries: opengl, glu, sdl. files: sdlbase.c (7.3 kb). simple glx window, (aug. 14, 2007), for opengl. a simple opengl window created with the glx api. just to see how it's boring not using a portable framework. libraries: opengl, glu, x11. files: glx.c (9.9 kb). tga (truevision targa, *.tga) texture loader, (aug. 14, 2007), for opengl. loads 8, 16, 24 and 32 bits paletted, grayscale and truecolor tga images. rle compression is supported.reads everything i can export with the gimp. libraries: opengl, glu, glut. files: tga.c (16 kb), load from file; tga_mem.c (17 kb), load from memory. detailed article: français. dds (directdraw surface, *.dds) texture loader, (aug. 14, 2007), for opengl. loads compressed dds images. supports only dxt1, dxt3 and dxt5 compression formats. libraries: opengl, glu, glut. files: dds.c (9 kb). png (portable network graphics, *.png) texture loader, (aug. 14, 2007), for opengl. loads paletted, grayscale and truecolor png images. in theory, any type of png image should be supported.depends on libpng and zlib. libraries: opengl, glu, glut, libpng, zlib. files: png.c (9 kb), load from file; png_mem.c (11 kb), load from memory. detailed article: français. jpeg (joint photographic experts group, *.jpg) texture loader, (aug. 14, 2007), for opengl. loads every jpeg image. depends on libjpeg. libraries: opengl, glu, glut, libjpeg. files: jpeg.c (6.5 kb), load from file; jpeg_mem.c (9.3 kb), load from memory. pcx (zsoft pcx, *.pcx) texture loader, (aug. 14, 2007), for opengl. loads 1, 4, 8 and 24 bits paletted and truecolor pcx images.useful when dealing with old data such as quake 2's models. libraries: opengl, glu, glut. files: pcx.c (11 kb). bmp (windows/os2 bitmap, *.bmp) texture loader, (aug. 14, 2007), for opengl. loads 1, 4, 8, 24 and 32 bits paletted and truecolor bmp images. rle compression is supported. useless, bmp file format is crap ;-) libraries: opengl, glu, glut. files: bmp.c (15 kb). obj (alias|wavefront object, *.obj) model loader, (aug. 14, 2007), for opengl. load obj meshes. mtl files, nurbs and curves are not supported. this is a minimal loader. i don't remember why i have written it. libraries: opengl, glu, glut. files: obj.c (13 kb). gl_arb_texture_compression demo (using tga texture loader), (aug. 14, 2007) this is a demonstration of the gl_arb_texture_compression extension usage. it shows two textures created from the same source image, one with s3 compression, the other without. it's really simple. it uses the tga texture loader. libraries: opengl, glu, glut. files: texture_compression.c (19 kb). reflective environment mapping demo, (jan. 21, 2007) a cool looking demo of reflective environment mapping. it can use three rendering modes: standard way through fixed pipeline, through programmable pipeline with arb vertex and fragment programs, or with glsl shaders (requires opengl 2.0). it uses the tga loader. includes binaries for linux (x86) and windows. libraries: opengl, glu, glut, glew. files: envmap.zip (1.7 mb). object outlining demo, (aug. 14, 2007) this demo illustrates four polygon outlining techniques. libraries: opengl, glu, glut. files: outline.c (11.0 kb). quake's mdl viewer (*.mdl), (aug. 14, 2007) a simple mdl model viewer, with lighting, texture mapping and animation. libraries: opengl, glu, glut. files: mdl.c (15 kb), anorms.h (6.7 kb), colormap.h (4.3 kb). mdl file format specifications: english, français. quake 2's md2 viewer (*.mdl), (aug. 14, 2007) a simple md2 model viewer, with lighting and animation. no texture mapping. libraries: opengl, glu, glut. files: md2.c (16 kb), anorms.h (6.7 kb). md2 file format specifications: english, français. detailed article (using c++): english, français. doom 3's md5 viewer (*.md5mesh, *.md5anim), (aug. 14, 2007) a simple md5 model viewer, with animation support. no texture mapping. no lighting. less than 1300 lines of code. libraries: opengl, glu, glut. files: md5mesh.c (15 kb), md5anim.c (13 kb), md5model.h (3.8 kb). md5 file format specifications: english, français. doom 3's ultralight md5 viewer (*.md5mesh, *.md5anim), (feb. 1, 2006) an ultralight version of the md5 model viewer. no animation, no texture mapping. no lighting. fits in less than 650 lines of code. libraries: opengl, glu, glut. files: md5.c (14 kb). md5 file format specifications: english, français. programs written in c++ 3d math library (vector, matrix, quaternion), (feb. 19, 2006), for opengl. this is my own 3d math library i use in some of my projects.this package includes a test program (main.cpp). libraries: none. files: mathlib.zip (22 kb) texture loaders, (may 19, 2006). some opengl texture class loaders. supports 2d, rectangle and cube map textures. can load tga, png, jpeg, dds and pcx images files.this package includes a test program (main.cpp). libraries: opengl, glu, glew, boost, libjpeg, libpng, zlib. files: texture.zip (58 kb) shader library, (july. 13, 2007). glsl shader classes. this package includes some shader samples and linux and windows binaries. libraries: opengl, glew. files: shader.zip (515.9 kb) datamanager, (feb. 25, 2006). this is a template data manager class. it allows to register some objects in order to prevent duplicates (this is useful for textures, models, sounds, etc.). libraries: none. files: datamanager.zip (13.4 kb) glerrors, (jan. 24, 2007). this is a simple opengl error checker function. it checks if an opengl error has occured and print it to the standard output. nothing extraordinary but extremely useful for development :-) libraries: opengl. files: glerrors.zip (2 kb) doom 3's md5 viewer, (jan. 28, 2007). still in development source code is under mit-license (not all files are license-tagged). supports bump mapping with glsl and arb vertex and fragment programs. it includes two models from the doom 3 demo (i'm not sure i can redistribute them...). see the readme file for how to use it. libraries: opengl, glu, glew, sdl, sdl_ttf, libjpeg, libpng, zlib, boost. files: md5loader-09.tar.bz2 (8.3 mb) quake 3's md3 viewer (july 13, 2007), loads and displays a player and a weapon. supports lighting, texture mapping and animation. includes a sample player model with weapon. see readme for how to use it. note (1): it uses the posix opendir/readdir functions, which are not implemented in all compilers under windows (mingw supports them). note (2): this demo works on little endian architectures only. libraries: opengl, glu, glut, boost, libjpeg. files: md3loader.zip (2.4 mb); quake 2's md2 viewer (july 13, 2007), loads and displays a player and a weapon. supports lighting, texture mapping and animation. includes a sample player model with weapon. see readme for how to use it. note (1): it uses the posix opendir/readdir functions, which are not implemented in all compilers under windows (mingw supports them). note (2): this demo works on little endian architectures only. libraries: opengl, glu, glut. files: md2loader.zip (1.1 mb); detailed article: english, français. quake 2's md2 viewer + arb bump mapping (old). this is the md2 viewer demo with simple dot3 bump mapping, using arb extensions (that is to say, the most basic bump mapping which works with old graphic cards). includes a sample model with its normal map. linux package depends on libsdl; windows packages are self-sufficient. note: this demo works on little endian architectures only. libraries: opengl, glu, sdl. files: linux package (526.8 kb); winows mingw package (1 mb); winows msvc++ 6 package (744.7 kb). detailed article: english, français. quake's mdl viewer (july 13, 2007), for nostalgy. supports lighting, texture mapping and animation. includes a sample model with multiple skins. note: this demo works on little endian architectures only. libraries: opengl, glu, glut. files: mdlloader.zip (523.9 kb); particle fountain (feb. 9, 2006), a cool looking particle fountain. it can render particles as quads or as points with gl_arb_point_sprite and gl_arb_point_parameters extensions. libraries: opengl, glu, glut, glew. files: particlefountain.zip (482.4 kb); texture manager (png, jpeg, tga, bmp, pcx) (stone age), an antique texture manager. one day i will completely erase it. *aouch* ugly. linux package depends on libsdl, libpng, zlib and libjpeg; windows packages are self-sufficient. libraries: opengl, glu, sdl, libjpeg, libpng, zlib. files: linux package (183.8 kb); winows mingw package (1.1 mb); winows msvc++ 6 package (975.1 kb). detailed article: français. articles (in english) opengl/game programming: a primer to gcc and mingw quake ii md2 file format (detailed article)— old version; translation of a revised version (from french) comming soon when it's done :-( quake's mdl file format specifications quake 2's md2 file format specifications doom 3's md5 file format specifications articles (in french) articles programmation/opengl/jeux vidéos : développement de jeux vidéo multi-platforme et logiciels libres une introduction à gcc et mingw le format md2 (article détaillé) charger des images tga charger des images png (avec libpng) les listes chaînées (en c++) le singleton (en c++) calculer le nombre d'images par seconde specifications du format mdl (quake) specifications du format md2 (quake 2) specifications du format md5 (doom 3) articles programmation sdk d'half-life 1 : créer un nouveau monstre l'intelligence artificielle liste des tasks par défaut relations npc à npc faire suivre le joueur à l'aide de la classe ctalkmonster créer une nouvelle arme (côté serveur) utiliser les events avec une arme coder une arme côté client créer une arme de contact créer une arme qui tire des projectiles créer une visée laser ajouter un zoom à votre arme guide rapide pour la création d'une arme les events changer la couleur du hud les skill cvars les items precompiled win32 libraries here are some libraries i use in my programs, compiled for windows (under gnu/linux, use the package system of your distro). although it is present in the table, i no longer supports ms visual studio 6.0 (too old, too bad). list of compiled win32 libraries library mingw32 ms visual studio 6.0 sdl sdl 1.2.8 sdl 1.2.8 sdl sdl 1.2.7 sdl 1.2.7 glut glut 3.7.6 glut 3.7.6 zlib zlib 1.2.1 zlib 1.2.1 libpng (need zlib) libpng 1.2.6 libpng 1.2.6 libjpeg libjpeg 6b libjpeg 6b subliminal message: vi sucks! emacs rocks!

tfc.duke.free.fr  Précédent 275  Précédent 274  Précédent 273  Précédent 272  Précédent 271  Précédent 270  Précédent 269  Précédent 268  Précédent 267  Précédent 266  Précédent 265  Précédent 264  Précédent 263  Précédent 262  Précédent 261  Précédent 260  Précédent 259  Précédent 258  Précédent 257  Précédent 256  Précédent 255  Précédent 254  Précédent 253  Précédent 252  Précédent 251  Précédent 250  Précédent 249  Précédent 248  Précédent 247  Précédent 246  Suivant 277  Suivant 278  Suivant 279  Suivant 280  Suivant 281  Suivant 282  Suivant 283  Suivant 284  Suivant 285  Suivant 286  Suivant 287  Suivant 288  Suivant 289  Suivant 290  Suivant 291  Suivant 292  Suivant 293  Suivant 294  Suivant 295  Suivant 296  Suivant 297  Suivant 298  Suivant 299  Suivant 300  Suivant 301  Suivant 302  Suivant 303  Suivant 304  Suivant 305  Suivant 306