Author Topic: texture qui émet de la lumière  (Read 776 times)

tpt

  • Apprenti poseur de brushs
  • Posts: 66
texture qui émet de la lumière
« on: November 19, 2009, 05:16:19 PM »
J'aimerais créer un brush ressemblant a une lampe et y ajouter une texture qui simule la lumière si j'ai bien capté, le script qui suit permet de le faire...donc j'ai récupéré ça sur le site ou il parle de shader je voulais savoir s'il faut des textures tga particulière avec plusieurs couche...

textures/base_light/ceil1_38_10k
{
    qer_editorimage textures/base_light/ceil1_38.tga
    surfaceParm noMarks
    q3map_surfaceLight 10000
    q3map_lightImage textures/base_light/deil1_38.blend.tga
    light 1
    {
         map & lightmap
         rgbGen identity
    }

    {
         map textures/base_light/ceil1_38.tga
         blendFunc blend
    }

    {
         map textures/base_light/ceil1_38.blend.tga
         blendFunc add
    }
}

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
texture qui émet de la lumière
« Reply #1 on: November 19, 2009, 09:11:06 PM »
(Re)Salut

Wow! 10000, déjà, ca risque d'être monstrueux, et le compilateur pourrait ne pas tenir compte d'un chiffre dépassant les 2048. Préfère l'emploi de 512, ne serait-ce que pour vérifier que tout fonctionne.

Les shaders ont l'énorme avantage de créer une indépendance dans la structure des différentes couches, et également, ils permettent de manipuler directement une texture-image basique. Tu n'as donc pas besoin de TGA spécifique.

Quote
{
map & lightmap
rgbGen identity
}

Ceci, je te le déconseille, car la lightmap n'a pas lieu d'être sur une source lumineuse. En effet, dans la réalité, quelque soit le décor, une lampe te semblera éclairer toujours de la même façon (en excluant le fait que l'oeil s'habitue au noir). Donc, ce morceau de code n'est pas utile.
De plus, il est faux, car je ne crois pas qu'il faille ajouter un espace entre le signe & (je ne sais d'ailleurs plus à quoi il réfère) et le terme "lightmap". Habituellement, c'est $lightmap que l'on emploi, $ étant un caractère générique stipulant, dans les shaders et en début de la commande "map", que l'on va employer non pas une image classique, mais une image issue du rendu du jeu, c'est à dire n'existant pas sous forme *.tga/*.jpg

Après, pour les deux autres couches, c'est toi qui vois suivant ton rendu. Sache seulement que si tu n'as pas de couche opaque dans ton shader (la couche opaque devant, par logique, être la première couche), ta texture sera forcément translucide. Les couches opaques se caractérisent par une blendfunc GL_ZERO GL_ONE (Pixel Rendu = 0 * Pixel d'arrière-plan + 1 * pixel de texture donc le Pixel rendu est le même que le Pixel de la texture, et cette texture est alors opaque).

tpt

  • Apprenti poseur de brushs
  • Posts: 66
texture qui émet de la lumière
« Reply #2 on: November 20, 2009, 12:31:07 PM »
Mais merde quoi ça marche nikel chrome merci trop content  :D

textures/dsc/lumiere
{
qer_editorimage textures/dsc/lumiere2.jpg
surfaceParm noMarks
q3map_surfaceLight 512
q3map_lightImage textures/dsc/lumiere3.jpg
light 1
{
map textures/dsc/lumiere2.jpg
blendFunc blend
}

{
map textures/dsc/lumiere3.jpg
blendFunc add
}
}

Comme tu peux le voir j'ai utilisé les texture lumiere, lumiere2 et lumiere3 je me demandais si ça ne poser pas de problème de réutiliser ces textures sous un autre nom car à la base c'est des textures de sols que je n'ai pas encore utilisé.


snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
texture qui émet de la lumière
« Reply #3 on: November 20, 2009, 06:22:33 PM »
Le jeu ne regarde pas si un fichier image est utilisé une ou 1000 fois dans un ou différents shaders (quoique 1000 fois dans un seul shader, cad une seule texture de 1000 couches, le jeu n'aimera pas mais bon).

Si telle était bien ta question, les fichiers images et les shaders sont totalement dissociés au sens où on peut utiliser plusieurs fois l'un dans l'autre, ou utiliser l'un dans plusieurs autres.

tpt

  • Apprenti poseur de brushs
  • Posts: 66
texture qui émet de la lumière
« Reply #4 on: November 22, 2009, 01:33:59 PM »
J'ai map builder qui plante quand je texture trop de brush avec la texture lumineuse j'ai pu en faire quand même près d'une vingtaine

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
texture qui émet de la lumière
« Reply #5 on: November 22, 2009, 02:47:07 PM »
Ca, c'est autre chose, cela vient du fait de la limitation des émissions lumineuses. Tu aurais le même problème en utilisant trop d'entités Light ou en employant une valeur de Light trop grande pour ces entités.

Une solution de contournement, pour des lumières inaccessibles par les joueurs, est de faire le rendu "à la main", c'est à dire d'éclairer la texture proche de la lampe via photoshop, par exemple, puis de cadrer cette texture pour donner l'effet de lumière.