Per pixel lighting (avec normal map)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Per pixel lighting (avec normal map)

Message par blendman »

salut

Savez-vous s'il est possible de faire du per pixel lighting en purebasic ? Ou d'utiliser des normal maps en 2D, pour éclairer des objets ou une scène ?

Comme ceci :
http://www.youtube.com/watch?v=ut0SqBeAy1Q&NR=1

Je ne parle pas forcément des ombres, car ça j'ai réussi à bidouiller un truc, grâce à un fichier trouvé sur un forum russe dédié à purebasic, mais je parle de la lumière et de l'éclairage en fonction d'une normal map sur chaque objet et de l'interaction avec ces objets :D?
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Per pixel lighting (avec normal map)

Message par G-Rom »

oui , en software tu peut le faire , recherche bump mapping , tu rend ton bump sur un sprite3D ( un de petite taille ) , tu lui redonne une taille de ton écran , tu le blend avec les bon paramètre , et ca roule.
je l'ai déjà fait , ca marche , recherche Asterotrix , regarde l'intro & les crédits , tu per-pixel lighting en temps réel. ;)
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Per pixel lighting (avec normal map)

Message par blendman »

J'ai trouvé effectivement 1 ou 2 exemples de bump mapping (Dobro m'en a aussi montré un autre).
Mais ce que j'aimerai faire c'est surtout du normal mapping (ou bump) sur beaucoup de sprite en même temps et j'ai peur que ça rame.

En fait, lorsque mon personnage se ballade dans le jeu et que c'est la nuit, ou qu'il a une torche, je veux qu'il éclaire des objets et que l'on voit le volume de ces objets avec le bump et tout (comme sur la vidéo) :).

Sinon, j'ai voulu téléchrager Asterotrix, mais forbidden tout ça ;)
"Forbidden
You don't have permission to access /PureBasic/Asterotrix_beta2_Win32.zip on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request."

Merci des infos
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Per pixel lighting (avec normal map)

Message par Ar-S »

arf, tout pareil, et j'ai plus les archives, surement disparu lors d'une reinstalle :(
G-Rom si tu les as encore :)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
659_Minifly
Messages : 31
Inscription : ven. 20/nov./2009 18:10
Localisation : Valenciennes 59

Re: Per pixel lighting (avec normal map)

Message par 659_Minifly »

@Blendman

Aurais tu d'autres techniques ,d'autres termes en effet de lumière. j'ai appris:
Map lighting
Blend
bloom
Si possible d'autres tutos pour tous ces effets ( j'ai bien regardé le wiki, mais cela reste vague pour moi ).
j'ai vu un petit film faisant de la lumière sur une image 2D et on dirait du 3D.
Je suis affreusement nul sur tous ces effets de lumière, mais c'est intéressant.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Per pixel lighting (avec normal map)

Message par blendman »

pour le film, si tu parles du lien que j'ai posté c'est ce que je cherche à réaliser :).

Concernant les termes ou les effets, ce ne sera pas très techniques, mais en gros voici ce qui est possible en purebasic :

- blendmode (spriteblendingmode()) : permet de gérer d'une certaine maniière le rendu d'un sprite3D : effet de lumière, ou ombre, négatif, c'est léquivalent du mode de fusion des calques de photoshop (mode normal, additif, produit, écran (ou screen)...). En général, on utilise le blendmode (5,7) pour créer des effets de lumière, pour les jeux spaciaux, ou les sorts dans les RPG, etc...
- Bloom (ou glow) : c'est un effet de type post-processing. C'est à dire que l'on ajoute cet effet en temps réel sur l'écran du jeu. ça crée une sorte d'effet lumineux qui floute légèrement le résultat
- il y a d'autres effets de post-processing comme : motion blur (flou de mouvement), emboss (effet de rendu simulant un relief sur fond gris), blur (flou), distortion (effet de distortion sur l'image), etc..
- il existe aussi un effet qui permet de projeter des ombres à partir de sprite ou sprite3D : on peut parler de dynamic lighting ou dynamic shadows.
- lightmap : en 3D, cela peut être le fait de créer une image qui servira pour les ombres. Les ombres sont calculées en général sur la texture. il arrive que l'on crée un/une lightmap via les vertex des objets, et donc grâce aux couleurs vertex : on colorie chaque vertex en fonction des sources lumineuses de la scène.

Shaders (en 3D, mais ça peut être aussi en 2D (mais via des techniques 3D) :
- specular map : c'est une image qui sert pour calculer les lumières spéculaires
- bump map : image qui sert pour créer du relief
- normal map : image qui permet d'ajouter du relief/fake volume (faux volume) en fonction de la lumière (c'est ce que j'essaie de réaliser avec les sprites3D())
On pourrait ajouter d'autres map, comme AO map (image pour l'ambient occlusion), shadow map (autre nom du lightmap)...

Pour les shaders en 3D, il y en a beaucoup (de plus en plus), et il existe beaucoup de paramètres ou de type de shaders : réflection, réfraction, fall off, fresnel, emission (de lumière), etc...
Certains sont disponibles pour le rendu pré-calculé dans les soft de 3D (comme blender), d'autres le sont pour le temps réel et même disponibles dans Ogre (et sans doute purebasic).

Pour les tutoriel, j'en ai écrit un sur le blendmode, qui se trouve dans la section tutoriels.
Sinon, il existe quelques exemples de shaders dans la section 3D. Il y a aussi des exemples sur le forum Anglais.
Enfin, il doit y avoir des tutoriaux sur OpenGL ou peut être Ogre, mais je n'ai pas d'adresse car je n'utilise que très peu ces 2 fonctions/techniques/moteurs.

voiloutch, en espérant que cela t'aidera.
659_Minifly
Messages : 31
Inscription : ven. 20/nov./2009 18:10
Localisation : Valenciennes 59

Re: Per pixel lighting (avec normal map)

Message par 659_Minifly »

@Blendman

Thankyouch very myouch.

je vais potasser tout ça pour me faire une idée de tous ces techniques.

Merci
Répondre