TEXTURE PACKER - OU COMMENT GÉRER UNE BANQUE DE TEXTURES FACILEMENT !

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 14 déc. 2008 à 17:48
Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018 - 24 déc. 2008 à 15:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48712-texture-packer-ou-comment-gerer-une-banque-de-textures-facilement

Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018
24 déc. 2008 à 15:42
@Nicolas et autres : pour simplifier, je poste dans la foulée le prog qui explique tout.
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
24 déc. 2008 à 14:50
@Debiars : On peut donc faire la meme chose avec un TJpegImage , faire un SaveToStream à partir de celui ci , l'enregistrer et le recuperer, d'ailleurs pour le recuperer dans le fichier comment fais -tu ?

Moi je remplis un TMemoryStream avec les données de enregistrées precedement grace au SaveToStream et une fois tt récupéré je fais MonImageBMP.LoadFromStream(LeStreamRempli).
[Parce que je ne travaillais qu'avec des BMP, je pensais à tort que ca ne marcherais pas pour les Jpeg]

Bon ce n'est pas très clair et en plus cette opération pose des problèmes
Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018
24 déc. 2008 à 14:42
@Nicolas : je passe par un Timage pour garder la taille de l'image.
Par exemple pour une même image cela donne :

bitmap 826934 octets
jpeg 78489 "

donc gain de mémoire important...
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
24 déc. 2008 à 11:27
Oui, j'avais pensé à regrouper tous les bitmaps dans des streams différents puis tout recoller, mais plein de violations d'accès ...

Je vais réessayer !

Cordialement, Bacterius !
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
24 déc. 2008 à 10:19
C'est cette solution que je lui est proposée ... mais juste en passant par un TBitmap , pas besoin d'un TImage :)
Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018
24 déc. 2008 à 09:19
Un truc simple pour enregistrer un bitmap.
Tu le copie dans un TImage et de la Image.Picture.SaveToStream().
Je vais poster sous peu un exemple dans ce sens...

Cordialement, debiars !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
23 déc. 2008 à 18:37
Petite amélioration toute bête + une capture d'écran encore plus sympa ^^

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
23 déc. 2008 à 18:21
Et voilà, exportation en masse, comme dit dans mon précédent commentaire !!!
Et un petit ajout : option Site Internet ...

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
23 déc. 2008 à 15:51
Et voilà Nicolas !! Ajout de la multisélection, mais elle n'est pour l'instant adaptée qu'à la suppression de textures (j'ai aussi rectifié le OpenDialog). Attention : on est pas à l'abri d'un bug, j'ai fait un peu au pif, je ne suis pas sûr de la stabilité de l'ensemble à présent ...). Pour l'exportation de textures en masse, je pensais à : si une seule texture, boîte de dialogue normale, sinon : sélection d'un dossier, et on les enregistre selon un format [%d] - %s.
C'est correct ?

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
23 déc. 2008 à 15:32
pour la gestion de ta base :

tu peux gérer des parties binaires dans tes records, où tu stockerais les textures, en indiquant la taille du bloc dans le record...

Si cela t'interresse, discutons-en !

DH
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
23 déc. 2008 à 15:15
Ouais, la multisélection pose pas mal de problèmes en fait, mais on va bien s'en sortir - impossible n'est pas Delphi - et puis pour "tous les formats", je l'ai oublié, en effet c'est assez chiant de devoir changer pour voir bmp ET jpeg, et puis sinon : il faudrait que j'aille chercher la GraphicEx pour prendre en compte tous les formats (ça serait en effet pratique de pouvoir, au moins ouvrir les images bitmap, jpeg, png et tif ...)

Cordialement, Bacterius !
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
23 déc. 2008 à 15:05
Cool , on peut déjà aller plus vite grâce à l'import en masse ...
bon je suis encore chiant mais y'a pas grand chose à changer :
dans l'OpenDialog de l'import en masse, tu devrais aussi mettre un filtre
"tous les formats" et pas seulement prendre les *.bmp ou *.jpeg ...

