PDA

Voir la version complète : Quake 3 + BSP + lumière


passia
22/10/2006, 16h28
Bonjour,

Je travaille sur un "moteur" de quake 3 (oui je sais il est libre mais bon).

Après de multiples recherches sur le net et le forum, je n'ai toujours pas trouvé comment étaient gérées les lumières dans Quake 3.
J'ai une BSP pour tester et il y a 128 lumières (!!).

Comment doit-on gérer les lumières dans Quake 3 ?

deathangel
22/10/2006, 17h27
J'ai une BSP pour tester et il y a 128 lumières (!!).


128 LUMIERES !!!???
bon courage, les cartes graphiques actuelles en gère maximum 8 sans trop de problème après, c'est à l'arrache.
En général, les lumières sont simulées, en 3D tout est faux !! ce ne sont que des textures éclairées précalculées qui sont affichées dans 95% des cas. Je sais pas ou tu as eu ta BSP, mais ca me parait louche cette histoire

passia
22/10/2006, 17h40
Oui c'est bizarre, mais il y a bien 128 lumières.

Sinon dans Quake 3, les map-objects sont illuminés avec des lightmaps, en utilisant un double texturing (la texture normale et l'éclairage par dessus).

Dans ce cas je ne sais pas trop à quoi ces lumières serviraient.

Mokona
22/10/2006, 18h18
Ces lumières ne serviraient-elles justement pas à placer les lumières fixes permettant le calcul des lightmaps ?

passia
23/10/2006, 08h09
Hum hum, bien vu, je n'avais pas pensé à ça, merci.
Et à faire un éclairage dynamique dans ses propres vertex programs.

EDIT: Les lightmaps sont précalculées dans Quake. Le monde et les lumières sont immobiles donc les effets d'éclairage sur les faces du monde sont toujours les mêmes.

De toute façon je n'ai pas les ressources (textures, modèles, ...) de Quake donc pendant ce temps je suis bloqué dans mon travail.

MrGecko
23/10/2006, 12h55
télécharge la démo de quake.
C'est ce que j'avais fait pour importer une map en PureBasic.. bon c'était un peu chiant pour les textures, mais si je me souviens bien, c'était faisable.

Les lightmaps sont précalculées dans Quake

Les lightmaps sont dans tous les jeux (par définition) précalculées.

passia
23/10/2006, 15h03
C'est vrai qu'en relisant ça fait bête.

J'ai DL la démo, et avec grand bonheur je peux voir que ce que j'ai fait fonctionne pour d'autres maps.
Par contre je me retrouve face à un problème, j'explique:

Les textures sont dans des archives PK3.
J'arrive à extraire le contenu d'un fichier sous la forme d'un tableau de char.
Mais dans le cas d'une texture, je ne sais pas comment transformer ce tableau de char en tableau de pixels (pour fabriquer la texture pour OpenGL), les librairies (SDL_image, libjpeg) ne permettent de charger une image qu'à partir du nom du fichier et non à partir du contenu.

Si quelqu'un pouvait m'éclairer sur une lib à utiliser, ou sur une autre façon de chercher dans les PK3 ...

MrGecko
23/10/2006, 15h11
et si tu l'ouvrais avec winrar :) ?

passia
23/10/2006, 15h19
Non, je veux accéder directement aux ressources à partir des PK3, et ne pas avoir à tout décompresser.