Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1518 connectés 

 

Sujet(s) à lire :
    - Article: un raytracer de base en C++
 

 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15
Auteur Sujet :

La programmation d'effets de demos old-school (Assembleur + C)

n°842436
chrisbk
-
Posté le 04-09-2004 à 22:51:28  profilanswer
 

Reprise du message précédent :

Lightness1024 a écrit :

voé mais ya 4 pages non ?
doit bien y avoir moyen de swaper les pages (double buffering ?)
 
lol


 
double buffer = deux buffer, ca implique pas que tu swap au lieu de blitter :o
 
sous 13h on blit
sous DX windowed on blit
sous DX fullscreen on swap (ou on blit, au choix, mais bon, swap roulaise)

mood
Publicité
Posté le 04-09-2004 à 22:51:28  profilanswer
 

n°842438
Lightness1​024
Posté le 04-09-2004 à 22:53:04  profilanswer
 

Citation :

double buffer = deux buffer, ca implique pas que tu swap au lieu de blitter :o


 
en effet, ugh !
 

Citation :

sous 13h on blit
sous DX windowed on blit
sous DX fullscreen on swap (ou on blit, au choix, mais bon, swap roulaise)


 
copy that


---------------
http://projets.6mablog.com/
n°842567
christophe​_d13
L'efficacité à tout prix.
Posté le 05-09-2004 à 10:17:22  profilanswer
 

En mode 320x200x256 (MCGA) il est possible de faire un swap à la place d'un blit.
Comment ?
En programmant la zone vidéo de A000:0000 à B000:FFFF. Cela ne marchait pas avec toutes les cartes vidéo.
Cependant, selon les effets il est plus interressant d'écrire en mémoire et de copier sur la mémoire vidéo plutôt que de travailler sur cette dernière.

n°846701
Lam's
Profil: bas.
Posté le 10-09-2004 à 10:23:43  profilanswer
 

christophe_d13 a écrit :

En mode 320x200x256 (MCGA) il est possible de faire un swap à la place d'un blit.
Comment ?
En programmant la zone vidéo de A000:0000 à B000:FFFF. Cela ne marchait pas avec toutes les cartes vidéo.
Cependant, selon les effets il est plus interressant d'écrire en mémoire et de copier sur la mémoire vidéo plutôt que de travailler sur cette dernière.


 
J'ai jamais vu ça tiens... Par contre, ce qui se faisait énormément, c'était d'utiliser le Mode X pour faire du scroll hard, du 4 pages en 320x200 ou du 2 pages en 320x400.  
 
Pour ce qui est de la vitesse, le problème c'est que certaines cartes (sur le port VESA) était tout simplement beaucoup plus rapides que d'autres (la Tseng Labs ET4000 par exemple). Donc pour faire un effet "portable", on ne pouvait pas trop avoir d'a-priori.  
 
Au final, ça allait plus vite en terme de bande passante et d'utilisation de la VBL de travailler en buffer, puis de copier le buffer vers la RAM vidéo tout en le nettoyant au passage si nécessaire.
 
Genre (code simplifié et peu ragoutant, bien sûr) :  

Code :
  1. xor bx,bx
  2. les di, RAM_VIDEO
  3. lds si, BUFFER
  4. boucle:
  5.   mov ax,ds:[si]
  6.   mov es:[di], ax
  7.   mov ds:[si],bx
  8.   loop boucle

n°869297
g012
Posté le 10-10-2004 à 04:08:45  profilanswer
 

Yo
Je vois un topic sur les vieux trucs alors je ressors ma daube ;)
Vous pouvez télécharger les sources en nasm dos d'une vieille intro 4ko toute caca: http://gravitics.free.fr/dl/CrashIt.zip
Bon y'a que 3 "scenes"... et pour le son bah faut être sous dos ou win me et moins. G pas testé avec un ému dos sous nt et plus. Évidemment faut avoir une sound blaster ou compatible. Si je me souviens bien ça tourne en mode vga normal, pas en x... enfin je crois. Question de place, faut de la place pour initialiser le mode x. Pentium 2 minimum (utilisation des movcc).
 
