Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - math77

Pages: [1] 2 Suivante »
1
Graphique / Re : 2D isométrique, VertexArray
« le: Août 26, 2013, 03:06:21 pm »
Bonjour,

Je vais finalement essayer les différents méthodes et comparer en termes de performances.

Avez-vous un moyen (a part le gestionnaire des taches) d'enregistrer la consommation moyenne de l'UC ? :)

2
Graphique / Re : 2D isométrique, VertexArray
« le: Août 24, 2013, 09:01:32 pm »
Merci :)

Quelle solution te parait la meilleur du coup ? :)

3
Graphique / Re : 2D isométrique, VertexArray
« le: Août 24, 2013, 07:26:24 pm »
Voici quelques images tirées de projets existant pour montrer à quoi pourra ressembler mes maps :













Ce ne sont que des exemples, mais il y aura 3 couches :

- sol
- décorations sur le sol (herbe, etc.)
- objets (maisons, arbres, etc.)

4
Graphique / Re : 2D isométrique, VertexArray
« le: Août 24, 2013, 02:07:23 am »
Parce que sinon ya aussi la méthode du je crée le tileset dans une rendertexture et je fais un vertexArray pour afficher la map :)

Seulement rapport difficulté gain en performance je ne sais pas laquelle vaut mieux :/

Tkt si je faisais mes rendertextures ça serait pour le sol (et mon sol n'est pqs animé^^)

5
Graphique / Re : 2D isométrique, VertexArray
« le: Août 24, 2013, 01:11:21 am »
Citer
Je pensait à quelque chose comme : VertexArray -> RenderTexture -> RenderWindow.
Pas la meilleure solution pour atteindre 60 FPS si on doit le répéter à chaque frame...

Mais en utilisant le systeme de chunk ? :)
Du genre : créer une renderTexture par chunk, la remplir au chargement de la map et aux déplacements du personnage, puis lorsque on ne bouge pas, on se contente d'afficher les renderwtectures déjà dans la mémoire ... donc très peu d'appels a draw() :)

Qu'en pensee vous ? :)

6
Graphique / Re : 2D isométrique, VertexArray
« le: Août 23, 2013, 11:20:05 pm »
Citer
Tu pourrais rendre ton terrain par "bloc" de (par exemple) 8 cases de coté?

Tu veux parler d'un système de "chunks", c'est-à-dire découper la map en zones de X blocks * X blocks ? :)

A vrai dire je ne sais pas combien de texture il y aura à l'écran, mais sachant qu'il y aura 3 couches, que la couche du sol sera entièrement remplie par des tiles, il doit y avoir un grand nombre.

Citer
Et actualiser seulement les blocs qui ont changés (personnages qui se déplacent, etc)

Actualiser les chunks visibles dans l'écran ? :) Mais en utilisant des VertexArrays ou une RenderTexture ?

Les VertexArrays ne peuvent prendre qu'une texture donc il faudrait que je crée le tileset dans une renderTexture puis que j'utilise cette dernière comme texture du VertexArray.

Sinon je dessine des RenderTextures par chunks et je les "colle" les unes contre les autres", et une fois dessinées, je n'ai plus qu'à les afficher comme une image de fond fixe, je devrai par contre la refaire si la map change (lorsqu'on se déplace par exemple).

Citer
Une solution plus ... complexe ... pourrait être d'utiliser un shader... avec un paramètre "distance depuis la 'camera' "

Je n'y connais absolument rien en shader, je préfère éviter :D

7
Ok :)

Laurent m'a aidé à trouver quelques idées ^^ si je trouve une idée qui marche je vous informerai ^^

8
Salut :)

On a évoqué le même problème a peu près dans un autre sujet et on a peut être trouvé des solutions au problème ^^ si tu veux nous aider on pourra essayer de trouver une solution tous ensemble :)

http://fr.sfml-dev.org/forums/index.php?topic=12722.0

Sinon certaines cartes graphiques supportent beaucoup plus (comme 2048*2048, 4096*4096 etc.) mais on ne sait jamais qui utilisera le jeu et quelle sera sa carte graphique :D

9
Graphique / Re : 2D isométrique, VertexArray
« le: Août 23, 2013, 05:10:45 pm »
@Laurent : Je vais essayer avec les VertexArray mais je ne suis pas sur du résultat :/

