π
<-
Chat plein-écran
[^]

nGc

C, C++, ASM...

Re: nGc

Message non lude pierrotdu18 » 18 Avr 2014, 22:36

Bon, c'est bon si je la mets juste en globale, donc je vais faire comme ça ;)
Par contre je remarque que ça ne gère pas la transparence, c'est normal?...
J'ai une image que j'utilise en Lua et qui contient des parties transparentes (qui sont bien affichées en Lua), mais ça m'affiche du vert à la place en C, la couleur que j'avais choisi pour la transparence...

Pourtant je vois qu'il y a des trucs en rapport au canal alpha dans ton programme Java, qu'est ce qu'il ne va pas? :)
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude Levak » 18 Avr 2014, 22:44

pierrotdu18 a écrit:Merci, je comprends enfin pourquoi ça faisait crasher ;)

Par contre, j'ai créé un fichier annexe, et ça me met ça : main.o:(.data+0x4b14): multiple definition of `IMAGE'

IMAGE est une variable contenant du code TI.image et qui est définie dans mon fichier annexe (qui ne contient que cette ligne là, c'est grave?...)

Vérifie que tu n'includes pas plusieurs fois le fichier. Il existe une manière beaucoup plus propre et plus robuste pour faire ça, mais tu risques de me regarder de travers.

La "multiple definition" indique normalement les deux endroits. Peut être as-tu un makefile générique qui compile tous les fichiers .c du dossier de sources, dans ce cas il faut faire autrement :

image.c :
Code: Tout sélectionner
char image[] = { ... };


image.h
Code: Tout sélectionner
#ifndef IMAGE_H_
# define IMAGE_H_

char *image;

#endif /* ! IMAGE_H_ */


main.c
Code: Tout sélectionner
...
#include "image.h"
...


foobar.c
Code: Tout sélectionner
...
#include "image.h"
...


J'ai une image que j'utilise en Lua et qui contient des parties transparentes (qui sont bien affichées en Lua), mais ça m'affiche du vert à la place en C, la couleur que j'avais choisi pour la transparence...

Pourtant je vois qu'il y a des trucs en rapport au canal alpha dans ton programme Java, qu'est ce qu'il ne va pas? :)

Tu lui passe bien un png ? D'ailleurs, de mémoire, gui_gc_drawImage supporte 255 niveaux alpha contrairement à celui en Lua, comme tu peux le voir sur certains icones système.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: nGc

Message non lude pierrotdu18 » 18 Avr 2014, 22:50

foobar c'est une fonction troll? :p
Sinon je connais le principe du ifndef tqt, par contre pourquoi il faut faire char *image ?

Et c'est quoi le truc plus robuste et propre? :D


Enfin, oui, je lui donne bien un png pourtant...
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude Levak » 18 Avr 2014, 22:56

pierrotdu18 a écrit:par contre pourquoi il faut faire char *image ?

Pour te forcer à ne pas faire sizeof(image), car tu serais tenté de le faire si c'était char image[], or dans les deux cas il te renverra 4, la taille d'un pointeur.

Et c'est quoi le truc plus robuste et propre? :D

Le système de garde, donc les ifndef.

Enfin, oui, je lui donne bien un png pourtant...

Qui a un canal alpha ?
Je ne fais rien de plus qu'un appel à des fonctions Java donc le problème doit venir d'ailleurs.
Déjà, est-ce que tu vois autre chose que des 0xFF à partir de la moitié ? Si oui, alors c'est problématique ...
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: nGc

Message non lude pierrotdu18 » 18 Avr 2014, 23:02

Levak a écrit:
pierrotdu18 a écrit:par contre pourquoi il faut faire char *image ?

Pour te forcer à ne pas faire sizeof(image), car tu serais tenté de le faire si c'était char image[], or dans les deux cas il te renverra 4, la taille d'un pointeur.

Heu... Mais pourquoi il faut le mettre en fait, ça sert à quoi?
Levak a écrit:
pierrotdu18 a écrit:Et c'est quoi le truc plus robuste et propre? :D

Le système de garde, donc les ifndef.

Ah, bon bah je connaissais déjà ^^

Levak a écrit:
pierrotdu18 a écrit:Enfin, oui, je lui donne bien un png pourtant...

Qui a un canal alpha ?
Je ne fais rien de plus qu'un appel à des fonctions Java donc le problème doit venir d'ailleurs.
Déjà, est-ce que tu vois autre chose que des 0xFF à partir de la moitié ? Si oui, alors c'est problématique ...

Oui oui, il n'y a pas que des 0xFF, il y a aussi des 0x00 ...
J'en conclue que c'est un problème de la lib ngc?
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude pierrotdu18 » 19 Avr 2014, 00:21

Sinon, le reste marche bien, donc il ne reste plus que la transparence! :D

Pour vous remercier je vous ai fait ça :p (ce n'est pas un :troll:, vous pouvez quitter à tout moment ^^)

Veille.tns
(13.78 Kio) Téléchargé 17 fois
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude Lepzulnag » 19 Avr 2014, 01:03

Vu le sujet traité, je m'attendais à ce que ta "grande œuvre d'art" contienne au moins une image :p
Avatar de l’utilisateur
Lepzulnag
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 78.5%
 
Messages: 151
Inscription: 02 Aoû 2012, 21:15
Localisation: Bretagne
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: M2 Maths

Re: nGc

Message non lude pierrotdu18 » 19 Avr 2014, 09:48

Bah elle en contient une ^^
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude pierrotdu18 » 19 Avr 2014, 18:33

Bon, je pense que ça ne sert à rien de faire durer ce sujet deux ans, je vais donc faire un récapitulatif de ce qu'il reste comme problèmes et des questions qu'il me reste à poser ;)

Premièrement, il y a le problème de la couche alpha... Le code que me génère l'outil de Levak a l'air parfait, il y a bien des 0xFF mais aussi des 0x00 pour la couche alpha. Sauf que, quand je lis l'image avec l'ému à partir de mon programme, il n'y a aucune transparence. Est-ce un problème de la librairie ngc, et dans ce cas, à qui faudrait-il demander de corriger le problème?

Enfin, voilà les questions qui me viennent à l'esprit:
D'après ce que j'ai vu dans la documentation de la lib ngc, il n'existe pas de fonction de rotation et de redimensionnement pour les images... Pour ce qui est du redimensionnement, ce n'est pas un réel problème car je peux toujours faire les modifications avant, mais pour ce qui est de la rotation, serait-il envisageable d'implémenter cette fonction?... Car sinon, il faudrait créer au moins une dizaine d'images pour une seule, qui chacune correspondrait à une certaine rotation, mais ça alourdirait beaucoup le fichier final, et ça serait moins intuitif à programmer...
Enfin, rien à voir avec les images, j'aimerais pouvoir avoir un curseur comme pour les autres programmes, et pouvoir le déplacer avec le trackpad. Y a-t-il une fonction qui renvoie l'emplacement (x,y) du curseur? Je vois qu'avec nDoom, on peut déplacer la caméra à droite par exemple en fleurant uniquement la partie droite du trackpad, ça pourrait grandement m’intéresser, comment peut-on gérer ça? :)

Désolé de poser autant de questions, je débute, et je dois avouer que je ne m'y retrouve pas très bien avec Hackspire ;)
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: nGc

Message non lude Levak » 19 Avr 2014, 19:49

pierrotdu18 a écrit:Est-ce un problème de la librairie ngc

ngc n'est qu'une série de syscalls vers les fonctions internes de l'OS déjà codées, ce n'est pas une bibliothèque mais une API.

et dans ce cas, à qui faudrait-il demander de corriger le problème?

A moi ...

D'après ce que j'ai vu dans la documentation de la lib ngc, il n'existe pas de fonction de rotation et de redimensionnement pour les images...


Pour le redimensionnement, j'ai une solution "crade", c'est avec un gc_copy, gc_drawImage, gc_copy(w, h), gc_blit_gc.

Pour la rotation, cette fonction n'existe pas dans l'API de l'OS 3.1 et a été rajoutée en dehors de la vtable à partir de la 3.2. Pour résumer, même si on l'ajoute, ça ne sera plus compatible 3.1, ce qui casse la rétro-compatibilité.

Enfin, rien à voir avec les images, j'aimerais pouvoir avoir un curseur comme pour les autres programmes, et pouvoir le déplacer avec le trackpad.

Tu ne disposes pas de cette information avec Ndless.

Y a-t-il une fonction qui renvoie l'emplacement (x,y) du curseur? Je vois qu'avec nDoom, on peut déplacer la caméra à droite par exemple en fleurant uniquement la partie droite du trackpad, ça pourrait grandement m’intéresser, comment peut-on gérer ça? :)

Oui, mais son utilisation n'est pas aussi simple que cela puisse paraître. Je t'invite à lire le code de nDoom ou encore mViewer pour comprendre comment l'utiliser.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

PrécédenteSuivante

Retourner vers Native: Ndless, Linux, ...

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 11 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1304 utilisateurs:
>1293 invités
>6 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)