Euh pour répondre au Code de Lam's puisque je l'ai sous les yeux en postant ce message:
 - dans ta boucle t'incrémente pas si/di... un truc que g pas saisi ?
 - pourquoi une boucle alors que y'a le fameux "rep movsw" (w en l'occurrence, mais bon b ou d en cas de besoin) ? suivi d'un rep stosd pour effacer si c vraiment nécessaire.
Enfin g ptet mal compris ce que tu voulais faire.

n°885783
Wipikka
Posté le 29-10-2004 à 13:49:44  profilanswer
 

impossible de configurer watcom.help

n°885785
Wipikka
Posté le 29-10-2004 à 13:51:15  profilanswer
 

Quelqu'un peut-il me venir en aide pour le setvers.bat.?

n°885786
Wipikka
Posté le 29-10-2004 à 13:56:00  profilanswer
 

J'ai installé Open Watcom en config manuelle comme recommandé par Harko. Mais ca marche pas. J'ai reinstallé, viré les .ini. Je dois pas etre configuré comme il faut sur le setvars.bat. J'ai essayé en autoexec.bat, marche pas non plus.  Par contre je peux compiler sans probleme. Merci pour les tuts. Je progresse a la vitesse de l'escargot...

n°902054
lorenfar
Posté le 18-11-2004 à 17:47:55  profilanswer
 

Bonjour,
Bravo pour cette suite de tutoriaux  ;) ,
je voudrais débuter la programmation en ASM, mais je ne sais pas par où commencer  :??: .
Parmis toutes les expressions que je ne comprends pas dans ces tutoriaux, il y en a une que je voudrais connaître : vous parlez beaucoup de palette, mais qu'est donc la palette ?
Encore bravo pour ces tutoriaux.
Merci des réponses

n°902080
chrisbk
-
Posté le 18-11-2004 à 18:44:22  profilanswer
 

lorenfar a écrit :

il y en a une que je voudrais connaître : vous parlez beaucoup de palette, mais qu'est donc la palette ?


 
réponse rapide : lance un paint shop pro avec une image en 256 couleurs, et va voir dans le menu couleur (ou palette, justement, je sais pu). Ptet ca t'aidera
 
Reponse longue
 
une palette défini les couleur.
Par exemple dire que la couleur numero 0 c'est le noir, la 1 c'est du bleu etc etc (jusqu'a 255 inclus)
 
Apres dans ton image tu as juste des references a cette palette.
 
genre :
pixel 0 : 0
pixel 1 : 0
pixel 2 : 1
 
 
te donnera a l'ecran: noir, noir, bleu
 
c'est clair ?
 
 

mood
Publicité
Posté le 18-11-2004 à 18:44:22  profilanswer
 

n°902165
lorenfar
Posté le 18-11-2004 à 20:11:37  profilanswer
 

D'accord,
merci, :)  
je vais me renseigner.

n°902471
Moktar1er
No one replies...
Posté le 19-11-2004 à 08:43:14  profilanswer
 

moi je ne peux que vous conseiller la palette à la diable [:benou_miam]

n°912172
octavus
Posté le 01-12-2004 à 16:05:07  profilanswer
 

A Harkonnen.
Je viens de tomber par hasard sur ton post (La programmation d'effets de demos old-school ) , je dois dire que ça m'a beaucoup fait plaisir (ça me rappelle le bon vieux temps de l'Amiga. Sniff,regret)et je ne peut que te feliciter pour cette initiative (ça change des eternels debilitées qu'on peut voir sur le net et en plus ça instruit)
   encore merci et bonne continuation.
 :)  
 
 

n°920408
lorenfar
Posté le 11-12-2004 à 14:27:01  profilanswer
 

Salut à tous,
je suis en train de coder doucement une petite démo en basic,
et je me demandais si quelqu'un sait où je pourrais trouver une doc aseez simple pour coder des vectorballs ( on dit comme ça ?).
J'ai cherché sur google, mais j'ai rien trouvé de bien clair, juste des trucs dans un languege donné.
Merci à tous

n°920427
Lam's
Profil: bas.
Posté le 11-12-2004 à 14:47:33  profilanswer
 

