1

On peut partout voir qu'on puisse remplir des polygones au blitter, mais quelqu'un aurait un exemple ? Un source ?

On dirait presque une chimère, tout le monde en parle et on voit rien !!

Si cela est du style algo d'inversion de ligne laissé tombé, un bon code 68000 est plus rapide.



GT En train de cherché !! loupe
avatar< SCPCD > j'aurais du dire "les doigts dans le cul vu que le java c'est de la merde"
Je suis Goto !

2

Tu peux même faire du gouraud en near true color avec le Blitter et c'est plus rapide que le 030 sur de gros polygonnes, oui oui !
L'exemple et sources ici: http://people.freenet.de/ray.tscc/gouraud.htm
Et si tu veux une preuve concrète reregarde la beams grin

GT n'a même pas vu qu'il avait sous les yeux ce qu'il convoitait; ça fait 2 fois que je te dis d'enlever le bout de pizza collé sur ton écran ! pizza

3

Pour remplir un polygone avec le Blitter, on fait pareil qu'en 68000:

- On calcule le y mini et maxi du polygone à l'écran
- On calcule les x mini et maxi pour chacun de ces y
- On remplit la ligne entre x mini et maxi. -> C'est ça qu'on peut faire au blitter au lieu du 68000

Pour le détail de l'algorithme:
http://www.devmaster.net/articles/software-rendering/part3.php

C'est rentable d'utiliser le blitter, si il faut moins de temps pour initialiser le blitter et lui faire remplir une ligne qu'en le faisant directement au 68000.


4

pmandin :
Pour remplir un polygone avec le Blitter, on fait pareil qu'en 68000:

- On calcule le y mini et maxi du polygone à l'écran
- On calcule les x mini et maxi pour chacun de ces y
- On remplit la ligne entre x mini et maxi. -> C'est ça qu'on peut faire au blitter au lieu du 68000

Pour le détail de l'algorithme:
http://www.devmaster.net/articles/software-rendering/part3.php

C'est rentable d'utiliser le blitter, si il faut moins de temps pour initialiser le blitter et lui faire remplir une ligne qu'en le faisant directement au 68000.



Merci c'est bien ce que je pensais, mais il n'y a pas beaucoup de cas de figure ou le blitter serait supérieur au 68000, surtout si on a du code généré pour chaque longueur de ligne


GT magic
avatar< SCPCD > j'aurais du dire "les doigts dans le cul vu que le java c'est de la merde"
Je suis Goto !

5

Va sur la page de Patrice, tu verras sa routine de collision au pixel près, preuve que le Blitter peut servir à autre chose que de bouger des sprites et qu'il peut être donc très utile même avec un 030 à côté smile

GT pour la réhabilitation de ce customchip trop décrié à tord !

6

Xerus :
Va sur la page de Patrice, tu verras sa routine de collision au pixel près, preuve que le Blitter peut servir à autre chose que de bouger des sprites et qu'il peut être donc très utile même avec un 030 à côté smile

GT pour la réhabilitation de ce customchip trop décrié à tord !

Ca me fait penser qu'il y a longtemps que je voulais réécrire ce tutorial en HTML pour avoir de belles images insérées dedans. En plus, le source est plus compréhensible que le tutoriel :-).

7

Ne te prive pas, à mon sens t'es un des (le?) premier à avoir fermer le clapet (toutes proportions gardées) à ceux qui disaient que le Blitter servait à rien !
Surtout avec ta démo de Street Fighter 2, autrement meilleure que l'adaptation que la plate forme ST a "subit"...

8

Xerus :
Va sur la page de Patrice, tu verras sa routine de collision au pixel près, preuve que le Blitter peut servir à autre chose que de bouger des sprites et qu'il peut être donc très utile même avec un 030 à côté smile

GT pour la réhabilitation de ce customchip trop décrié à tord !


Au cas ou tu l'aurais pas remarqué j'ai déjà fait un tour sur la page a Patrice, j'en parlais meme dans l'histoire d'émulé une Lynx avec une Jag !!


Cela m'a épaté !!

GT octopus
avatar< SCPCD > j'aurais du dire "les doigts dans le cul vu que le java c'est de la merde"
Je suis Goto !

9

C'est pas grave, ceux qui ne la connaissait pas encore et qui lise Yaronet savent maintenant que ça existe smile

10

A y est, j'ai réécris le tutoriel en HTML, avec incrustation des nimages dans le dedans de la page:
http://membres.lycos.fr/pmandin/index.php?page=howto-prog
J'espère que c'est assez clair.
Sinon, à propos du site dont j'avais donné l'URL, ya une autre méthode (dite "de ouf") pour remplir un triangle:
http://www.devmaster.net/codespotlight/show.php?id=17

11

Xerus :
GT pour la réhabilitation de ce customchip trop décrié à tord !

Moi aussi, sur CT60 surtout ! Ah ? C'est pas possible ?

dehors

Kochise
avatarSi Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

12

A y est, j'ai réécris le tutoriel en HTML, avec incrustation des nimages dans le dedans de la page:
http://membres.lycos.fr/pmandin/index.php?page=howto-prog
J'espère que c'est assez clair.
Sinon, à propos du site dont j'avais donné l'URL, ya une autre méthode (dite "de ouf") pour remplir un triangle:
http://www.devmaster.net/codespotlight/show.php?id=17


Merci Patrice, je suis sûr que ça pourra intéresser du monde !

13

A part ça, j'ai essayé la version originale de SF2 avec Mame. La version arcade tourne avec un 68000 à 10MHz, et un Z80 pour le son, plus quelques chips supplémentaires pour la vidéo et l'audio, la résolution est 384x224. Les graphismes sont faits avec des blocs de 16x16 pixels, de 16 couleurs. La borne d'arcade a un mode test dans lequel on peut visualiser tous les blocs graphiques.

Je me disais que ripper ces graphismes pour refaire un SF2 pour Falcon en 384x240x8 (rgb) ou 320x240x8 (vga) ne devrait pas etre excessivement difficile. Néanmoins, les sprites sont beaucoup plus gros que ceux que j'avais rippés de la Snes, donc je ne sais pas si afficher deux gros personnages tiendrait dans la VBL (sans parler de l'animation du décor).

Autre problème: les cartes accélératrices avec FastRam. Si j'utilises le blitter, je ne pourrais rien stocker en FastRAM. Le mieux ce serait alors de tout faire au CPU en Fast, et ensuite recopier entièrement l'écran final (animations comprises).

Voilà, c'est juste pour donner une idée, hein...

14

pmandin :
Sinon, à propos du site dont j'avais donné l'URL, ya une autre méthode (dite "de ouf") pour remplir un triangle:
http://www.devmaster.net/codespotlight/show.php?id=17


Je viens de lire la méthode, elle est de ouf, mais coté vitesse j'ai un gros doute sur un Falcon.

Si on prend le cas d'un Falcon en True Color, je pense que l'ancienne technique est plus rapide. Pour le tracage virtuel, la routine (Bresenham) dans notre cas (Qui n'est pas la plus rapide, mais la plus précise) rentre sans problème dans le cache d'un 030. Pour le tracage pareil, pas de code généré, mais vu la taille du code on arrive a le placé dans le cache aussi. Et la le remplissage ressemble a cela :

Label: move.w d7,(a0)+
dbra d6,label

L'autre technique remplit par bloc de 8*8 ce qui peut faire un gros gain, mais il y a pas mal de calcul préliminaire et le 'main code' est peut ètre un peu gros pour un Falcon, sur un PC le pb n'est pas.

Enfin bon, il n'y a toujours qu'un moyen de vérifié qui est le plus rapide, c'est d'essayé les 2 routines.


GT Turbo octopus
avatar< SCPCD > j'aurais du dire "les doigts dans le cul vu que le java c'est de la merde"
Je suis Goto !