![]() |
Administrateurs :oggy, Cédric | |
| Forum DCreload : Tout (ou presque:) sur la seconde vie de la dreamcast |
Non connecté | Se connecter
|
|
| en ligne : 2 inconnus visitent le forum | ||
Inscription |
Profil |
Messages Privés |
Recherche |
Online | Aide
| Créer un blog gratuit | ||
![]() | ||
|
| ![]() | ![]() |
| Auteur : | Sujet: Programmation Dreamcast C++ | Bas |
| erwan2 Messages postés : 42 saucisses |
Il me semble que le C++ est assez mal supporté par Kos ... . Il utilise un utilitaire "kos-c++" pour le CPP. Voila ce que l'on peut trouver dans le répertoire CPP des examples
| ||||
|
| Bouz Messages postés : 650 choucroutes + bière ![]() |
Il semblerait que le C++ marche plutot bien avec KOS, vu que c'est avec ça que je développe :-) |
| olivier Messages postés : 63 saucisses ![]() |
ok, comment fait on pour utiliser la fonction png_to_texture en c++ car le compilo c++ me renvoie une erreur: kos-c++ -o pong.elf pong.o romdisk.o -ldcplib -lm -lgl -lk++ -lpng /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(readpng.o)(.text+0x44): In function `readpng_version_info': /home/olivier/Desktop/dc/kos-ports/libpng/readpng.c:28: référence indéfinie vers « _zlibVersion » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngread.o)(.text+0x230): In function `png_create_read_struct_2': /home/olivier/Desktop/dc/kos-ports/libpng/pngread.c:96: référence indéfinie vers « _inflateInit_ » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngread.o)(.text+0x3bc): In function `png_read_init_3': /home/olivier/Desktop/dc/kos-ports/libpng/pngread.c:261: référence indéfinie vers « _inflateInit_ » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngread.o)(.text+0xe60): In function `png_read_row': /home/olivier/Desktop/dc/kos-ports/libpng/pngread.c:568: référence indéfinie vers « _inflate » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngread.o)(.text+0x1970): In function `png_read_destroy': /home/olivier/Desktop/dc/kos-ports/libpng/pngread.c:1160: référence indéfinie vers « _inflateEnd » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0xa80): In function `png_set_gamma': /home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:522: référence indéfinie vers « _fabs » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0xe54): In function `png_build_gamma_table': /home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:4073: référence indéfinie vers « _pow » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0x1058):/home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:4032: référence indéfinie vers « _pow » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0x1234):/home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:3877: référence indéfinie vers « _pow » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0x1420):/home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:3913: référence indéfinie vers « _pow » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0x1890): In function `png_init_read_transformations': /home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:721: référence indéfinie vers « _pow » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0x1984):/home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:897: encore plus de références indéfinies suivent vers « _pow » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0x1b88): In function `png_init_read_transformations': /home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:846: référence indéfinie vers « _fabs » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0x1b90):/home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:846: référence indéfinie vers « _pow » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrtran.o)(.text+0x1d50):/home/olivier/Desktop/dc/kos-ports/libpng/pngrtran.c:807: référence indéfinie vers « _pow » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrutil.o)(.text+0x50c): In function `png_decompress_chunk': /home/olivier/Desktop/dc/kos-ports/libpng/pngrutil.c:278: référence indéfinie vers « _inflate » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrutil.o)(.text+0x51c):/home/olivier/Desktop/dc/kos-ports/libpng/pngrutil.c:278: référence indéfinie vers « _inflateReset » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrutil.o)(.text+0x3610): In function `png_read_finish_row': /home/olivier/Desktop/dc/kos-ports/libpng/pngrutil.c:2813: référence indéfinie vers « _inflate » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(pngrutil.o)(.text+0x3620):/home/olivier/Desktop/dc/kos-ports/libpng/pngrutil.c:2813: référence indéfinie vers « _inflateReset » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(png.o)(.text+0x1dc): In function `png_reset_crc': /home/olivier/Desktop/dc/kos-ports/libpng/png.c:173: référence indéfinie vers « _crc32 » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(png.o)(.text+0x238): In function `png_calculate_crc': /home/olivier/Desktop/dc/kos-ports/libpng/png.c:199: référence indéfinie vers « _crc32 » /home/rage/Desktop/dc/kos/addons/lib/dreamcast/libpng.a(png.o)(.text+0xbb0): In function `png_reset_zstream': /home/olivier/Desktop/dc/kos-ports/libpng/png.c:710: référence indéfinie vers « _inflateReset » collect2: ld returned 1 exit status make: *** [pong.elf] Erreur 1 merci | |||
| WHEN DISASTERS STRIKE !!! |
| Bouz Messages postés : 650 choucroutes + bière ![]() |
Il doit te manquer un lien. Je compile avec ça: $(TARGET): $(OBJS) $(KOS_CCPLUS) $(KOS_CFLAGS) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) $(OBJS) $(OBJEXTRA) -lk++ -lkglx -lm -lpcx -lkosutils $(KOS_LIBS) |
| olivier Messages postés : 63 saucisses ![]() |
![]() Peux tu me donner tout ton makefile ? Merci | |||
| WHEN DISASTERS STRIKE !!! |
| olivier Messages postés : 63 saucisses ![]() |
Salut, g trouvé d'où venait le problème !!! Voici mon Makefile: TARGET = test.elf OBJS = test.o all: rm-elf $(TARGET) include $(KOS_BASE)/Makefile.rules clean: -rm -f $(TARGET) $(OBJS) romdisk.* rm-elf: -rm -f $(TARGET) romdisk.* $(TARGET): $(OBJS) romdisk.o $(KOS_CCPLUS) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) \ $(OBJS) romdisk.o $(OBJEXTRA) -L$(KOS_BASE)/lib -lk++ -lpng -lm -lgl -lz $(KOS_LIBS) romdisk.img: $(KOS_GENROMFS) -f romdisk.img -d romdisk -v romdisk.o: romdisk.img $(KOS_BASE)/utils/bin2o/bin2o romdisk.img romdisk romdisk.o run: $(TARGET) $(KOS_LOADER) $(TARGET) dist: rm -f $(OBJS) romdisk.o romdisk.img $(KOS_STRIP) $(TARGET) | |||
| WHEN DISASTERS STRIKE !!! |
| erwan2 Messages postés : 42 saucisses |
Sinon pour png_to_texture, il faut faire un carré avec 4 vertex et y appliquer une texture . C'est ca ? | |||
|
| Bouz Messages postés : 650 choucroutes + bière ![]() |
A priori, ça paraitrait logique :-) png_to_texture, ça te te charge pas simplement une image png en tant que texture? Je travaille à partir de pcx avec la séquence: - pcx_to_img - pvr_mem_malloc - pvr_txr_load_kimg - kos_img_free Et puis, pour l'utiliser avec KGL: - glGenTextures - glBindTexture(GL_TEXTURE_2D, resId) - glKosTex2D Et enfin tu mappes ta texture sur tes 4 vertex! Mais ton truc est probablement plus simple :-) |
| erwan2 Messages postés : 42 saucisses |
Vu que les fonctions PVR (anciennement TA) ne sont pas listés, ca reste assez chiant a comprendre vu que je suis pas programmeur . Sans compté que je voie toujours pas comment ils font pour définir les vecteurs U et V . --Message edité par erwan2 le 2008-08-16 10:00:43-- | ||||
|
| Bouz Messages postés : 650 choucroutes + bière ![]() |
J'ai écrit une couche au-dessus de KGLX. Les performances ne sont pas très rapides, mais au moins, la documentation est là (c'est de l'OpenGL light, et les exemples de NeHe dans KOS sont très simples et très complets). Ca vaut peut-etre le coup de regarder du côté des fonctions du PVR, mais ça me fait un peu flipper. N'ayant pas de connaissances poussées dans ce domaine, ça me semble compliqué à aborder. Quel est ton problème avec les vecteurs U et V? |
| erwan2 Messages postés : 42 saucisses |
0.0 et 1.0 ca correspond a quoi ? C'est un cosinus ou un truc dans le style ? | ||||
|
| Bouz Messages postés : 650 choucroutes + bière ![]() |
x,y,z, c'est un point de ton vertex, donc les coordonnées du point dans l'espace. u,v c'est les coordonnées du point correspondant sur la texture (carré qui va de (0,0) à (1,1)). Donc dans le code que tu donnes, tu fais un strip de 4 points en donnant les coordonnées des 4 coins de ta texture. Par exemple, si tu mets 0,5 à la place de 1, tu vas afficher que le quart supérieur de ta texture. |
| erwan2 Messages postés : 42 saucisses |
merci ![]() | |||
|
| Bouz Messages postés : 650 choucroutes + bière ![]() |
Ca y est, tu peux faire tout ce que tu veux en 3D texturée sur ta DC :-) |
| erwan2 Messages postés : 42 saucisses |
J'ai trouvé ce document sur internet, il est pas mal . http://www.dc-france.com/miroir/mise-en-place-et-etude-du-developpement-dreamcast.htm | |||
|
| Bouz Messages postés : 650 choucroutes + bière ![]() |
Tu n'avais pas un tuto pour la compilation de la tool-chain? J'avais téléchargé le nécessaire sur DC-France, à l'époque...? |
| erwan2 Messages postés : 42 saucisses |
Si, mais j'ai trouver celui ci en cherchant un fonction du PVR sur le web . Alors je l'ai "sauvegardé" pour éviter qu'ils disparaissent | |||
|
|
| ![]() | ![]() |
Ce forum pour votre site ?
AceBoard Forum Gratuit v 5.3
Download Premium Web Templates! - blog gratuit