Matrix fall 3d 3.2 (screensaver matrix en 3d)

Soyez le premier à donner votre avis sur cette source.

Vue 45 834 fois - Téléchargée 2 922 fois

Description

Ecran de veille Matrix en 3D.
Mise a jour vers la 3.2

pour telecharger l archive complete contenant les textures:
http://simpleproject.open-design.be/index.php?page=show_project&id=2

Hello tout le monde.

Cette troisième version a été, en très grande partie, re-écrite afin d'optimiser du mieux que je pouvais certaines routines qui réduisaient considérablement le nombre d'images par seconde lors du passage à la 3D.
Une des nouveautès les plus importantes est l'ajout de la profondeur. Une classe permet de contrôler la caméra et de la faire voyager aléatoirement dans l'espace.
Comme pour la version précédente, j'ai utilisé Dx8.

Voici donc en gros laliste des différentes fonctionnalités personnalisables :

-affichage de texte personnalisable (différent de la deuxième version) avec effet. Les textes et timings sont modifiables via le panneau de contrôle.

-contrôle du nombre d'images rendues par seconde (permet de brider la vitesse d'affichage des images afin de garder un certaine stabilité au niveau de la vitesse)

-contrôle du multiplicateur de vitesse. Le multiplicateur de vitesse permet d'augmenter la vitesse de l'écran de veille sans pour autant devoir augmenter le nombre d'images rendues par seconde. Le multiplicateur de vitesse et le nombre d'images rendues par seconde sont liés, l'un affectant l'autre.

-contrôle des dimensions des caractères.

-contrôle du nombre maximum de lignes à afficher.

-choix de la carte graphique et de la résolution.

Personnellement, j'arrive à le faire tourner sans problème dans une résolution de 1280*1024*32 avec 100 lignes affichées. Le nombre d'objets affichés peut monter jusqu'à +- 2100.
Ma config : AMD 1.4 Ghz, 896 RAM, GeForce Ti 4200 128 Mo, Win2K

Quelques explications sur le fonctionnement de certaines fonctionnalités :

en gros, il existe une classe pour chaque "objet". L'objet le plus simple (de niveau 1) étant un caractère ou un effet (une surface sur laquelle est "collée" une image et/ou une couleur)
Ensuite viennent les objets de second niveau, il s'agit des classes gérant un groupe d'objet de premier niveau (caractère, effet,...).
Ensuite, il y a les classes de niveau trois qui gèrent les classes de niveau 2, et ainsi de suite.
Ce procédé permet de centraliser les opération afin de construire des effets plus complexes (effets de lumière, ligne composée de plusieurs caractères...)
Chaque objet de niveau 1 (caractère, effet) sait exactement ce qu'il doit faire dans une limite de temps qu'il lui est définie ou qu'il s'est définie. Il gére ainsi sa position, son opacité, sa durée de vie, sa texture,...

Contrairement à un plan 2D, la 3D nécessite que l'on affiche les objets dans un ordre particulier lorsqu'il s'agit de surfaces contenant une couche alpha. La surface se trouvant le plus près de la caméra doit impérativement être affichée en toute dernière. Dans le cas contraire, certaines surface peuvent se trouver cachées par d'autres censées se trouver derrières elles (parce que les surface se trouvant derrière ont été affichées après celles se trouvant devant...)
... en bref, il faut vérifier la profondeur de chaque ligne afin de les afficher de la plus eloignee a la plus proche de la camera.

Pour accentuer l'impression de profondeur, j'ai ajouter une fonctionnalité qui réduit l'opactié d'une ligne (composée de caractères) en fonction de sa distance par rapport à la caméra. Plus une ligne est loin de la caméra, moins elle sera visible.

La plupart des évènements sont contrôlés aléatoirement grace a un systeme d etat. Chaque objet possede donc un etat qui change tout au long du processus.

Comme d'hab, la source est entièrement commentée !
Laissez vos commentaires, remarques, idees, ... ca fait toujours enormement plaisir.

Bon coding à tous !

.: NoRabbit :.

Source / Exemple :


'
' pour telecharger l archive complete contenant les textures:
'
' http://simpleproject.open-design.be/index.php?page=projects
'
'
' faites aussi un tour parmis mes differents projets... ils sont pour la plupart sur les sites CodesSources.
'
' http://simpleproject.open-design.be/

Conclusion :


les touches :
f = affiche qques infos utiles lors du developpement
click souris = pause
escape = termine le programme

Compilez le avant de le lancer pour de meilleures performances.
Pour le "transformer" en ecran de veille, renommer l'exe en scr (matrix_fall.exe -> matrix_fall.scr), c est aussi simple que ca.
Et pour que windows le reconnaise en tant qu ecran de veille, copiez simplement tous les fichiers dans le dossier windows de votre disque.

Voila, ca ne devrait pas etre trop difficile a comprendre, la source est entierement commentee... desole pour les fautes d'ortho...

ciao et bonne prog.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
224
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
30 mars 2009

un chance que je passe par là... je me demande qui t'aurais répondu (on est sur un site de prog quand même...) ;)

Bon, d'abords, faut compiler le fichier, ensuite tu le renommes et lui donnes l'extension .scr et pour finir tu l'ajoutes dans ton dossier "windows" sur ton disque avec le dossier matrixfall qui contient les textures et un fichier de config.

Peut être que le fichier déjà compilé se trouve dans l'archive "matrix_fall_3.2.rar" qui se trouve sur ce site:
http://devfactory.open-design.be

bonne chance.
Messages postés
1
Date d'inscription
dimanche 5 octobre 2008
Statut
Membre
Dernière intervention
6 octobre 2008

Salut tout le monde,

Bon je connais strictement rien à votre charabia! ^^
Je veux simplement avoir une bonne veille de matrix pour mon pc.
Alors j'ai une petite question surement débile pour vous, mais comment fait on pour mettre le travail de .: NoRabbit :. en veille? j'ai dl le zip mais maintenant je ne sais pas quoi faire?! =)

Merci d'avance pour votre aide,
sFiNuXxX
Messages postés
224
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
30 mars 2009

cool tkx.

Oui, je crois avoir le meme probleme avec cette version...
J ai peu de temps pour verifier ca. Si vous avez le courage, faites moi en part. Il se peut que je revienne avec une autre version... dans qques mois. Peut etre en C++, comme l autre, mais plus avance.

alle, ciao et encore merci pour vos messages.
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
Moi, je sais pas pourquoi, mais après quelques dizaines de secondes, le programme commence à ramer, même si je mets que 50 lignes.
Pour un P4 à 2.8Ghz et une GeForce FX 5600 (et 512 Mo de RAM, ça le fait pas trop (sachant que le programme a été fait en 2004) ^^"
Par contre, encore une fois, je suis bluffé par les effets que tu as fait pour les titres... vraiment impressionant, on s'y croirait !
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

Toujours super programme depuis le temps que je l'ai :)
Mais ... un seul problème qui me pose problème ... Fonctionne uniquement sur un seul écran, dommage pour mon Dual-Screen ...
Afficher les 76 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.