C'est quoi qui te pose problème ? L'affichage de chaque sprite, le calcul des rotations en 3D, les algos globaux (qui sont très simples) ?
 
Et c'est quel Basic que tu utilises ?

n°920437
beel1
Posté le 11-12-2004 à 15:01:06  profilanswer
 

b'jour les gens :hello:
 
juste une petite question en passant : les reset démos sur PC, ça se fait :??:

n°920469
bjone
Insert booze to continue
Posté le 11-12-2004 à 15:50:55  profilanswer
 

reset démos ?
tu reset et la machine boote sur du code maison ?
 
si c'est ça, je pense pas que ce soit facilement faisable sur PC, ce genre de hack doit être plus facilement stable sur Amiga ou Atari ST.


Message édité par bjone le 11-12-2004 à 15:51:03
n°920471
beel1
Posté le 11-12-2004 à 15:59:12  profilanswer
 

ouaip c'est ça :jap:
 
c'est ce que je pense aussi, je sais pas si le vecteur de reset est aussi facilement détournable sur un PC que sur un ST [:urd]


Message édité par beel1 le 11-12-2004 à 15:59:29
n°920513
lorenfar
Posté le 11-12-2004 à 17:29:01  profilanswer
 

Merci,
en fait se sont les algoritmes globaux que je ne comprends pas,
je comprends pas comment arriver à afficher chaque sprite pour que le tout fasse la forme voulu.
Voilà,merci.
 
PS: le basic c'est Dark Basic un simili basic dont le compilo est programmé en C++

n°920569
oliv5
Pourquoi ? Parce que !
Posté le 11-12-2004 à 18:53:21  profilanswer
 

Pour ceux que ca intéresse, voila un petit cours sur les bases de la 3D que j'ai fait il y a 6 ans maintenant.
 
http://rvirtual.free.fr/programmat [...] /c1001.htm
 
On y explique le pourquoi du comment on affiche des lignes, on dessine en 3D, on fait des rotations, translations & co avec des matrices...
 
edit : cliquez pas sur menu principal :) ce site est un revival d'un ancien, j'ai pas retrouvé toutes nos pages.


Message édité par oliv5 le 11-12-2004 à 18:55:39
n°920790
Lam's
Profil: bas.
Posté le 12-12-2004 à 09:31:49  profilanswer
 

BEEL1 a écrit :

ouaip c'est ça :jap:
 
c'est ce que je pense aussi, je sais pas si le vecteur de reset est aussi facilement détournable sur un PC que sur un ST [:urd]


Il n'est pas aussi facile que sur un ST, mais c'est (c'était) faisable. Pour info, c'est il y a presque une vingtaine d'années qu'une équipe de chez IBM (à l'époque où ils faisaient des PCs :)) a découvert comment repasser du mode protégé en mode réel (un truc non prévu par intel sur le 286) en forçant le processeur à une triple-exception, ce qui lui demandait de se resetter et rebooter en partant d'une adresse spécifique.
 
Le problème, c'est que:
1. Ce n'est bien sûr plus possible avec les OS modernes, parce qu'ils protègent contre ce genre de bidouille (j'entends par là Windows et Linux, pas le DOS).
2. Ca ne resiste bien sûr pas à un cold reboot.

n°920815
beel1
Posté le 12-12-2004 à 11:43:13  profilanswer
 

OK :) merci pour l'info :jap:
donc même avec la bidouille que tu exposes ça ne peut être fait que via un soft-reset :spamafote:
je comprend mieux pourquoi j'en avais jamais entendu parler su r PC... :D

n°920833
Lam's
Profil: bas.
Posté le 12-12-2004 à 11:56:42  profilanswer
 

BEEL1 a écrit :

OK :) merci pour l'info :jap:
donc même avec la bidouille que tu exposes ça ne peut être fait que via un soft-reset :spamafote:
je comprend mieux pourquoi j'en avais jamais entendu parler su r PC... :D


Pour info (et là, on tombe vraiment dans le culte des vieilleries), Qemm386 était capable d'intercepter les demandes de boot comme ça, pour les transformer en reboot d'os (int 19h), c'est à dire que tu sautais directement au chargement du secteur de boot du disque dur plutôt que te retaper le bootup du bios.  
 
En fait, on a 3 types de reboot sur PC:

  • reboot cold (celui qui incluait le test mémoire, etc.).
  • reboot hot (juste la detection des disques et le boot Bios, interceptable en mettant ce qui va bien à la bonne  addresse).
  • reboot OS (qu'on obtenait en appellant l'INT 19h).

n°921151
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-12-2004 à 19:33:16  profilanswer
 

lorenfar a écrit :

Merci,
en fait se sont les algoritmes globaux que je ne comprends pas,
je comprends pas comment arriver à afficher chaque sprite pour que le tout fasse la forme voulu.
Voilà,merci.
 
PS: le basic c'est Dark Basic un simili basic dont le compilo est programmé en C++


ben tu stockes dans un tableau les coordonnées des différents sprites pour obtenir la forme voulue.
une boucle de vector balls ressemble à ceci :
- on efface l'écran
- on calcule les coordonnées des balls (selon rotation, translation, etc...)
- avec un algo de tri, on trie les coordonnées z des balls en ordre ascendant (la plus proche de nous sera celle qui sera affichée en dernier)
- puis on parcourt ce tableau, et on dessine les balls dans l'ordre
- on swappe l'écran
- retour au début


---------------
J'ai un string dans l'array (Paris Hilton)
n°921208
lorenfar
Posté le 12-12-2004 à 20:05:23  profilanswer
 

Merci mais j'ai un peu peur  :sweat: :
 
c'est pas un peut dur pour moi les algos de tri ? (je suis qu'en 3eme)
Je sais pas du tout ce que c'est.
Pour la forme c'est obligé un tableau, on peut pas le calculer directement ( je sais pas du tout, me crier pas dessus  ).
 
Merci quand même. :jap:  :jap:  
 
Ps: 2 petites questions -> - c'est quoi swapper l'écran ?
                           - à quoi ça sert de faire un and entre deux nombres décimaux ?.
 
Merci encore. :hello:

n°922643
Mr Mala
Posté le 14-12-2004 à 13:00:27  profilanswer
 

lorenfar a écrit :

Ps: 2 petites questions -> - c'est quoi swapper l'écran ?


 
Si mes vieux souvenirs sont encore intacts, c'est un "truc" pour éviter le "flicking" de l'écran lors d'une animation.
Tu "dessines" dans un buffer en mémoire puis tu copies d'un coup tout le buffer dans la mémoire écran ...
 
Ca va Harko ? j'ai bon ? :D
( haaaa ce bon vieux Blitter ... :p )


Message édité par Mr Mala le 14-12-2004 à 13:01:39
n°922680
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-12-2004 à 13:36:14  profilanswer
 

Mr Mala a écrit :

Si mes vieux souvenirs sont encore intacts, c'est un "truc" pour éviter le "flicking" de l'écran lors d'une animation.
Tu "dessines" dans un buffer en mémoire puis tu copies d'un coup tout le buffer dans la mémoire écran ...
 
Ca va Harko ? j'ai bon ? :D
( haaaa ce bon vieux Blitter ... :p )


ça va :o
lorenfar >> Mr Mala a raison, c'est la technique du Double Buffering que je décris ici :
http://forum.hardware.fr/hardwaref [...] tm#t517627
 
pour les "and", ça sert à conserver des bits en "masquant" les bits qu'on veut garder. je te renvoie vers un site d'albèbre booléenne pour les tables de vérité des différents opérateurs booléens


---------------
J'ai un string dans l'array (Paris Hilton)
n°926838
chrisbk
-
Posté le 18-12-2004 à 11:58:37  profilanswer
 

c'est pas oldschool dans la maniere de faire (SDL), mai ca peut interesser ceux qui souhaitent debuter et affihcer rapidement des trucs rigolos :
 
http://sol.planet-d.net/gp/

n°954451
maestun
Posté le 17-01-2005 à 12:08:57  profilanswer
 

