Question

Je suppose que je vais illustrer par un exemple: Dans ce jeu , vous êtes en mesure de dessiner des formes 2D à l'aide de la souris. rendu à l'écran en temps réel. Je veux savoir quels sont les meilleurs moyens de rendre ce type de dessin en utilisant l'accélération matérielle (OpenGL). J'ai eu deux idées:

  • Créez une texture de la taille de l'écran lorsque vous commencez à dessiner, mettez-la à jour lors de la création et ajoutez-la à l'écran
  • Créez une série de segments de ligne pour représenter le dessin et affichez-les à l'aide de lignes ou de polygones minces

Y a-t-il d'autres idées? Laquelle de ces méthodes est probablement la meilleure / la plus efficace / la plus facile? Toutes les suggestions sont les bienvenues.

Était-ce utile?

La solution

J'aime la physique des crayons (la musique me procure à chaque fois). Grand jeu!

Mais revenons à l'essentiel ... Il a créé des sprites de pinceaux qui suivent la position de votre souris. Il a créé quelques pinceaux qui représentent une petite variation. Une fois que la souris s’est éteinte, j’imagine qu’il ajoute ces sprites à une structure de données et l’envoie à travers ses fonctions de dessin et de collision. Ainsi apparait l'effet en temps réel. Il utilise la bibliothèque Simple DirectMedia Layer, à laquelle je donne deux coups de pouce.

Autres conseils

Je suis à peu près sûr que la deuxième idée est la voie à suivre.

Première option si le joueur dessine à main levée (plutôt que des lignes) et que ce qu’il dessine n’a pas besoin d’être animé.

Seconde option si elle est animée ou s'il s'agit principalement de lignes. Si vous choisissez cette option, il vous semblera nécessaire de dessiner des polygones minces plutôt que des lignes régulières pour obtenir un aspect intéressant (comme dans l’exemple de crayon).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top