| OniDev Library - Game Engine C++ | |
|
+18Mass Mobi Térence Termite DeinDall Oculus Morwenn D-z master47 Craki arthuro robinlife louckas Manju -Coco- Sekigo Le Magnifique Caly onilink_ 22 participants |
|
Auteur | Message |
---|
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Dim 18 Déc 2011 - 22:29 | |
| J'ai fait une petite démo de ce qu'il est possible de faire très facilement avec les shaders. http://www.mediafire.com/?t11w4vo16c9h519Vous pouvez tester et me dire si ça marche bien chez tout le monde ? Déjà grâce a Coco j'ai pu éliminer pas mal de soucis (niveau syntaxe GLSL). Et pour les curieux vous pouvez vous amuser a modifier le script shader.frag :p Edit: Mer de j'ai oublié de mettre les .0 pour les nombres flottants... Sur certaines CG ça met un warning, mais sur d'autre un fatal error >.> J'ai réup... |
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: OniDev Library - Game Engine C++ Lun 19 Déc 2011 - 8:33 | |
| Eh ouais, les .0 manquants, ça pardonne pas. Les shaders c'est quand même surpuissant, on peut faire des effets super cools avec, sans se casser la tête. T'as pas juste un fragment de code source pour savoir comment tu assignes la variable seuil via un uniform ? _________________ Oh, snap.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Lun 19 Déc 2011 - 8:38 | |
| Oh ben c'est tout simple, tu fait uint vardId = glGetUniformLocation(program, "seuil"); avant useProgram et ensuite tu peur modifier la valeur de seuil avec glUniform1f(vardId, mouse_x / 640.0); pour l'exemple. |
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: OniDev Library - Game Engine C++ Ven 23 Déc 2011 - 18:40 | |
| Juste une question, où est ce que les fonctions glUniform1f et glGetUniformLocation sont définies ? Qu'est ce qu'il faut inclure comme fichier ? _________________ Oh, snap.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Ven 23 Déc 2011 - 18:52 | |
| Bah c'est une extension, donc inclure un header ne suffit pas :/
J'enverrais une maj de la lib ce soir, au moins t'auras plus de soucis :p |
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: OniDev Library - Game Engine C++ Ven 23 Déc 2011 - 18:57 | |
| Ok, je l'attends avec impatience :p _________________ Oh, snap.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 12:21 | |
| Désolé du retard : http://www.host-a.net/u/onilink_/onilib_r22.7zY a les surfaces et les uniform qui ont été ajoutés. Sinon la je continue de bosser en interne, avec l'api win32 Je doit dire que je fait des progrès, mais c'est pas encore tout a fait ça >.> |
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 14:09 | |
| Les Uniform marchent super, mais les surfaces buggent au niveau du surfaceCreate(int,int), du moins sur le PC de ma sœur :p Tu les a testées avant de publier la release, ou encore une fois c'est mon ordi qui est en tort ?
(PS : le fullscreen n'est pas défini dans window.h) _________________ Oh, snap.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 14:22 | |
| Normalement les surfaces fonctionnent. En tout cas chez moi j'ai fait un petit programme de dessin qui fonctionne parfaitement. T'as des erreurs en debug mode ?
Sinon pour le fullscreen il est implémenté mais j'ai pas encore donné l'accès. J'ai encore quelques trucs a vérifier en interne avant :p |
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 14:29 | |
| Je suis en Release (toujours).
Je viens de tester en Debug pour voir si le problème vient de là, ça me fait la même. Il me dit "Surfaces.exe a cessé de fonctionner" dès que je fais appel à surfaceCreate. _________________ Oh, snap.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 14:38 | |
| Ok, va falloir que je trouve ou j'ai oublié de faire les vérifications d'erreurs alors.
Sinon tu as bien utilisé la fonction initExtentions() avant l'utilisation de surfaces ? As-tu des erreurs lors de son utilisation ? |
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 14:51 | |
| Ah non, c'est moi qui suis un boulet J'avais oublié le initExtensions() En même temps c'est précisé nulle part qu'il faut l'utiliser, comme je n'ai lu que ce qu'il y avait marqué dans man/surfaces.html (ça marche now) Par contre pour le coup ça rend des trucs bizarres :p J'ai juste mis en gros - Code:
-
uint surf = surfaceCreate(640,480);
drawSurface(surf,0,0);
/* ... */
mainWin.display();
surfaceFree(surf); Et en gros au cours du display (dans une boucle while), ça m'affiche un rectangle blanc qui clignote (apparaît 1 frame sur 2) et qui couvre 1/4 de l'écran (supérieur droit), ce qui je suppose, n'est pas censé se passer. _________________ Oh, snap.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 15:55 | |
| Ah ben ouai la documentation est pas finis du tout >.> Sinon voila le code de mon mini paint : - Code:
-
#include "onidev.h"
int main(int , char **) { MWindow mainWin(VideoMode(640, 480, 16), "Super fenetre de la mort qui tue"); // Set opengl options glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); initExtentions();
// Projection 2D RoomView currentView; currentView.setView(0, 640, 0, 480, 640, 480); // Création de FBO int surf = surfaceCreate(640, 480); drawSetColor(c_lime); while(mainWin.isOpen()) { mainWin.getEvents();
if(keyPressed(vk_escape)) gameEnd(); drawClear(0); // draw static int ox=mouse_x, oy=mouse_y; surfaceSetTarget(surf); if(mouseCheck(mb_left)) drawLine(ox, oy, mouse_x, mouse_y); if(keyPressed(vk_space)) drawClear(0); ox = mouse_x; oy = mouse_y; surfaceResetTarget(); drawSurface(surf, 0, 0); mainWin.display(); } surfaceFree(surf);
mainWin.close(); return 0; }
Si ça fonctionne pas bah c'est surement une histoire de compatibilité hardware :/ (ou de tes drivers qui doivent être mis a jour, qui sais :p) Edit: Et pour la suite, je mettrais toutes les fonctions d'initialisation et de paramétrage d'openGL en même temps que la création de la fenêtre au moins ça feras des trucs en moins a écrire (et des oublis en moins :p) |
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 16:17 | |
| Bon, je suis encore une fois un boulet. J'avais bêtement oublié les initialisations OpenGL (glOrtho et tout ça). Ça m'apprendra à coder trop vite sans faire gaffe. Désolé :p
En tout cas ton mini paint marche nickel.
Et la surface, c'est une texture ? Pour l'afficher, on peut faire ça avec glBindTexture ou non ? Ça peut être intéressant à savoir pour les shaders. _________________ Oh, snap.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Lun 26 Déc 2011 - 16:21 | |
| En fait une surface c'est une texture attachée a un framebuffer object. Donc oui, tu peut récupérer l'id de la texture pour faire des trucs avec. Le truc c'est que j'ai pas encore codé cette fonction x) (petit oubli, ça prend que quelques lignes a vrai dire :p)
De toute façon la version que je t'ai donné c'était un build fait a la va vite. Le prochain devrais être plus complet :p |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Sam 7 Jan 2012 - 21:16 | |
| La gestion du texte est casi terminée. Pour l'instant il est possible de charger des polices bitmap, et d'utiliser a peu près toutes les fonctions GM like :p Reste a faire un décodeur truetype leger. Normalement j'en ai un de coté, faut juste que j'arrive a l'intégrer avec le reste :p La prochaine version ne saurais tarder edit: Ah oui et actuellement, une exe contenant absolument toute la lib pèse 155ko (et 50ko en 7z). |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: OniDev Library - Game Engine C++ Sam 7 Jan 2012 - 21:26 | |
| |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Sam 7 Jan 2012 - 21:41 | |
| Pas trop. J'ai un bug indéterminé et je n'ai pas accès a mon pc avec linux :/ De plus je doit aussi bidouiller les entrées sorties. Mais bon une fois que ce seras fait il devrais plus y avoir de problèmes, étant donné que tout ce que je code est portable :p |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: OniDev Library - Game Engine C++ Sam 7 Jan 2012 - 22:55 | |
| La vache. _________________ Home is not a place, it's a feeling.
|
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: OniDev Library - Game Engine C++ Dim 8 Jan 2012 - 19:39 | |
| Yep ça reste un projet énorme, vivement que tout ça fonctionne sous Linux, j'ai plus qu'à attendre gentillement en m'améliorant à coder en C++ |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Dim 8 Jan 2012 - 20:13 | |
| Thx Pour ce qui est du port sous linux, je vous fait pas de promesses mais normalement après les exams je pourrais m'y mettre sérieusement, et donc ça devrais être plutôt rapide. Je pense libérer les source assez vite aussi, pour ceux qui veulent les voir, mais je ne les donnerais que par mp. Sinon je viens aussi de finir les systèmes de colorations. En tout y a : int makeColorHsl(double hue, double saturation, double luminance); int makeColorRgb(double r, double g, double b); int makeColor(double r, double g, double b); int makeColorWhite(double w); int makeColorCmy(double c, double m, double y); int makeColorCmyk(double c, double m, double y, double k); Je pense pas mettre la coloration hsv, comme dans GM, car au final elle est moins utilisée car moins pratique. Et ça m'obligerais a faire des doublons de colorGetHue, etc. Si vous avez des requêtes aussi n'hésitez pas :p |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: OniDev Library - Game Engine C++ Dim 8 Jan 2012 - 21:01 | |
| int mergeColor(int c1, int c2, double ratio) _________________ Home is not a place, it's a feeling.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Dim 8 Jan 2012 - 21:07 | |
| Awi je l'avais oublié celle la x) Le pire c'est que je l'ai déjà codée >.> |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Ven 13 Jan 2012 - 22:26 | |
| |
|
| |
Morwenn Très bonne participation
Messages : 151 Projet Actuel : Icare
| Sujet: Re: OniDev Library - Game Engine C++ Ven 13 Jan 2012 - 23:49 | |
| - onilink_ a écrit:
Je pense pas mettre la coloration hsv, comme dans GM, car au final elle est moins utilisée car moins pratique. Et ça m'obligerais a faire des doublons de colorGetHue, etc. Je ne crois pas me tromper en disant que le calcul pour le colorGetHue soit le même pour les systèmes HSV et HSL (je l'avais déjà fait une fois). Du coup, tu n'as qu'une fois la fonction, sans avoir à faire de doublon. _________________ Dur Dabla, pour qui voudrait écouter un brin de metal celtique. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Ven 13 Jan 2012 - 23:54 | |
| Pour la hue oui, mais pas la saturation normalement. Au pire si un jour quelqu'un a besoin du système hsv je lui coderais, mais bon a mon avis ce seras pas de si tôt :b |
|
| |
-Coco- Utilisateur confirmé: Rang ***
Messages : 545 Localisation : Grenoble - Montpellier Projet Actuel : Orion VII - 0%
| Sujet: Re: OniDev Library - Game Engine C++ Sam 14 Jan 2012 - 13:29 | |
| Ça marche super bien ! Et le générateur de font ? _________________ Oh, snap.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Sam 14 Jan 2012 - 13:39 | |
| Perso pour générer des font je fait un truc du style sous GM: - Code:
-
w = 32 h = w
draw_set_font(font0) draw_set_color(c_white) for(i=0; i<16; i+=1) for(j=0; j<16; j+=1) draw_text(mouse_x + i*w, mouse_y + j*h, chr(i+16*j))
if(keyboard_check_pressed(vk_space)) screen_save_part("out.bmp", 0, 0, 256*2, 256*2) else { for(i=0; i<16; i+=1) { draw_line(i*w, 0, i*w, 16*w) draw_line(0, i*h, 16*h, i*h) } } Je ferais ptetre un vrai programme plus tard, fin bon c'est pas vraiment le plus important quoi. |
|
| |
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: OniDev Library - Game Engine C++ Lun 20 Fév 2012 - 22:55 | |
| Je l'a prend pour virer cette bouse de SDL. Nan parce que 50 mille dll pour charger une texture et l'afficher avec openGL |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: OniDev Library - Game Engine C++ Lun 20 Fév 2012 - 23:07 | |
| Ahah cool :p J'avoue qu'a la base je l'ai faite a cause de SDL x)
Fin faut pas non plus être trop méchant avec SDL, c'est juste qu'elle est pas adaptée a nos types de projets :p
D'ailleurs faudrait que je pense a ajouter des features ... parce que ça fait un moment que j'y ai pas touché x) |
|
| |
Contenu sponsorisé
| Sujet: Re: OniDev Library - Game Engine C++ | |
| |
|
| |
| OniDev Library - Game Engine C++ | |
|