@Hypnéos : En fait ta méthode est bonne à partir du moment où un seul vertexArray affiche la meme couche. Quand il y en a plusieurs (par exemple 1 par texture), comme sur la photo, on ne peut pas afficher un bout du vertexArray puis un bout de l'autre etc., on doit forcément tout afficher d'un coup ...

 Donc du coup les mêmes tiles sont bien affichées, mais des qu'il y en a plusieurs, c'est là qu'il y a un problème :'(

10
Graphique / Re : 2D isométrique, VertexArray
« le: Août 22, 2013, 05:01:32 pm »
Par rapport à l'autre méthode plus haute :)

Donc j'ai le choix :

1- j'affiche la couche avec un VertexArray qui prend comme texture le tileset créé par la RenderTexture.
2- je créé des RenderTexture pour toute la couche (et je la divise en partie de 1024 par 1024 par exemple^^) et une fois créé je n'ai plus qu'à les afficher jusqu'à ce que le perso bouge et la rebelotte, on recommence à créé des RenderTextures etc.

Quelle méthode semble la plus optimisée ? :)

11
Graphique / Re : 2D isométrique, VertexArray
« le: Août 22, 2013, 04:30:20 pm »
Citer
L'utilisateur ne peut pas mettre une tuile de chaque sorte sur sa carte ?
En fait dans l'éditeur de map l'utilisateur choisit ses tiles (qui seront rangés par catégorie donc séparés)
Ensuite dans le jeu, son personnage se déplace dessus.

Je pensais sinon au chargement de la map (dans le jeu) assembler les tiles présent sur la map dans un tileset avec la méthode que tu viens de dire dans une RenderTexture, puis utiliser cette RenderTexture comme tileset pour afficher la map avec les VertexArrays. Est-ce possible ? :)

Mais pour l'autre méthode, on appelle tous les draw() qu'une seule fois ou presque puisqu'après on a juste à afficher la RenderTexture, cela peut faire gagner en performances ? :)

12
Graphique / Re : 2D isométrique, VertexArray
« le: Août 22, 2013, 04:16:24 pm »
Euh mes textures font environ 90 par 60, donc je peux en mettre beaucoup mais j'ai lu que certaines cartes graphiques ne supportent que 512*512 :/

Mais l'autre problème c'est qu'elles ne font pas toutes la même taille donc pour faire un tileset c'est assez compliqué.

Ou sinon j'avais pensé, créer le tileset au moment du chargement de la map, avec uniquement les tiles présents sur la map (ça devrait passer niveau quantité) mais je ne suis pas sur que ça marche :/

Sinon entre les renderTextures de 800*800 et les VertexArray, qu'est ce qui est le plus performant ? :)

13
Graphique / Re : 2D isométrique, VertexArray
« le: Août 22, 2013, 04:01:06 pm »
Pour l'instant pour les tuiles de sol, j'en ai une quinzaine environ, mais je compte en faire encore plus ;)

Sinon j'ai pensé à faire des RenderTexture de par exemple 800px par 800px et les coller les unes contre les autres, pour ce qui est statique, cela permet de charger qu'une fois et apres juste afficher la RenderTexture, et lorsque on se déplace, rajouter une RenderTexture, etc.

Est-ce une bonne idée ? :)

14
Graphique / Re : 2D isométrique, VertexArray
« le: Août 22, 2013, 03:44:17 pm »
Voila en image le problème :

Une map basique :



Si je fais un VertexArray par texture, cela me donne ça :

Pour la pierre :



Pour l'eau :



Et au final j'aurai ça comme résultat (pas bon, l'eau est par dessus le bloc) :



Le problème étant que je ne sais pas quel bloc l'utilisateur posera sur la map (avec l'éditeur de map) et donc je ne peux pas prévoir de tileset spécial pour le sol...

Merci d'avance :)

15
Graphique / Re : 2D isométrique, VertexArray
« le: Août 21, 2013, 11:48:15 pm »
Oui ce sont des tuiles qui peuvent etre avec un peu de relief et donc elles ont une profondeur (fausse 3D) :)

Exemple : https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcT73qRSV4Fn0ovkG-pDQ9h1LvChSc2kOb5T4ZdPpMlbHXrou9oR2N9aADf1NQ

Et si j'utilise un vertexArray par tuile différente, certaines qui sont derrière normalement se retrouveront devant et vice versat :/

Pages: [1] 2 Suivante »