Jeux Sonic GL mit à jour, et HDRI sous OpenGL.

Jeux Sonic GL mit à jour, et HDRI sous OpenGL. - C++ - Programmation

Marsh Posté le 10-06-2006 à 19:29:00    

J'aurais voulu savoir si par un heureux hasard quelqu'un aurait deja utilisé l'HDRI sous OpenGL avec acceleration hard ? :] m'etonnerais mais bon !
 
Pour info voila le jeu que je developpe:
 
http://www.bosser-jerome.com/sgl/shot/sonic%20metal%20gl%203D%20screenshot%207_p.jpghttp://www.bosser-jerome.com/sgl/shot/sonic%20metal%20gl%203D%20screenshot%206_p.jpghttp://www.bosser-jerome.com/sgl/shot/sonic%20gl%203D%20screenshot%208_p.jpg
http://www.bosser-jerome.com/sgl/shot/sonic%20gl%203D%20screenshot%202_p.jpghttp://www.bosser-jerome.com/sgl/shot/sonic%20gl%203D%20screenshot%207_p.jpghttp://www.bosser-jerome.com/sgl/shot/sonic%20gl%203D%20screenshot%2013_p.jpg
http://www.bosser-jerome.com/sgl/shot/sonic%20gl%203D%20screenshot%2015_p.jpghttp://www.bosser-jerome.com/sgl/shot/sonic%20gl%203D%20screenshot%203_p.jpg
 
Mon site http://www.bosser-jerome.com .
 
++


Message édité par flipz137 le 10-06-2006 à 19:30:18
Reply

Marsh Posté le 10-06-2006 à 19:29:00   

Reply

Marsh Posté le 10-06-2006 à 19:54:55    

c'est du spam ça nan ? :heink:

Reply

Marsh Posté le 10-06-2006 à 20:36:11    

le resultat est tres beau  :)  mais on ne peut pas en dire autant du code  :ouch:

Reply

Marsh Posté le 10-06-2006 à 21:57:14    

Du spam ? ha ? oops.  
J'ai pas mit la source en DL, je voi pas comment tu pourrais commenter le code.

Reply

Marsh Posté le 10-06-2006 à 22:00:50    

flipz137 a écrit :

Du spam ? ha ? oops.  
J'ai pas mit la source en DL, je voi pas comment tu pourrais commenter le code.


il a du se baser sur cette image de ton site :D
http://www.bosser-jerome.com/sgl/shot/hard_programming_p.jpg


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 10-06-2006 à 22:01:47    

pourquoi tu mets tout le code dans des .h ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 10-06-2006 à 22:38:22    

HA oui, c'est très personnel comme methode lol, je m'organise mieux comme ca, mais c'est sur, ca n'a pas l'air propre.  
PS: Ya t'il des programmeurs en OGL ?

Reply

Marsh Posté le 10-06-2006 à 23:40:11    

oui je me suis basé sur cette image, deja comme harkonnen l'a fait remarqué tout le code est dans des .h, ca te fais pas chier de tout recompiler systematiquement ?
 
sinon c'est du C, enfin ca ne compile qu'avec un compilateur C++ mais c'est du C, tu crois pas que tu devrais apprendre le langage avant de t'en servir ? je peux t'assurer que tu serais infiniment plus productif en utilisant au maximun les possibilité du C++ telle que la POO (d'ailleur RAII ca se marie tres bien avec les bibliotheque qui fonctionnent par etat comme opengl), la bibliotheque standard (et boost) et la programmation generique (plus tu codes de maniere generique, moins tu codes  :sol: )


Message édité par skelter le 10-06-2006 à 23:40:51
Reply

Marsh Posté le 11-06-2006 à 01:16:19    

Ce ne sont pas deux "+" de plus ( sans jeu de mot :) ) qui font un bon code, ne sois pas si sur de toi, il faut avoir sacrément envie de critiquer pour parler comme ca d'un code dont on a vu une image (?!) et sur ce point tu es impressionnant.

Reply

Marsh Posté le 11-06-2006 à 11:49:27    

flipz137 a écrit :

Ce ne sont pas deux "+" de plus ( sans jeu de mot :) ) qui font un bon code, ne sois pas si sur de toi, il faut avoir sacrément envie de critiquer pour parler comme ca d'un code dont on a vu une image (?!) et sur ce point tu es impressionnant.


 
Mais ça va le melon ouais o_O [:pingouino]
 
Faire du C++ sans objet, sans RAII et sans utiliser les bibliothéques stadnards comme boost et STL c'est quand même fort de roquefort. Et je pense que skelter (tout comme Harkonnen) ont largement ml'experience souhaité pour ce permettre de critiquer ce genre d'horreur ... [:pingouino]
 
Alors t'es commentaires acides, bah tu peut les garder pour toi [:pingouino]


Message édité par Joel F le 11-06-2006 à 11:50:06
Reply

Marsh Posté le 11-06-2006 à 11:49:27   

Reply

Marsh Posté le 11-06-2006 à 13:36:31    

Qui t'as dis que je faisais du C++ sans savoir ce que sont les objets ? c'est faux. Je ne suis pas dénué d'experience aussi, et je trouve que critiquer de cette facon c'est tres facile. Et je le redis, c'est totalement RI-DI-CU-LE de critiqué un code de milier de lignes sur une screenshot. En ce qui concerne RAII j'en ai jamais resenti le besoin, j'ai surment tort mais bon, je m'en passe. Et j'en suis sur, mettre autant de code dans les header n'est pas une solution orthodox ca n'a rien a voir avec le code en lui meme.
 
EDIT: Joel F je te mettrais une screenshots du dossier ou j'ai mes sources et tu me diras si le code est bon hein ? :-) ca va encore gueulé :-] et pis j'ai pas dutout le melon hein, loin de la.


Message édité par flipz137 le 11-06-2006 à 13:44:10
Reply

Marsh Posté le 12-06-2006 à 10:13:50    

Flipz, personne ne critique tes capacites de programmation, qui sont a tous egards excellentes. Mais c'est dans ton interet que ces remarques sont faites. Dans le tiens et accessoirement celui de tes futurs collegues en milieu professionnel (bon, tu as encore le temps).
Tu programmes a ta maniere parce que tu as appris tout seul. Des que tu feras lire ton code par qq d'autre, de tels commentaires vont immanquablement tomber, et cela jouera en ta defaveur, alors autant prendre de bonnes habitudes des maintenant. Vu que ton site te sert de CV, autant faire les choses bien jusqu'au bout. Si jamais on te demande un bout de code a examiner, du code "sauvage" fera tres mauvais effet.
 
Lis le code de projets open source existants (au hasard, - 'fin pas tout-a-fait -, le code du jeu TA Spring par ex, voir ma signature, tu risques d'apprendre quelques trucs dedans), et inspires-t'en, tu vas vite voir qu'a part les concepteurs de librairies de templates,  personne ne code comme tu le fais (en mettant le code dans les .h).
Sinon, un bouquin qui me parait indispensable pour toi si tu ne l'as pas deja: "Tout le Code" (alias "Code complete" ).

Message cité 1 fois
Message édité par el muchacho le 12-06-2006 à 10:26:11

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 12-06-2006 à 10:38:44    

Ce n’est pas une question de goût mais une question de bon goût !
 
Je préfère professionnellement travailler avec un mauvais développeur (et qui l'admet) organisé et respectant les rituels de plutôt qu'avec un dieu du stade bordélique !
 
L’optimisation précoce est à la programmation ce que l’éjaculation précoce est au sexe.

Reply

Marsh Posté le 12-06-2006 à 11:06:04    

Bonjour,
Bon les gars vous rivalisez de beauté dans vos création dites donc.  :)
A propos de code dans les .h... Je programme sous linux uniquement (autodidacte). Récemment, microsoft a livré des versions gratos de visual c++, alors j'ai tenté de voir la chose. Savez vous pourquoi au niveau interface ils placent le code dans le .h? je trouve ça pas propre, mais il y a certainement une raison?
 
 

Reply

Marsh Posté le 12-06-2006 à 11:35:13    

el muchacho a écrit :


tu vas vite voir qu'a part les concepteurs de librairies de templates, personne ne code comme tu le fais (en mettant le code dans les .h).


Et encore, d'experience, on tente toujours de limiter ça en expatriant les codes un peu lourds dans des ficheirs h annexes pour garder un .h d'interface correcte.
 

straffo a écrit :

L’optimisation précoce est à la programmation ce que l’éjaculation précoce est au sexe.


Je peut te voler cette superbe maxime pour l'inclure dans un de ems cours  
 :love:

Reply

Marsh Posté le 12-06-2006 à 11:46:57    

Pas de problème de copyright ;)

Reply

Marsh Posté le 12-06-2006 à 14:01:29    

 Tout à fait el muchach o, et j'en suis conscient :(. j'ai souvent voir tjrs developper seul depuis tout piti. Je suis passé du pascal au C++ sans vraiment utiliser ses avantages. Et effectivement j'ai ma facon d'organiser mes programmes .. hum :( .Je n ais malheureusement jamais eu de cours de prog ni eu le temps de me concentrer sur la forme plus que sur le contenu. Je vais m'y mettre.  
 
  Pour TASpring etant un tres vieux fan de TA, j'ai suivi de près son l'evolution et c'est une merveille :). Je jetterais un oeuil sur les sources.

Reply

Marsh Posté le 12-06-2006 à 14:45:56    

Essayes aussi d'etre un peu plus humble, parce que ton post ca fait genre j'en met plein la vu avec mes beaux screens, et des qu'on tappe ou ca fais mal tu t'emportes. Comme beaucoup l'on dit c'etait surtout pour t'avertir, te conseiller, car sans t'en rendre compte tu perds enormement de temps a programmer de cette facons et surtout tu ne te mets pas en valeur finalement de ce coté la sur ton site-cv (je dirais meme que tu te descends si tu as l'intention de te faire embaucher comme développeur). Tu n'a aucune raison de le prendre mal, surtout que le resultat est la (les screens sont vraiment beaux) et que c'est généralement le travail d'une équipe regroupant plusieurs métiers alors que toi tu fais tout tout seul, c'est normal de ne pas etre au top partout. Dans ce cas le meilleur des comportements c'est de rester humble et de reconnaitre ses defaut car ca prouve que tu as malgres tout la capacite d'apprendre (cf post de straffo)

Reply

Marsh Posté le 12-06-2006 à 16:21:53    

J'ai jamais dis ou laisser pensé etre parfait loin de la (relis mes posts !), mais dire qu'un code est une " horreur " a partir d'une image, c'est fort de café, Il en serait tout autre si c'etais de l'open source ! Je suis ravis d'etre critiqué quand c'est sans mauvaise esprit et fondé, c'est ce qui permet d'avancer.
 Moi meme je n'aurais jamais posté ce genre de commentaire, je critique rarement ( ou tres delicatement.. ) un code ammateur quand je connais le boulot qu'il y a derriere, ne pas comprendre que l'on puisse coder sans RAII etc c'est etre etroit d'esprit.
 Et si ce sont les screens shots qui font pretencieux (ha bon ?!) ... ds ce cas je le referais plus :-|.
 
- Pour en revenir au sujet, quelqun aurait-il deja experimenté le paralax mapping (ou offsetmapping) en OpenGL ?
 
- et ya t-il une extention equivalente a l'ATI EMBM pour NVIDIA ?
 
merki.

Reply

Marsh Posté le 12-06-2006 à 17:08:00    

flipz137 a écrit :

ne pas comprendre que l'on puisse coder sans RAII etc c'est etre etroit d'esprit.


 
Tu verra quand pour payer la bouffe de tes mômes tu passera après un troupeau de crétin ayant la même absence de méthode... perso je ne code plus pour m'amuser mais pour payer le loyer ou partir en vacances  
 
Ben oui je suis devenu étroit d'esprit !
 
 
Admire :
 
void FenI_DCAT_02_17::cbClickRna(void* fenetre, void* controle, void* Id)
{
 long * pTemp = (long*) Id;            
 pCast(fenetre)->clickerRna((void*) pTemp[0]);  
}
 
void FenI_DCAT_02_17::clickerRna(void* Id)
{
 CWaitCursor sablier;
// Code mise en commentaire car hors SES
 long num = (long) Id;  
 m_pAppli->restituerNotice(m_pOeRC, num);
// Code mise en commentaire car hors SES
 
}
 
Quand tu es confronté à ça ... ben la prog ça deviens purement alimentaire ...

Reply

Marsh Posté le 12-06-2006 à 17:43:14    

Citation :

J'ai jamais dis ou laisser pensé etre parfait loin de la (relis mes posts !)


 
mais reconnnais tes erreurs alors ! au lieu de dire que tout mettre dans des .h c'est ta facon d'organiser tes sources et que tu ne voit pas l'interet de RAII
 

Citation :

mais dire qu'un code est une " horreur " a partir d'une image, c'est fort de café


 
cette seule image montrait que tu ne connais pas vraiment le C++, qu'est-ce que j'y peux ?
 

Citation :

ne pas comprendre que l'on puisse coder sans RAII etc c'est etre etroit d'esprit


 
ecoutes, si tu refuses d'utiliser l'idiom RAII et le support objet du C++ (je parles meme pas de surcharge et templates) c'est tres probablement que tu n'en n'est pas capable, faute d'avoir été formé (on est tous passer par la). Maintenant soit tu apprends (comme tout le monde) avec un livre ou autre soit tu t'en passe mais en ayant au moins conscience que tu passe a coté de quelque chose.
 
Ton C++ est tres inefficace et on t'a juste prevenu, maintenant si tu es un programmeur raisonnable tu dois chercher à combler tes lacunes.
 

Citation :

Et si ce sont les screens shots qui font pretencieux (ha bon ?!) ... ds ce cas je le referais plus :-|.


 
non, je n'ai pas dis ca, mais ca me fais penser a tout ces gus sur les sites de gamedev qui font des jolies truc mais avec un code deguellasse parce-qu'ils negligent plus que tout le temps passé a l'apprentissage du langage. Ce qui est tres dommage car au final ils perdent du temps.

Reply

Marsh Posté le 12-06-2006 à 23:19:03    


Citation :

L’optimisation précoce est à la programmation ce que l’éjaculation précoce est au sexe.


 
z'êtes à coté de la plaque :o
s/précoce/féroce/g :D

Reply

Marsh Posté le 12-06-2006 à 23:48:02    

Ho skelter prend le temps de respiré, mettre du code dans des .h is not a crime.
 J'ai deja programmé en equipe 2 fois et je me suis plié aux methodes des autres ca m'a demandé un effort certes mais je suis ouvert.
 
 Ce n'est pas un pb de ne pas vouloir utiliser RAII mais j'en ai pas senti le besoin je le redis j'ai surment tort et c'est surment que je connais (tres) mal cet outil. Je vais d'ailleurs me renseigner dès maintenant.
 
 Bien sur que je suis ouvert et que je ne demande qu'a "combler mes lacunes" sache que je suis autodidacte et que je ne code que par plaisir alors ateindre la perfection la rentabilité maximal n'est pas mon but.
 
Bon, c'est pas tout mais  
 
- Pour en revenir au sujet, quelqun aurait-il deja experimenté le paralax mapping (ou offsetmapping) en OpenGL ?  
 - et ya t-il une extention equivalente a l'ATI EMBM pour NVIDIA ?  
 

Reply

Marsh Posté le 13-06-2006 à 07:42:47    

Pour l'instant, je crains que non. Essaye de poser la question à LeGreg, c'est probablement lui le plus à même de te répondre.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 13-06-2006 à 09:48:54    

++fab a écrit :

Citation :

L’optimisation précoce est à la programmation ce que l’éjaculation précoce est au sexe.


 
z'êtes à coté de la plaque :o
s/précoce/féroce/g :D


 
 
Heu ... des spermato féroce c'est des enzymes glouton ?

Reply

Marsh Posté le 14-06-2006 à 07:47:57    

flipz137 a écrit :


- Pour en revenir au sujet, quelqun aurait-il deja experimenté le paralax mapping (ou offsetmapping) en OpenGL ?  
 - et ya t-il une extention equivalente a l'ATI EMBM pour NVIDIA ?


 
- Un truc spécifique à OpenGL ? ou le parallax mapping en particulier ? Quel genre de question ?
Policarpio :
http://fabio.policarpo.nom.br/docs [...] 3D2005.pdf
Gpu Gems :
http://download.nvidia.com/develop [...] 2_ch08.pdf
 
- EMBM, c'est juste une sous partie du shading. Donc ça dépend quel hardware tu vises
quelle plateforme. Sur Nvidia, tu as d'un coté les register combiners (geforce 1-4)
et de l'autre les fragment programs HLSL qui sont meme définis dans la norme la plus récente
d'OpenGL. Un jour où l'autre il faudra donc passer aux "pixel shaders" pour faire tout ce que tu veux
(appelés "fragment programs" sous openGL).
 
LeGreg
qui passait juste là par hasard.


---------------
voxel terrain render engine | animation mentor
Reply

Marsh Posté le 14-06-2006 à 15:25:07    

Heu juste vite fait en passant, et juste par charité, ne perds pas ton temps avec les reg combiners. Ni avec des sous fonctionnalités totalement obsolètes comme l'EMBM (obsolète en temps qu'extension dédiée, le résultat pouvant etre bien entendu reproduit via shaders).
Au pire tu peux effectivement regarder les fragments programs, tout en sachant qu'ils sont officiellement et définitivement figés depuis 2 ou 3 ans si ma mémoire est bonne.  
Les nouveautés n'apparaissent (n'apparaitront) qu'à travers GLSL.
Donc si tu veux te lancer dans ce genre de choses, c'est GLSL et rien d'autre (nous parlons bien sur d'OpenGL, sinon tu as le choix DirectX/HLSL voire Cg, meme si je ne le recommande pas).
A bon entendeur...

Reply

Marsh Posté le 14-06-2006 à 17:34:24    

Merci :] je vais me renseigner sur tout ca. Effectivement mon but serait d'éviter totalement les extentions dédiées. J'avais tenté CG, je vais plutot me tourné vers GLSL.

Reply

Marsh Posté le 02-07-2006 à 18:20:02    

retrox a écrit :

Heu juste vite fait en passant, et juste par charité, ne perds pas ton temps avec les reg combiners. Ni avec des sous fonctionnalités totalement obsolètes comme l'EMBM (obsolète en temps qu'extension dédiée, le résultat pouvant etre bien entendu reproduit via shaders).
Au pire tu peux effectivement regarder les fragments programs, tout en sachant qu'ils sont officiellement et définitivement figés depuis 2 ou 3 ans si ma mémoire est bonne.  
Les nouveautés n'apparaissent (n'apparaitront) qu'à travers GLSL.
Donc si tu veux te lancer dans ce genre de choses, c'est GLSL et rien d'autre (nous parlons bien sur d'OpenGL, sinon tu as le choix DirectX/HLSL voire Cg, meme si je ne le recommande pas).
A bon entendeur...


quest ce que tu reproche a Cg??

Reply

Marsh Posté le 02-07-2006 à 20:40:24    

bah propriétaire ?
 
c'est de la R&D interne a nVidia qui a débuté avant le GLSL & HLSL ?  
 
ce qui est tout à l'honneur de nVidia, mais je veux dire une fois que des standards sont tombés autant faire du GLSL ou du HLSL suivant qu'on soit OGL ou D3D.

Reply

Marsh Posté le 02-07-2006 à 23:04:02    

bjone a écrit :

bah propriétaire ?


 
HLSL et GLSL sont tout autant propriétaires,
mais bon tout dépend à quelle sauce tu veux être mangé à celle de Nvidia, celle de Microsoft ou celle de l'ARB (qui comprend entre autre, ATI, Nvidia et feu 3DLabs).
 
Sur certaines plateformes tu n'as pas trop le choix (PS3, opengl ES 2 + Cg), en plus la conversion de Cg vers HLSL n'est
pas trop difficile.  


---------------
voxel terrain render engine | animation mentor
Reply

Marsh Posté le 02-07-2006 à 23:21:01    

LeGreg a écrit :

HLSL et GLSL sont tout autant propriétaires,
mais bon tout dépend à quelle sauce tu veux être mangé à celle de Nvidia, celle de Microsoft ou celle de l'ARB (qui comprend entre autre, ATI, Nvidia et feu 3DLabs).


J'veux pas être méchant, mais je vois pas en quoi l'OpenGL Architecture Review Board, un consortium indépendant formé en 92 pour gérer la spec OpenGL, crée des trucs "propriétaires" [:pingouino]
 
Surtout quand les membres en sont 3Dlabs, Apple Computer, ATI, Dell, IBM, Intel, Nvidia, SGI and Sun Microsystems, on appelle ça un "standard body" créant et faisant évoluer des standards (ici le standard OpenGL) d'après les voeux des différents acteurs d'un marché, et non d'après les désirs personnels d'un acteur unique d'un marché (ce qui, entre autres, caractérise une solution propriétaire).
 
Cg et HLSL sont des langages propriétaires, GLSL est un langage standard ouvert et fait partie du standard OpenGL.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 03-07-2006 à 02:12:52    

LeGreg a écrit :

HLSL et GLSL sont tout autant propriétaires,
mais bon tout dépend à quelle sauce tu veux être mangé à celle de Nvidia, celle de Microsoft ou celle de l'ARB (qui comprend entre autre, ATI, Nvidia et feu 3DLabs).
 
Sur certaines plateformes tu n'as pas trop le choix (PS3, opengl ES 2 + Cg), en plus la conversion de Cg vers HLSL n'est
pas trop difficile.


 
pour moi le HLSL et le GLSL sont des standards issus d'un groupe de travail quand même.
 

Reply

Marsh Posté le 03-07-2006 à 02:15:50    

masklinn a écrit :

J'veux pas être méchant, mais je vois pas en quoi l'OpenGL Architecture Review Board, un consortium indépendant formé en 92 pour gérer la spec OpenGL, crée des trucs "propriétaires" [:pingouino]
 
Surtout quand les membres en sont 3Dlabs, Apple Computer, ATI, Dell, IBM, Intel, Nvidia, SGI and Sun Microsystems, on appelle ça un "standard body" créant et faisant évoluer des standards (ici le standard OpenGL) d'après les voeux des différents acteurs d'un marché, et non d'après les désirs personnels d'un acteur unique d'un marché (ce qui, entre autres, caractérise une solution propriétaire).
 
Cg et HLSL sont des langages propriétaires, GLSL est un langage standard ouvert et fait partie du standard OpenGL.


 
HLSL et GLSL sont issus d'un groupe de travail.
Cg est issu de la R&D d'nVidia, a été initié avant les deux autres. (C'est un peu l'Ethernet avant que l'on appelle ça l'Ethernet :D)
Quand a affirmer que le GLSL est ouvert... bon bref ne débordons pas.

Reply

Marsh Posté le 03-07-2006 à 09:28:59    

bjone a écrit :

HLSL et GLSL sont issus d'un groupe de travail.


Sauf que HLSL est issu de MS et que seul MS peut décider de son évolution, alors que GLSL est issu de la concertation des membres de OGL ARB

bjone a écrit :

Quand a affirmer que le GLSL est ouvert... bon bref ne débordons pas.


Ca n'a aucun rapport avec le fait que ce soit propriétaire ou non [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 03-07-2006 à 11:28:17    

le D3D et donc le HLSL sont issu de MS et des fabricants impliqués dans le D3D.  
le D3D n'a jamais été architecturé sans l'approbation des fabricants et sans jamais le retour des devs.
la seule différence c'est que c'est MS qui a le dernier mot, alors qu'en OpenGl, c'est un groupe de discussion qui discute surtout :D (comment ça un trol déguisé ?)
 
Cg est issu du groupe de travail des ingés de nVidia
 
D3D est issu du groupe de travail des ingés de MS, nVidia, Ati ou tout fabricant toujours actif qui propose des archis interressantes régulièrement et pas miteuse tous les 5 ans (genre mat...) avec authorité finale de MS
 
OpenGl est issu du groupe de travail de fabricants (actifs ou non en R&D) où les specs sont définies en commun.
 
Il est vrai que le D3D est plus fermé que l'OpenGl, mais il n'est pas du tout aussi propriétaire dans l'approche intellectuellle que des standards maison style Glide ou autre...


Message édité par bjone le 03-07-2006 à 11:29:09
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed