Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » cBC1 - Textures décompressées on-the-fly pour G90
Fcalva Hors ligne Membre Points: 645 Défis: 10 Message

cBC1 - Textures décompressées on-the-fly pour G90

Posté le 13/06/2026 15:30

Suite à une discussion avec Pho3 sur la compression d'images, je me suis lancé dans un port du format BC1/DXT1 (plus de détails ici), qui est utilisé dans nos cartes graphiques. Le format a un gros avantage sur les PNG/JPEG plus classiques, c'est qu'il est fait pour être dessiné directement, et en qualité d'image se situe autour voire au-dessus du P8 en utilisant la moitié de la place.
J'ai donc implémenté un décompresseur rapide nommé cBC1, disponible ici https://git.planet-casio.com/Fcalva/cBC1
Pour le moment, la vitesse de dessin en VRAM est environ celle du P8 (~20ms pour un écran complet)
Je compte intégrer un compresseur dans le projet, combiné avec un script fxconv, de façon a avoir une utilisation similaire au fxconv classique


Lephenixnoir En ligne Administrateur Points: 25828 Défis: 174 Message

Citer : Posté le 13/06/2026 23:10 | #


Trop cool, donc en fait c'est 4 bits par pixel pareil que P4, mais bien meilleur en fidélité. La compression de P4 viable pour "tous" les assets ce serait génial :o

Je sais pas si les perfs seront suffisantes pour faire de la 3D, c'est pas impossible mais faudrait réfléchir au fait que les samplers en 3D ils énumèrent pas les blocs entiers.
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Slyvtt Hors ligne Maître du Puzzle Points: 2895 Défis: 17 Message

Citer : Posté le 14/06/2026 22:26 | #


Ca c'est un truc cool comme j'aime, un truc qui fait avancer le schmilblick

Dans les trucs peut etre intéressants à implémenter au long terme, il y aurait je pense un format P1 ou P2 sur la G90. Typiquement mon N++ utilise seulement 1 couleur (avec du Dye), mais je stocke tout en P4, une perte de place monstrueuse. Sachant que c'est utilisé plus ou moins par les fontes et sur 9860G, il faudrait "juste" autoriser sur la G90 dans les formats. (et avoir le pendant dans les fonctions de rendering gint et azur).
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Fcalva Hors ligne Membre Points: 645 Défis: 10 Message

Citer : Posté le 14/06/2026 22:58 | #


Merci
Si je voulais faire ça c'était pour essayer d'accélérer la 3D (j'en ai parlé que sur la shout par contre), mais pour le moment la complexité du décodage limite la perf en xyram (je suis à ~2x le P8). Enfin, ça reste très utile pour le dessin en VRAM.
Et le 1bpp (si tu veux bien dire 1 couleur et alpha) est déja implémenté dans gint pour les polices ! Je dois dire que j'ai eu un doute sur les polices en P4A, connaissant Lephe
Je te recommande d'appeler topti_glyph_* directement plutôt que de passer par l'interface de polices (c.f. https://git.planet-casio.com/Lephenixnoir/gint/src/branch/master/src/render-cg/topti-asm.S)
Après ça doit être possible de refaire le code avec des suppositions différentes sur les données d'entrée, si le besoin se ressent.
Apréciateur de Noctua moyen
Caltos : G35+EII, G90+E (briquée )

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
captcha
Rafraîchissez la page si vous souhaitez obtenir un nouveau CAPTCHA.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2026 | Il y a 71 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd