Raydium 3D Game Engine
http://memak.raydium.org/

petites questions au fil tu temps
http://memak.raydium.org/viewtopic.php?f=8&t=450
Page 1 of 3

Author:  KICK [ Fri Jun 16, 2006 4:21 pm ]
Post subject:  petites questions au fil tu temps

Et oui encore moi, et encore une question:

ca porte sur les controles, pour les touches speciales, on a juste à regarder dans raydium_keys[] pour voir si c'est actif ou pas?

Par contre pour les autres touches comment qu'on fait?

Visiblement c'est avec raydium_key_last, mais le problème c'est que l'on gère qu'une seule touche. Donc dans le cas d'un jeu, ca peut être problématique.

Voila donc la petite question comment savoir si une touche "normale" du clavier est "pressed" ou pas?

Author:  batcox [ Fri Jun 16, 2006 5:52 pm ]
Post subject: 

Il faut jeter un coup d'oeil à l'API à cette adresse :
http://wiki.raydium.org/wiki/RaydiumApiReference

mais voici la partie qui t'interresse, je pense :
Code:
raydium_key_last will always contains the last key (normal or special)
pressed down. You'll find a explanation about normal and special keys above.

raydium_key[] hosts all special keys state. Currently, you must use
GLUT define's (Raydium aliases will come soon), limited to
following keys:

- GLUT_KEY_F1 to GLUT_KEY_F12
- GLUT_KEY_LEFT, GLUT_KEY_RIGHT, GLUT_KEY_UP, GLUT_KEY_DOWN
- GLUT_KEY_PAGE_UP, GLUT_KEY_PAGE_DOWN
- GLUT_KEY_HOME, GLUT_KEY_END, GLUT_KEY_INSERT

These are "special" keys: they have 2 states. released (0),
and pressed (non zero). It means you can do something
(move an object, turn on a light) UNTIL user stops to press the key.
"Normal" keys have a different behavior: you can do something IF user
press a key (exit from application if ESC is pressed, for example).
You'll have no information about key's release.

A normal key is sent through raydium_key_last, a special one through
raydium_key[] AND raydium_key_last.


bon courage

Author:  KICK [ Fri Jun 16, 2006 6:31 pm ]
Post subject: 

j'ai bien lu cette partie avant de poser ma question(le minimum), mais le truc c'est que raydium_key_last n'a la valeur que de la dernière touche et donc si on appuie sur 2 touche en même temps, on a pas les 2 touche dans raydium_key_last.

Author:  Xfennec [ Fri Jun 16, 2006 9:28 pm ]
Post subject: 

C'est toute la nuance entre les touches spéciales et les touches régulières. Pour l'heure (c'était à la base une limitation de GLUT), seules les touches spéciales sont destinées à "rester appuyées". Si ce système venait à devenir une limitation, MyGlut devrait être capable d'évoluer.

Author:  KICK [ Sat Jun 24, 2006 5:28 pm ]
Post subject: 

j'utilise le SDK afin de faire quelques test, et j'ai essayer de mettre en place des classes, donc du c++. Or raydium c'est du C tout court et visiblement le compilateur il aime pas trop. Est-ce que c'est possible d'utiliser du c++ avec raydium ou bien est-on bridé à du C?

J'ai fait un pong dans mon premier test, ca m'a permis de bien prendre en main raydium et c'est vraiment sympa à utiliser. Je m'attèle à un schmup pour l'instant mais j'en suis qu'au premice et donc si on ne peux pas utiliser les classes, ca risque d'être assez compliqué à mettre en oeuvre. Je suppose que c'est possible mais que le SDK est assez restreint. J'avais pas envie de configurer un environnement de travail(je suis sous windows) et donc ce SDK était bien rapide pour se mettre en jambe.

Author:  Xfennec [ Sun Jun 25, 2006 4:45 pm ]
Post subject: 

Le C++ est "toujours" rétro-compatible avec le C (cf le mot clef "extern" si nécessaire). Il faut donc que tu utilises ton propre système de compilation (un .bat ?) avec g++/gpp et non gcc. Enfin comme d'hab en C++ :)

Author:  KICK [ Tue Jun 27, 2006 5:22 pm ]
Post subject: 

juste pour continuer sur la lancer:

Je galère comme un malade sur la compilation en ce moment.
Est-ce qu'il y aurait moyen d'envisager un raydium.dll qui faciliterai grandement le développement sous windows?

J'ai lu dans les archives que il y avait eu du boulot dessus donc je me doute que c'est réalisable, mais j'y connais que dalle en compilation.

Author:  Xfennec [ Tue Jun 27, 2006 9:32 pm ]
Post subject: 

La réalisation d'une DLL est un travail conséquent. Regarde du coté de cette page, peut être : http://wiki.raydium.org/wiki/WinRaydium
En revanche, découper la construction actuelle du "compiler.exe" en deux étapes, c'est à dire Raydium ("une fois pour toutes") puis l'application semble assez simple à réaliser, ce qui risque d'accéler pas mal la compilation. Pourquoi au passage ne pas prévoir une compilation spécifique pour le C++ au passage.

Author:  KICK [ Fri Jun 30, 2006 4:02 pm ]
Post subject: 

bon on laisse tomber pour la dll, mais par contre, j'ai vraiment besoin d'utiliser du c++ et sous windows et ca coince fortement à la compilation.

dès que j'utilise g++, il y a plein d'erreur dans le log de compil, ca fait plusieurs jours que je galère dessus et ca me décourage.

j'utilise le sdk, et ma ligne de commande modifiée correspond à ceci:

g++.exe "E:\POULET\RaydiumSDK\ray\nexemup.cpp" -o "E:\POULET\RaydiumSDK\ray\nexemup.exe" -L"../Dev-Cpp/lib" ../Dev-Cpp/lib/libphp5ts.a -Lode/lib/ -lode -lopengl32 -lgdi32 -lglu32 -lws2_32 -lalut -lopenal32 -lvorbis -lvorbisfile -logg -ljpeg ../dev-cpp/lib/libmingwex.a -I"../Dev-Cpp/include" -I"../work/php-5.1.2" -I"../work/php-5.1.2/main" -I"../work/php-5.1.2/Zend" -I"../work/php-5.1.2/TSRM" -Iode/include -g -O3 -fexpensive-optimizations

avec le extern "C" j'ai plein d'erreur.

Une fois ce problème réglé je pourrais enfin avancé dans mon shoot em up mais pour le moment, je ne continu pas sans classes/c++, c'est beaucoup trop galère pour mettre en oeuvre.

Author:  Xfennec [ Fri Jun 30, 2006 11:12 pm ]
Post subject: 

Entendu. Je commence les premiers tests sur la création d'une DLL avec le SDK.

Author:  KICK [ Sat Jul 01, 2006 9:02 am ]
Post subject: 

j'ai pas mal lu le topic sur la création de la dll/librairie et vous en etiez venu à la conclusion que ce n'était pas possible dans l'état des choses, il y avait trop de variable ?globale?. Je ne sais pas si ca a changé, mais sans pour autant creer une dll, si on se trouvait avec un sdk très très facile à mettre en place et qui permet le c++ sans se prendre la tête, ca serai déjà un bon gros pas en avant.

Je pense surtout que ca pourrait etre un bon moyen de faire tester le moteur par le plus grand nombre et finalement avoir un retour avec de l'aide sur le developpement du moteur lui même(peut être meilleur rendu, utilisation des shaders ou autre joyeuseté).

Personnelement je ne m'y connais pas assez mais si je suis amené a vraiment utiliser raydium très souvent, je pourrais peut être participer financièrement(vous avez peut être des besoins où je ne sais quoi).

Enfin voila dans l'état des choses je suis un peu bloqué par la compilation, j'ai essayer de m'y mettre mais c'est vraiment pas mon truc.

Author:  Xfennec [ Sat Jul 01, 2006 2:55 pm ]
Post subject: 

Il y a bien deux étapes ici : Permettre la création d'une DLL (la version Linux de Raydium disposant déjà de son équivalent [shared object]) et ensuite la modification du SDK pour offir un support C++ au travers de cette DLL.

La première étape avance bien (même si le problème des variables globales reste entier), la seconde va demander des modifs probablement assez lourdes dans le SDK.

Pour la DLL, j'ai un truc qui commence à marcher, mais il s'avère qu'il manque plein de choses à exporter (exemple : les callback ODE).

Author:  KICK [ Tue Jul 18, 2006 10:58 am ]
Post subject: 

pour continuer dans les questions:

est-ce possible de désactiver la boite d'environnement (les BOXfront.tga....)?
j'ai un peu cherché dans la doc, j'ai pas trouvé.

Author:  Xfennec [ Tue Jul 18, 2006 11:46 am ]
Post subject: 

C'est vrai que cette partie n'est pas très souple. Tu souhaites utiliser quoi à la place de la skybox ?

La solution actuelle consiste à activer le brouillard (avec une valeur near éloignée pour ne pas "voir" le brouillard). Il est assez simple d'ajouter une fonction raydium_sky_disable()/enable() sinon (n'hésite pas à le demander, ça ce commit en moins de 10 minutes ce genre de choses).

PS: Tes retours sur le support DLL/C++ m'intéressent, si tu as eu le temps de tester.

Author:  KICK [ Wed Jul 19, 2006 8:22 am ]
Post subject: 

arrgh, j'avais pas vu que tu avais changé le sdk. J'ai fait quelques tests depuis mon reveil et pour l'instant, c'est vraiment niquel. Ca compile vite, ca accepte le c++ et c'est autonome, pile ce qu'il faut pour que raydium soit plus connu du developppement amateur).

Bon aller j'y retourne moi.

Page 1 of 3 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/