Merci Fred , c'est l'exemple qui est fourni avec la B4 ^^
mais avant de me lancer dans l'optimisation, je voudrais savoir, si j'utilise cette commande (Drawingbuffer()) dans un thread , si cela peut causer un crash du programme.
une autre p'tite question ,< Drawingbuffer() + (Codagepixel*1) > = 2 pixel en X ?
@Awear, cherche "produit scalaire" pour l'éclairage, tu y es presques
Oui je sais que j'y suis presque, mais faudra que je revois entièrement le code, donc je verrai ca demain (les vacances ).
Sinon je n'ai pas bien compris ta question :
< Drawingbuffer() + (Codagepixel*1) > = 2 pixel en X
que veux tu dire ?
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
Drawingbuffer() renvois l'addresse mémoire de l'output(), ici un sprite.
Admettons que Drawingbuffer()=5000, donc ,est ce que c'est la valeur RGB() du premier pixel?
et si je fait : Drawingbuffer() + (CodagePixel*1), est ce que j'obtient le second pixel en X?
CodagePixel est obtenu grace à DrawingBufferPixelFormat().
En fait tu récupère Drawingbuffer()
C'est l'adresse du premier pixel
Pour avoir un pixel, tu fais :
Drawingbuffer() + Drawingbufferpitch() * y + x * Codagepixel
C'est en tout cas ce que j'utilise et ca marche.
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
@Cpl.Bator
Dans face invaders je faisais comme ca pour dessiner les étoiles (en direct to screen avec drawingbuffer et compagnie). D'ailleurs si tu pouvais me renvoyer les sources ca m'arrangerait je ne les ai plus depuis le crash de mon dur
Dr. Dri a écrit :@Cpl.Bator
D'ailleurs si tu pouvais me renvoyer les sources ca m'arrangerait
?? Tu parles du pseudo stars wars que ta fait il y a 3 ans??
En tout cas , j'ai pas le souvenir d'avoir eu les sources, et puis j'utilise PB depuis la date d'inscription sur le forum. je suis désolé pour toi.
Le DrawingBuffer() est variable, je voudrais l'utilisé dans un thread, mais il faut que je le rapelle (DrawingBuffer()) dans un startdrawing() stopdrawing(), ce qui me cause un crash
Que dois-je faire? utiliser les mutex ? ne pas le faire dans un thread?
je me suis fait un comparatif de vitesse entre plot() et l'accès direct vidéo, il n'y a aucune différence. plot() est aussi rapide.
Cpl.Bator a écrit :
je me suis fait un comparatif de vitesse entre plot() et l'accès direct vidéo, il n'y a aucune différence. plot() est aussi rapide.
Merci.
c'est pas plot qui est lent en pureBasic , c'est Point() !!!
Moi-même a écrit :D'ailleurs si tu pouvais me renvoyer les sources ca m'arrangerait
?? Tu parles du pseudo stars wars que ta fait il y a 3 ans??
En tout cas , j'ai pas le souvenir d'avoir eu les sources, et puis j'utilise PB depuis la date d'inscription sur le forum. je suis désolé pour toi.
3 ans déjà ? Bon bah si t'as pas recu les sources quand je te les ai envoyées elles n'existent plus. J'vais quand meme vérifier ma boite mail c'est bizarre.
il est possible que tu me les ai envoyer, mais dépuis j'ai changer 2x de pc, qui eux mêmes on subit moultes formatages , et puis il a 2 ou 3 ans je ne connaissait pas Purebasic, je débutait en prog avec l'infâme DB
Le programme charge une image "bump.png" quelconque et fais se balader un spot de lumière à l'écran (ou sous la souris)
Le spot de lumière change de couleur progressivement et pour finir ca rame a mort
Woaow c'est super bien fait, et ca m'énerve parce que j'y arrive pas !!!
Sinon rassure toi chez moi, ca ne rame pas du tout, ca va même un poil trop vite quand le spot se balade seul.
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
C'est bien fait , mais cepandant il subsite quelques bugs , a mon avis lors du calculs de la lumière (Normal Map), ou le modele lambert si tu vois ce que je veut dire...
Ton éclairage est identique au miens, j'vois les mêmes bugs ^^