Vivement la multiSelection % à la Listbox
(effacer plus rapidement et d'autres choses ...)

Nico
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
23 déc. 2008 à 12:31
Et voilà, j'ai tout mis sauf la treeview, pas encore pour l'instant.

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
23 déc. 2008 à 11:38
Ah je viens de comprends blueperfect.
Mais l'intêret du paquet réside en ce qu'il est autonome : ta technique propose simplement de répertorier des adresses de bitmaps sur le disque ... Celle que je propose actuellement permet de les mettre dans le paquet directement.

Sinon, juste un dernier truc, pour ceux qui voudraient faire des paquets imposants :
la technique de compression RAR marche particulièrement bien avec les paquets .ptx : en effet, le paquet de 256 textures (soit 12560 Ko), passe à 990 Ko en RAR (mais en ZIP il passe juste à 4700 Ko, ce qui n'est déjà pas mal ^^).

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
23 déc. 2008 à 11:35
J'ai rien compris blueperfect ...

Sinon, @Nicolas :

-> Pour les performances, j'ai introduit des GetTickCount dans mon application démo pour voir les performances avec 256 bitmaps (eh oui j'ai eu la patience de tous les mettre !)

-> Pour ton commentaire : non non c'est normal, il m'a beaucoup aidé crois-moi

-> Pour le Treeview c'est pas encore fait, mais je vais réflechir un peu dessus, l'idée du glisser-déplacer me semble bien, mais je rencontre un problème toutefois : il faudrait une plus grande hauteur à la fiche, car avec des groupes de 20 textures, on ne peut pas voir tous les groupes en même temps. Au pire, pour changer de groupe, clic droit -> changer la texture de groupe -> choisir groupe et voilà ! Mais je vais également introduire un multiselect dans la listbox (ce qui serait difficile avec un treeview).

Au fait, je poste la version avec tous les trucs que tu m'as dit dans ton premier commentaire, et je commence avec les autres commentaires ^^

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
22 déc. 2008 à 19:36
type notebookrecord = record
bitmapfilename:AnsiString;
....
end;

et sur le disque :
notebook.data
bitmap24.bmp
bitmap23.bmp
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
22 déc. 2008 à 19:34
>>PS : Les array of TBitmap ne peuvent pas marcher car la taille de >>l'array est indéfinie (inutilisable en structure).
>>D'ailleurs, un record of bitmap ne marche pas non plus car TBitmap >>est indéfini en matière de taille ...
La "bonne solution", est d'enregistrer ton "TBitmap" dans un fichier séparé de celui de ton "record", et d'inscrire le nom du fichier dans un des champs du "record" !
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
22 déc. 2008 à 18:39
J'ai relu mes commentaires et j'ai été un peu chien , c'est sur que c 'est du gros boulot , c'est bien ficelé et en plus c'est beau :)

Je me suis trompé par rapport à l'ajout de nvl textures ? je pige pas tes perf au fait ?

Pr le TreeView c'était bien sur aussi avant de découvrir qu'il y avait possibilité de modifier une texture (l'idée n'en reste pas meilleur pour autant ^^ lol )

Il faudrait que tu gère aussi des petits raccourcis (par ex double clic sur le ListBox et Hop on lance Modifier ... )
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
22 déc. 2008 à 18:28
Mon commentaire n'a rien de méchant ...

"
Bon sinon, si vous voulez des performances :

- Sauvegarde 256 textures : 132 ms
- Chargement 256 textures : 384 ms
"
euh comment t'as fait ca ???

Pour le modifier la texture autant pour moi ^^ Mais c'est pas très lisible