Drapal :D
A noter que certains effets présentés par Harko peuvent être portés sur GBA très facilement en quelques minutes :love: (je viens d'essayer le starfield horizontal)

n°965824
tryum
Posté le 30-01-2005 à 12:00:27  profilanswer
 

Tiens, un autre programmeur GBA =)
 
Vivement la suiteuuu ;)
 
Merci pour tout ce boulot harko !

n°965828
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 30-01-2005 à 12:08:18  profilanswer
 

bon, va falloir que je me remette sérieusement à ce topic, vu qu'il a l'air de déchainer les passions plus d'un an après son ouverture


---------------
J'ai un string dans l'array (Paris Hilton)
n°965839
drasche
Posté le 30-01-2005 à 12:31:28  profilanswer
 

[:youpi]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°968595
noldor
Rockn'roll
Posté le 01-02-2005 à 16:41:11  profilanswer
 

drapal !
très sympa ce topic, merci harko :jap:

n°1105398
red factio​n
Posté le 02-06-2005 à 14:41:38  profilanswer
 

[:yoyoz] topic mort ? :whistle:  
 
je c tjs pas comment on fait un twister ou un magnetic field ...

n°1177486
LeGreg
Posté le 16-08-2005 à 23:49:08  profilanswer
 

Ça intéresse quelqu'un un article sur un moteur de terrain en voxel (à la Outcast) ?
Ce sera du win32 de base donc pas de mode chelous.
 
Promis ça sera moins compliqué que l'article sur le raytracer.

n°1177495
push
/dev/random
Posté le 17-08-2005 à 00:10:32  profilanswer
 

LeGreg a écrit :

Ça intéresse quelqu'un un article sur un moteur de terrain en voxel (à la Outcast) ?
Ce sera du win32 de base donc pas de mode chelous.
 
Promis ça sera moins compliqué que l'article sur le raytracer.


Outcast  :love:  
 
je trouvais le rendu impressionant à l'époque donc +1

n°1179212
LeGreg
Posté le 18-08-2005 à 22:38:56  profilanswer
 

En fait je reprends juste un vieux programme de 1999:
http://www.massal.net/images/voxel1.gif
 
La il utilisait Direct draw 5 (ou 6 ?), mais la version actuelle tourne en Win32 (pour le code specifique) et est un peu plus jolie (subjectif).
 
Je vais voir ce que je peux faire.

n°1179214
drasche
Posté le 18-08-2005 à 22:39:32  profilanswer
 

très beau :love:
 
joli travail :jap:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°1179448
LeGreg
Posté le 19-08-2005 à 11:21:06  profilanswer
 

désolé pour ce hijacking de topic, j'ouvrirai bientot le mien
 
voilà une version plus récente
http://www.massal.net/article/voxel/high1.png
 
http://www.massal.net/article/voxel/high2.png
 
La principale différence c'est la résolution plus haute
et les textures qui ont changé (thanks terragen).
 
Bon je commence l'article bientot, ça devrait pas être trop long.

n°1191829
Natopsi
☄️Just end it already!☄️
Posté le 04-09-2005 à 21:27:49  profilanswer
 

[:blueflag]  
Je sens que je vait ressortir mon 486dx2.
Tiens, je me pose des questions sur les vieux processeurs : ya une différence pour les démos si ils ont un coprocesseur mathématique ou non?


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°1191973
drasche
Posté le 05-09-2005 à 00:24:05  profilanswer
 

Ca dépend si la démo emploie effectivement le copro ou non. A l'époque du 486, non, car il y avait le 386 qui tournait sans copro, et une bonne démo tourne sur toutes les machines.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15

Aller à :
Ajouter une réponse
 

Sujets relatifs
Projet de topic tutorial sur la programmation d'effets graphiquesProgrammation jeux video
cherche cours de programmation[ASM] L'assembleur sur TI82
Newbee en recherche d'un bon bon logiciel de programmationProgrammation graphique : choix d'un toolkit
[Programmation windows en C++] Recherche d'un bon tutorial...la fin des langages de programmation... sous Windows evidemment
cherche pro de la programmation 
Plus de sujets relatifs à : La programmation d'effets de demos old-school (Assembleur + C)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR