Posté le 27/05/2020 21:50
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 85 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
Citer : Posté le 13/01/2022 19:19 | #
T'as fait ça comment ???
Citer : Posté le 13/01/2022 19:26 | #
pour le systeme de 3d un systeme de polygones c'est pas trop a calculer pour une calto?
ça dépend du nombre d'élément à afficher ainsi que la distance de la camera à l'objet.
Plus l'objet est loin, plus il est petit et moins il y a de calcule.
T'as fait ça comment ???
Comme Particule est en C++, j'ai adapté certaines certaines partie du moteur avec un patch avec des librairies comme SFML pour l'affichage, puis Visual Studio le compile et c'est tout.
(On peut aussi changer la taille de la fenêtre et qui respecte les dimensions de la calculatrice)
Albert Einstein
Citer : Posté le 13/01/2022 21:40 | #
Je sais pas trop ce que tu veux dire par polygones. Dans ce post c'est des triangles. Oui c'est assez intensif, tu peux d'ailleurs voir la durée des frames varier sur la vidéo selon les cas plus ou moins favorables (0:23 vs 0:50 par exemple).
Ce qui est clair c'est que c'est difficile, mais c'est pas si loin que ça du possible dans les cas simples, donc savoir exactement où est la frontière et qu'est-ce qu'on arrive à faire sous quelles conditions d'overclock est une question subtile, et rien qu'à la formuler j'ai envie de coder des tests moi aussi tant c'est passionnant. x)
Note aussi que "une calto" c'est un peu vague, si tu prends une Graph mono c'est complètement impossible, si tu prends un TI-Nspire CX t'as bien assez de puissance. La gamme est vraiment large
Citer : Posté le 18/01/2022 00:47 | #
j'ai réussi à convertir une couleur RGB en Hex avec
#define rgb(r, g, b) ((r << 11) | (g << 5) | b)
mais j'arrive pas à faire le processus inverse c'est à dire Hex to RBG en récupérant le pixel avec gint_vram[index]
Albert Einstein
Citer : Posté le 18/01/2022 08:01 | #
j'ai réussi à convertir une couleur RGB en Hex avec
#define rgb(r, g, b) ((r << 11) | (g << 5) | b)
mais j'arrive pas à faire le processus inverse c'est à dire Hex to RBG en récupérant le pixel avec gint_vram[index]
C'est un peu plus complexe, il faut passer par des masques pour récupérer chaque composante puis traiter chaque composante individuellement:
uint_16t color = gint_vram[ index ];
uint8_t R = (((color >> 11 ) & 0b11111 ) << 3);
uint8_t G = (((color >> 5) & 0b111111) << 2);
uint8_t B = ((color & 0b11111) << 3);
tu obtiens alors R, G et B entre 0..255 ... enfin pas tout à fait, car :
- R et B seront au max entre 0b00000000 et 0b11111000
- et G sera entre 0b00000000 et 0b11111100
Les derniers 3ou2 bits étant perdu du fait du passage à un moment en RGB565 et à un pseudo retour vers du RGB888.
Citer : Posté le 18/01/2022 08:50 | #
Note que si tu as fait ça :
Alors les valeurs originales de r/g/b ne sont pas sur 8 bits, sinon g et b dépasseraient sur leurs voisins.
Pour récupérer les valeurs sur 5/6 bits, pareil que Slyvtt mais en enlevant les décalages à gauche finaux :
G = (color >> 5) & 0x3f; # G = 0..63
G = (color >> 6) & 0x1f; # ou bien G = 0..31, si ça t'arrange plus
B = color & 0x1f; # B = 0..31
Citer : Posté le 18/01/2022 13:51 | #
Ok merci !
Mais du coup, ma fonction rgb est fausse ?
Albert Einstein
Citer : Posté le 18/01/2022 13:55 | #
Ta fonction RGB est correcte si et seulement si ton R vaut 0..31, ton G vaut 0..63 et ton B vaut 0..31.
Si chacun vaut entre 0 et 31, tu peux utiliser la macro C_RGB(R, G, B) de gint ou reprendre sa définition :
Si chacun vaut entre 0 et 255, alors il faut masquer quelques bits :
Citer : Posté le 18/01/2022 14:00 | #
Ok merci !
Mais du coup, ma fonction rgb est fausse ?
pas forcément,
si tu as chacune des composantes R,G, B qui peut être sur le range 0..255, alors oui tu as un problème "d'écrasement" de bits.
Il te faudrait alors faire
par contre si R varie entre 0 et 31 ainsi que B et si G varie entre 0..63, alors c'est bon.
Je te conseille d'etre par convention en RGB entre 0..255 et de faire le décalage à droite de ma formule, sinon tu vas passer ton temps à te gratter la tete pour savoir entre quoi et quoi ca varie.
Sly
Ajouté le 18/01/2022 à 14:01 :
Nos réponses se sont croisées ;-)
Citer : Posté le 18/01/2022 16:10 | #
Ok parce que en effet je veux que les valeurs soit entre 0 et 255 donc c'est cette fonction qu'il faut :
Mais du coup pour Hexa en RBG avec les valeur qui sont entre 0 et 255 ?
Albert Einstein
Citer : Posté le 18/01/2022 16:16 | #
Pour re-séparer une couleur 16-bit en trois composantes RGB entre 0 et 255, utilise le premier code de Slyvtt.
Citer : Posté le 18/01/2022 23:58 | #
Ok merci beaucoup !
Albert Einstein
Citer : Posté le 30/01/2022 19:24 | # | Fichier joint
Euh...
(Veuillez voir l'image ci-jointe)
Citer : Posté le 30/01/2022 20:08 | #
Je sais, c'est un faux positif.
En fait c'est à cause du compilateur "Py2exe" qui convertit un .py et exécutable windows, il le convertit mal et du coup les antivirus s'affolent mais en réalité il n'y a rien. C'est un problème récurent avec Py2exe, tu peux le vérifier par toi même en cherchant sur internet.
Dans le pire des cas même si tu me crois pas, tu as les fichiers sources. Il te suffit de d'installer Python et tout le tralala.
Albert Einstein
Citer : Posté le 31/01/2022 21:40 | #
Quelles sont tes sources pour faire de la 3d?
Je veux faire du rendu en fil de fer.
9 polygones par frame (ou 15).
20 frames par secondes.
J'ai commencé un gta like plutôt avancé.
Mais pour le rendu de la map je veux me tourner vers de la 3d (comme gta 1).
Citer : Posté le 02/02/2022 15:31 | #
Les sources pour la 3D ne sont pas encore ajouté à Particule, elle va arriver progressivement car ça inclus de rendre compatible la 2D déjà présente avec la futur 3D.
Sinon si tu veux le faire de ton côté sans Particule, je me suis basé des sources de ce projet : lien du projet
Ajouté le 02/02/2022 à 15:36 :
Sinon pour information, je vais faire une petite pose sur les projets (Particule, isocraft, Minecraft story Mode, Mario Bros).
Comme certains projets dépendent de Particule et que je suis en train de faire la migration du nouveau système de script pour Particule, ces projets ne pourront pas avancer avant la migration.
Donc ne soyez pas étonné si vous voyez rien de nouveau avant un certains temps.
Albert Einstein
Citer : Posté le 07/04/2023 00:37 | #
Avec cette outil on peut faire que des jeux couleurs ?
Je suis en train de travailler sur TD'PC : un Tower Defense sur G35+EII (Bien sûr que oui je travaille dessus )
Cursor Location
Proies
Citer : Posté le 07/04/2023 08:41 | #
Je crois, mais d'ailleurs pourquoi fahri n'a pas fait de repo git pour ce projet ?
EDIT :
Ah si, il y en a une https://github.com/leofarhi/Particule-Casio mais elle n'est pas dans le post principal.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 07/04/2023 17:17 | #
Avec cette outil on peut faire que des jeux couleurs ?
En effet mais cela fait un moment que je ne l'ai pas mis à jours donc il se peut qu'il soit un peu instable.
Faudrait que je le refasses en C# au moins comme ça il sera potentiellement moins buggé est plus propre, mais j'ai pas le temps en ce moment malheureusement.
Albert Einstein
Citer : Posté le 17/07/2023 16:25 | #
ça a l'aire extra, dès que je peut, je l'installe !
Citer : Posté le 20/07/2023 00:28 | #
Merci mais honnêtement la version actuelle de ce moteur n'est pas top (en tout cas elle est plutôt buggé et pas finie surtout).
Je comptes le refaire un jour mais avec le système multiplateforme et en incluant aussi mon nouveau moteur 3D mais ça ne sera pour tout de suite, car déjà faut que je finisses tout mes projet en cours
Mais tu peux toujours essayé mais je ne garanti rien
Albert Einstein