Au fait pour le TreeView , l'idée c'est de pouvoir changer de groupe très facilement une texture en faisaint simplement un glisser deposer dans le noeud correspondant au groupe voulu ...
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
22 déc. 2008 à 18:03
C'est sûr, j'y pensais justement pendant (à l'instant) que je poussais au maximum le code.
Je viens de faire le test.
Je pensais à peu près aux mêmes choses que toi :

Nouveau paquet : eh ben, il veut faire un paquet, il ne le fera pas souvent, bon ça va 4 champs à remplir ... (de toute façon ne rien remplir ne déclenche pas d'erreur)

Nouvelle texture : Nom nom simple du fichier sans l'extension / Auteur auteur du paquet par défaut

Pour la ListBox je la trouvais très bien, et les TreeView c'est vraiment le bordel, mais je vais essayer.

Et puis, tu t'es trompé héhé : Modifier modifie aussi le nom et l'auteur - il suffit de "Cliquer pour modifier" - bon c'est pas super ergonomique mais j'avais plus de place ^^.

Et je vais evidemment penser à une option "Import en masse", ou on définit un format de nom (basé par exemple sur l'index du fichier en cours), un auteur commun, et un groupe commun, et hop on sélectionne tous les fichiers.

Bref, ton commentaire m'a, pardonne moi l'expression, troué les yeux (à défaut de les ouvrir) ^^

Merci encore je vais revoir tout ça.

Cordialement, Bacterius !

Bon sinon, si vous voulez des performances :

- Sauvegarde 256 textures : 132 ms
- Chargement 256 textures : 384 ms
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
22 déc. 2008 à 17:48
Bon j'ai des idées mais ça va pas te plaire !

Tu ne t'en rends certainement plus compte parce que c'est ton soft , mais pour créer un paquet et importer 5 textures ça prends un temps de dingue !

Explication :

1°) Création du paquet : 4 champs à remplir , pas de valeur par défaut (pas encore trop grave ici)

2°) on importe une texture :
encore 3 champs à remplir, toujours pas de valeur par défaut !!!
et si on ecrit rien , BAM erreur !

Genre auteur pourrait être = à auteur du paquet
Nom texture = nom Fichier
Groupe , tu le met dans par exemple 1 ou indéfini (que sais je ! )

Et c'est pas ça encore le plus horrible !
Si tu veux te faire un paquet (imaginons avec 150 textures)
je pense que personne ne va s'amuser à réaliser 150 * cette opération !
Ca prend trop de temps (enfin c'est mon avis )

Il faudrait revoir t'as façon d'importer tes textures.
Déjà je pense qu'il faudrait pouvoir en sélectionner plusieurs à pouvoir importer(Je parle par rapport à ton TOpenDialog et MultiSelect := true (un truc comme ça ^^ ))

Après il y a une incohérence, imaginons tu fais un faute , tu importes une texture(ça fait la 50ième... t'en as marre ) , tu remplis ts les champs et là tu fais une faute , tu te trompes de groupe !(rien de bien méchant ! )
Eh ben t'as plus qu'a la supprimer et à recommencer l'opération parce que le "modifier" ne s'applique pas vraiment à ta texture mais juste au bitmap !
Et ce qui est dommage , c'est que tu le gère par rapport au Paquet !

ET pour finir , tu ne devrais pas utiliser un TListBox mais un Arbre et tu crée autant de nœuds que de groupes de textures existants ds ton paquet (pour voir le contenu de ton paquet évidemment )

Si t'as des questions par rapport a ts ceci , n'hésite pas ^^

Un soft , ce n'est pas seulement du code bien propre et bien gérer , c'est aussi l'ergonomie et la facilité

Ici ton application est très belle mais elle est vraiment trop " lourde "
Fais le test , tu verras !

Nico
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
22 déc. 2008 à 17:35
marqué*

rhalala ...

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
22 déc. 2008 à 17:34
Beuh ? *vérifie vite son application*
Ben il y a un fichier vierge en icône en fait ^^
C'est sûr que c'est pas aussi explicite qu'un bouton avec marché "NEW" dessus, mais qu'aurais-je pu mettre ? Tu as une idée Nicolas ?

Cordialement, Bacterius !
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
22 déc. 2008 à 17:24
Allez j'ai enfin téléchargé ta source , premier truc (juste pour te contrarier ) :
Pourquoi n'as tu pas mis d'icône pour NewBtn ?
Enfin plutôt pourquoi as tu mis une icône blanche ! Pas très explicite

je sais , je sais ... je suis un *** ^^
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
22 déc. 2008 à 17:19
aaaaaaahhhhh !

Euh non rien , c'est juste pour éviter un monologue interminable ^^
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
22 déc. 2008 à 15:56
Un autre bug - ça n'arrête pas ! - pour les images de moins de 128x128 px. En effet, elles étaient de toute façon dimensionnées à 128x128 - donc elles apparaissaient avec un méchant cadre blanc dans l'aperçu de la fiche principale. C'est réparé, maintenant elles apparaissent bien au milieu, proprement ...

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
22 déc. 2008 à 14:52
Voilà, un autre bug ... un petit peu lié au précédent : petit bug de libération de mémoire du filestream interne de TexturePkg lors de la sauvegarde (libéré qu'en cas d'erreur - bref, tentative d'ouverture de fichier déjà ouvert ... enfin bref bon).
Remarque, un truc étrange c'est qu'après la violation d'accès, la toolbar a disparu.
Quelqu'un a-t-il des explications ??

En tout cas ça marche cette fois ...

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 déc. 2008 à 22:53
Voilà, dernier bug réparé - oubli de libération du FileStream pour vérifier la taille du fichier ... donc violation d'accès au 2eme appel.
C'est réparé !

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 déc. 2008 à 21:52
Et voilà, l'installateur est inclus.
Gros boulot aujourd'hui ... :x

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 déc. 2008 à 20:05
Je viens de vérifier, ça passe - je le posterai donc ici.

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 déc. 2008 à 20:04
Attention : grosse mise à jour : introduction d'une propriété Groupe, qui permet de trier les différentes textures selon des groupes : j'ai également refait un paquet de textures de démonstration (je remercie Cirec pour son algorithme de dégradés triangulaire et horizontal/vertical, j'ai fait le paquet avec ça ^^). J'ai arrangé pas mal de trucs, bref tout est stable maintenant : l'application est même prête à réagir face à un paquet corrompu sans rentrer en violation d'accès à chaque fois qu'on cherche à fermer l'application.

Bref, voilà : stable.

J'ai même fait un installateur pour l'application, mais il faut que je renomme les composants ... et puis je ne sais pas si je le posterai avec cette source.

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 déc. 2008 à 16:00
J'ai réessayé de mettre la capture d'écran ... on verra bien !

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
21 déc. 2008 à 14:50
Voilà, une nouvelle version : j'ai inclus IMod dedans, enfin voilà :
// Nouvelle version : ajout de IMod, pour modifier rapidement sa texture dans le logiciel + réorganisation de l'interface + vérification du nom de la texture (pas de doublons de nom !) + ajout des deux boutons a propos et options du paquet, plutôt qu'un seul bouton multifonctions + petite amélioration (ajout du nom de la texture en cours dans le caption de la fiche).
J'espère que vous apprécierez ;)

Cordialement, Bacterius !

PS : La capture d'écran a encore du mal à passer ... je me retrouve avec la toute première lol.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
20 déc. 2008 à 21:38
Ah faut attendre un peu pour la capture d'écran, il y a toujours l'ancienne.
C'est probablement parce que mes captures sont toujours très lourdes (je mets 100% qualité JPG pour donner le meilleur aperçu possible ... mais je pense passer à 90% d'ici maintenant).

N'hésitez pas à me dire si vous préfériez l'ancienne version ;)
(le principal inconvénient avec la grosse TListView était qu'elle mettait un filtre blanc par dessus l'image sélectionnée, c'était très dérangeant ...).

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
19 déc. 2008 à 16:52
Et voilà, le bug a été corrigé.
Ce n'était pas un problème au niveau de l'unité TexturePkg, mais au niveau de l'application démo.
En réalité, après quelques tests infructueux, j'ai voulu remettre mon application comme elle était avant.
Mais j'ai fait une étourderie : j'ai fait ouvrir le paquet localisé par CurrentFile avant de donner la valeur choisie par l'utilisateur à CurrentFile. Bref, on essayait d'ouvrir un fichier vide ;)
Maintenant tout va bien :p

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
18 déc. 2008 à 21:54
Bon ça beug (corruption de fichier à la sauvegarde), je corrige le bug demain soir j'ai plus le temps ce soir.

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
18 déc. 2008 à 21:44
Voilà, bon une petite update (j'ai volé mon ordinateur pour quelques minutes) :
- ajout de la gestion des erreurs dans LoadPackage et SavePackage
- ajout d'un raccourci pour passer en mode debug direct et voir la console
- ajout d'un bitmap dans le ExamplePack

Rien d'important, c'est juste un avant-bouche avant le travail de Noël !

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
18 déc. 2008 à 20:16
J'ai regardé les packed record, et je ne comprends pas très bien :

"la directive Packed ne fait que désaligner les champs".
C'est très bien tout ça, Mais à quoi bon compresser la taille en mémoire d'un bitmap alors qu'on ne connaît même pas sa taille au départ ?
Qu'est-ce qu'on fait si on a un bitmap 64x64 et un bitmap 1024x1024 ?
Ils pèseront pareil d'après ce que j'ai lu :/

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
18 déc. 2008 à 19:17
@Nicolas : Parce que ça me dirigait vers abonnement.php ... mais j'ai dû cliquer sur une publicité. Je vais regarder ça de plus près merci pour ce conseil Nicolas ... *s'enerve sur la souris* ça va probablement m'être utile ...

@Cantador : j'ai regardé le site que tu m'as envoyé, mais j'ai delphi que les weekends (et je l'ai lu pendant le dernier weekend) : donc je vais essayer de l'appliquer demain soir ;) c'est les vacances.
Mais tes packed record sentent bon aussi :p si ça pouvait se limiter à un array of Bitmap alors - de temps de chargement et de sauvegarde, plus de sales fonctions conversion byte array to bitmap, etc ...
:p

Cordialement, Bacterius !
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
17 déc. 2008 à 22:50
<<
Par contre j'ai dû actualiser une bonne centaine de fois pour trouver toutes les icônes qu'il me fallait ... Donc bonne chance - et n'oublie pas : ne fais pas n'importe-quoi avec ces icônes ;)
>>

euh , pourquoi tu ne regarde pas directement dans la section qui t'intéresse ???!
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
17 déc. 2008 à 10:49
Salut Bacterius,

Désolé pour ce retard à l'allumage mais je suis très occupé
en ce moment et je n'ai pas regardé ton code...
mais ca sent très bon..
pour la chiquenaude
"D'ailleurs, un record of bitmap ne marche pas non plus car TBitmap est indéfini en matière de taille ...
N'est-ce pas Cantador ;)"
je te fais une pichnette :
et les PackedRecord ??
@+
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
16 déc. 2008 à 20:24
Excuse Moi pour la note jaurai du mettre 7/10 mais bon
Merci pour les informations sur les icones!!
BY OFFLAKE
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 déc. 2008 à 16:04
Ah en passant tu m'as mis 6 pas 7 ;)
Pas grave.

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 déc. 2008 à 16:03
Ouais en effet ça fait 14/20. Après tout est relatif.
De toute façon je ne tiens jamais compte des notes, elles ne sont là que comme header pour ceux qui veulent - je ne tiens compte que des commentaires.
Ok, mais je te préviens : ne prends pas ces icônes.
Ah oui, j'ai oublié de le préciser :

===================================================================
ATTENTION : LES ICONES UTILISEES NE PEUVENT PAS ETRE UTILISEES ==
A DES FINS COMMERCIALES (je les aies prises en free sur un site ==
que je vais vous communiquer) ==
===================================================================

Je les aies prises sur un site interessant - il propose tout en bas de la page des icônes aléatoires 64x64 à télécharger (à chaque fois que tu actualises ça remplace les icônes par une fournée d'autres). De plus, pas besoin de les retoucher, elles sont sur fond clBtnFace (la couleur des ToolBar quoi).
Bref, voilà :

http://www.iconspedia.com/ (voir en bas, le paragraphe "Random icons")

Merci Offlake ;)
Par contre j'ai dû actualiser une bonne centaine de fois pour trouver toutes les icônes qu'il me fallait ... Donc bonne chance - et n'oublie pas : ne fais pas n'importe-quoi avec ces icônes ;)

Cordialement, Bacterius !
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
16 déc. 2008 à 11:26
Exellent!!
BY OFFLAKE
offlake Messages postés 190 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 17 janvier 2009
16 déc. 2008 à 11:25
Bonjour Bacterius
C'est une bonne application rien à dire
Tu peux me donner où ta eu les icônes, parce que je vais publier un code prochainement et je vais baser sur ton code pour l'IHM "Interface" Ok!!
Jte donne 7/10 je pense que c'est une bonne note non!!
BY OFFLAKE
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 19:59
Ah tu veux dire un filtre de saisie ?
Je mettrai peut-être ça dans l'application de démonstration, par exemple tu tapes "herbe" et toutes les textures qui ont "herbe" dans leur nom sont affichées ... ok ...
Je ferai ça la semaine prochaine, quand j'aurai à nouveau Delphi ;)

Cordialement, Bacterius !

PS : ah oui UnrealEd 2 est le meilleur éditeur 3D que j'aie jamais vu ...
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
14 déc. 2008 à 19:56
>>Je ne comprends pas très bien ... quel est l'intêret de cela à >>part trier et purger des paquets selon leur nom ?
Ce serait chouette d'avoir que à dire je veux une texture d'herbe et il te sors toutes les textures herbes !

>> j'ai eu cette idée (de faire un package de textures) pendant >> que je faisais des maps avec UnrealEd 2
Un must !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 19:20
"Tu as un paquet : texture-herbe, et un autre texture-general...

Si tu dépose une texture dans general, et que le commentaire est herbe, alors tu le copie dans le paquet herbe, si ce TBitmap n'existe pas déjà !"

Je ne comprends pas très bien ... quel est l'intêret de cela à part trier et purger des paquets selon leur nom ?

Cordialement, Bacterius !

PS : j'ai eu cette idée (de faire un package de textures) pendant que je faisais des maps avec UnrealEd 2 et c'était drôlement sympa je trouve.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 19:18
Ah d'accord ... bon ben je t'ai envoyé quelque chose dont tu n'as pas besoin ^^

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
14 déc. 2008 à 19:16
le lien est un algo de comparaison de TBitmap
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
14 déc. 2008 à 19:15
Tu as un paquet : texture-herbe, et un autre texture-general...

Si tu dépose une texture dans general, et que le commentaire est herbe, alors tu le copie dans le paquet herbe, si ce TBitmap n'existe pas déjà !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 19:15
Le lien que tu passes nous renvoie sur un topic de forum, avec une question.
Je t'envoie la réponse que je te propose par MP.

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 19:13
Multipaquets : une bibliothèque de paquets = plusieurs paquets dans un paquet, non ? Ou alors un dossier qui contient des paquets ? mais ça revient globalement au même lol.
Je vais me pencher sur les doublons et sur les multipaquets.
(les multipaquets me branchent plus)

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
14 déc. 2008 à 19:08
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
14 déc. 2008 à 19:07
* multipaquets : pas plusieurs paquets dans un paquets, mais une bibliotheques de paquets !
* doublons : images identiques !!!
* TStream : sont puissants, et te rapprocheraient du C++...

mon package : ya des retouches à fairre, mais je vais voir....
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 19:03
Commentaire sur chaque package : alors là, aucun problème : j'ai renoncé à le mettre pour un souci de légèreté de la démo, mais il suffit d'ajouter dans Texture.pas un champ Commentaire, et arranger tout dans les LoadPackage, SavePackage, ReadTexture, SaveTexture, etc ...
Gestion multipackages ... c'est-à-dire ? Un paquet de plusieurs paquets ? Ca doit se faire ^^
Gestion des doublons - il suffit de faire un IndexOf(Texture: TTexture) à chaque fois qu'on ajoute une texture : si il trouve une texture identique, il annule l'opération.
Faire une classe héritée de TStream me semble une très mauvaise idée ... utiliser les stream OK, mais s'en servir comme ancêtre ... faut voir ^^

Sinon, je ne sais pas si tu peux le poster, mais pourquoi pas ? Si il marche ...

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
14 déc. 2008 à 18:53
Je viens de lancer l'exe !

Chouette !

Tu stockes dans un package et tu peux donc exporter...comme un mini SGBD...

* Commentaires sur chaque texture ?
* Gestion multipackages ?
* Gestion des doublons ?
* et les TStream ? --> TTexturePkg=class(TStream) ?

(si t'entends parler de cette interpolation...fais moi signe....)

Au fait, j'ai un package en teste, je peux le poster ? Il est assez balaise, mais au final il vaut le coup : Une TPaintBox en 3D, avec gestion de ticks en ms sous forme de Thread !

DH
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 18:44
Alors là ... déjà que je n'ai aucune idée de ce qu'est l'interpolation ...
Je suis plutôt branché 2D pour le moment ... (j'ai fait des tests en 3D mais c'est vraiment le bordel ... a tel point que j'ai du mal à reconnaître un sinus d'un cosinus ... j'avais envie de me tuer devant mon unité quand Math.Pi renvoyait 10 ...) ...
Bref, je ne connais que très peu de choses à la 3D pure, et rien du tout sur l'interpolation et l'application de textures 3D :-C désolé ...

Cordialement, Bacterius !

PS : teste au moins ma banque de textures si tu as le temps pour voir ce que tu en penses :)
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
14 déc. 2008 à 18:31
non non, tu ne te trompes pas, tu ne parles ni de 3D ni d'inverse de projection, mais mon patron, à qui je fais la démo de ma bibliothèque 3D, il a tiqué quand il a vu le temps d'affichage et de rotation de mes bitmaps...(je rotatione TOUT le bitmap !!!)...et il m'a dit de me renseigner pour l'accelerer...En fouinant sur google, j'ai trouvé des morceaux de code sur l'utilisation de "l'interpolation" pour l'affichage de textures, alors je me suis dit que tu saurais m'aiguiller !

DH
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 18:19
Ah oui en effet c'est une bibliothèque de textures, que l'on peut utiliser pour gérer des textures de tailles différentes dans un jeu (bien sûr il n'égalera jamais le grand TImageList). Son avantage est sa rapidité, son inconvénient est son occupation de place (444 Ko pour 9 textures :o).

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 18:17
Je ne comprends pas ... ou ai-je parlé de texture en 3D ... d'interpolation ?
Peux-tu me donner plus de précisions BluePerfect ? (il est possible que j'ai oublié un détail).

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
14 déc. 2008 à 18:10
Salut à tous....

Je vois que c'est une biblio de texture... cool !

J'ai une question, mais je voudrais pas vous embêter :

c'est quoi cette histoire d'interpolation pour afficher rapidement une texture en 3D ?
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 déc. 2008 à 17:48
Codé sous Delphi 6 Personal Edition.

Cordialement, Bacterius !
Rejoignez-nous