Luminosité Sprite 3D

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Cpl.Bator a écrit :je viens de faire d'autre tests sous linux , en fait , Purebasic sous linux laisse à désiré...
si tu veut une appli portable , fait la même chose aussi pour la gestions des événements ( écran , clavier ) , je pourrais te faire une collection de fonctions qui utilise la SDL & OpenGL , SDL pour le fenetrage , OpenGL pour l'affichage.
Je suis preneur ! Des que j'ai un peu de temps aujourd'hui je fais la modification pour les sprites3d et pour tout ce qui est écran clavier... et je poste les sources si tu veux essayer !
Anonyme

Message par Anonyme »

Pas de soucis. ;)
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

J'espère te poster les sources aujourd'hui .. J'ai un acces wifi au boulot mais plus que limité donc ce soir je pense !
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Voilà les sources ...j'ai trouvé une solution (vive le ftp en ligne)
http://www.thyphoon.com/tmp_download/Source.zip

Parcontre j'ai un problème avec ta commande de reglage de la luminosité!
j'avais testé vite fait juste sur une vertice et ça fonctionne, mais si tu fais sur les 4 vertices ça merde (en tout cas chez moi)

il y a 2 exe pour tester
et dans les sources pour activer désactiver la luminosité ça se passe a la ligne 195

la commande SetSpriteLuminosityEx est dans includes/sprites.pbi
tu peux mettre en commentaire les lignes 59,60,61 pour n'avoir qu'une vertice affecté, et là le coin en question varie bien en luminosité. Est-ce du a ma carte graphique ?
C'est aussi dans ce fichier qu'on peut changer les commandes de (sprite) pour les différents OS !
Anonyme

Message par Anonyme »

je viens de voir les sources , Aïe... :D

Regarde comment est fait un code SDL pour linux :

Code : Tout sélectionner

Define.i run = 1
Define.SDL_Event event
Define.SDL_Surface *screen


ImportC "-lSDL"
SDL_MapRGB(format.i,red,green,blue)
EndImport



SDL_Init_(#SDL_INIT_VIDEO)
		*screen  = SDL_SetVideoMode_(800, 600, 32, #SDL_HWSURFACE | #SDL_DOUBLEBUF);


While run


		SDL_WaitEvent_(@event)
		Select event\type
		Case #SDL_QUIT
		run = 0
		EndSelect
		
		SDL_FillRect_(*screen, #Null, SDL_MapRGB(*screen\format, 17, 206, 112));

		
		
		SDL_Flip_(*screen)
Wend


SDL_Quit_()

Cela implique , si tu veut une apli vraiment portable , remettre une couche par dessus TOUTES les commandes pb.


par exemple :

Code : Tout sélectionner

Macro GetEvent()
select OS
    case WIN
        Event  = WindowEvent()
    case LINUX
        SDL_WaitEvent_(@event)
endselect
endmacro
Pour chaque OS , GetEvent() écrit le bon code , ca ne prend pas de ressource , puisque c'est des macros.

c'est fastidieux , mais ca à le mérite de fonctionné ! :D
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Cpl.Bator a écrit :je viens de voir les sources , Aïe... :D

Cela implique , si tu veut une apli vraiment portable , remettre une couche par dessus TOUTES les commandes pb.

c'est fastidieux , mais ca à le mérite de fonctionné ! :D
C'est un peu se que je pensais.. :) j'avais déjà fait jou-jou une fois avec SDL en C++ (a l'époque pour développé pour la console GP2X)

Je suis en vacances demain soir. Je n'aurais pas de connexion internet très souvent, mais je vais essayer de modifier pour que ça soit multiplateforme.

Ce qui est dommage avec Purebasic c'est que c'est sensé être multiplateforme, mais a chaque fois il y a quelques choses qui coince ...
En même temps ça s'améliore doucement a chaque nouvelle version.
C'est pour ça qu'a la base j'essaye de n'utiliser que des commandes purebasics... mais bon ...
Anonyme

Message par Anonyme »

C'est bien le problème de PB... la portabilité réelle qui est complètement fausse.


Si tu veut du portable à 100%
la SFML est très puissante , plus que la SDL , ca peut être une solution à ta sauvegarde avec la couche Alpha aussi :)
Faut juste importé les fonctions :D
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Cpl.Bator a écrit :C'est bien le problème de PB... la portabilité réelle qui est complètement fausse.


Si tu veut du portable à 100%
la SFML est très puissante , plus que la SDL , ca peut être une solution à ta sauvegarde avec la couche Alpha aussi :)
Faut juste importé les fonctions :D
je vais regardé la SFML ...

Tu as une idée pour le problème avec la commande de luminosité ?
Anonyme

Message par Anonyme »

je ne suis pas sous windows , donc je peut pas testé :s
à prioris la fonction est bonne , c'est quoi le problème exactement ?
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Cpl.Bator a écrit :je ne suis pas sous windows , donc je peut pas testé :s
à prioris la fonction est bonne , c'est quoi le problème exactement ?
Ba voilà ce que ça me fait
Image
Anonyme

Message par Anonyme »

ta source reproduit le bug ?
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Cpl.Bator a écrit :ta source reproduit le bug ?
oui
il y a juste une ligne pour l'activé ou la desactivé
main.pb ligne 195
voilà ce que je disais plus haut:

Code : Tout sélectionner

Parcontre j'ai un problème avec ta commande de reglage de la luminosité!
j'avais testé vite fait juste sur une vertice et ça fonctionne, mais si tu fais sur les 4 vertices ça merde (en tout cas chez moi)

il y a 2 exe pour tester
et dans les sources pour activer désactiver la luminosité ça se passe a la ligne 195

la commande SetSpriteLuminosityEx est dans includes/sprites.pbi
tu peux mettre en commentaire les lignes 59,60,61 pour n'avoir qu'une vertice affecté, et là le coin en question varie bien en luminosité. Est-ce du a ma carte graphique ? 
Anonyme

Message par Anonyme »

y a pas de chato dans la source , juste le ciel .
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Cpl.Bator a écrit :y a pas de chato dans la source , juste le ciel .
heu oui ... je crois que le fichier de la map est ancien ...
Je vais essayer de mettre a jour l'archive avant ce soir ... mais c'est pas gagné... je manque de temps :P
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Thyphoon a écrit :
Cpl.Bator a écrit :y a pas de chato dans la source , juste le ciel .
heu oui ... je crois que le fichier de la map est ancien ...
Je vais essayer de mettre a jour l'archive avant ce soir ... mais c'est pas gagné... je manque de temps :P
heu !! je viens de verifier ...et normalement si ... la maison ne doit pas apparaitre mais les murs du chateau si ...tu n'as pas un message d'erreur dans le debugger concernant les sprites ou le board ?
si tu es sous linux... edit les fichiers maps/map.map et tiles/test.brd et tiles/foret.brd c'est peut être un problème avec le nom des chemins vers les sprites...
tient moi au courant
Répondre