Démo "Dog"

Programmation d'applications complexes
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Démo "Dog"

Message par Ollivier »

Modifiez la recette :

Rouge : 35%
Vert : 40%
Bleu : 25%

Code : Tout sélectionner

Procedure GrayGradient(Color.I)
   R = Red(Color)
   G = Green(Color)
   B = Blue(Color)
   M = ((35 * R) + (40 * G) + (25 * B) ) / 100
   ProcedureReturn RGB(M, M, M)
EndProcedure
crisot
Messages : 98
Inscription : lun. 30/août/2004 21:03

Re: Démo "Dog"

Message par crisot »

C'est marrant de revoir les effets de déformations / tracé laser / zoom vertical.

Culture: Saviez vous que ces effets se faisaient sur Amiga sans utiliser le moindre temps machine? Ni le 68000, ni le Blitter (puce "d'accélération" graphique). Et c'était pourtant ultra impressionnant à l'époque. :-)

C'était juste une capacité de nombreux 8 / 16 bits de l'époque, grâce au Copper dans le cas de l'Amiga, de choisir quelle ligne de la mémoire vidéo devait être affichée pour chaque ligne de l'écran. Ainsi la ligne 0 du moniteur n'était pas forcément la ligne 0 de l'Amiga, ni la ligne 1 du moniteur la ligne 1 de l'Amiga, et ainsi de suite. On pouvait choisir quelle ligne de la mémoire vidéo était affichée pour chaque ligne du moniteur. Ainsi donc on pouvait étirer une image en hauteur, la retourner, ou la déformer ainsi, parfaitement gratuitement en temps machine.

En fait, l'image qui s'animait à l'écran était totalement fixe en mémoire vidéo.

Et ce ne sont pas les seuls effets à avoir abusé de ces artifices. L'un des plus impressionnant étant les "Big Balls".
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Démo "Dog"

Message par djes »

crisot a écrit :C'est marrant de revoir les effets de déformations / tracé laser / zoom vertical.

Culture: Saviez vous que ces effets se faisaient sur Amiga sans utiliser le moindre temps machine? Ni le 68000, ni le Blitter (puce "d'accélération" graphique). Et c'était pourtant ultra impressionnant à l'époque. :-)

C'était juste une capacité de nombreux 8 / 16 bits de l'époque, grâce au Copper dans le cas de l'Amiga, de choisir quelle ligne de la mémoire vidéo devait être affichée pour chaque ligne de l'écran. Ainsi la ligne 0 du moniteur n'était pas forcément la ligne 0 de l'Amiga, ni la ligne 1 du moniteur la ligne 1 de l'Amiga, et ainsi de suite. On pouvait choisir quelle ligne de la mémoire vidéo était affichée pour chaque ligne du moniteur. Ainsi donc on pouvait étirer une image en hauteur, la retourner, ou la déformer ainsi, parfaitement gratuitement en temps machine.

En fait, l'image qui s'animait à l'écran était totalement fixe en mémoire vidéo.

Et ce ne sont pas les seuls effets à avoir abusé de ces artifices. L'un des plus impressionnant étant les "Big Balls".
Only Amiga makes it possible ! :mrgreen:
Sur d'autres machines (y compris sur PC), on pouvait aussi se caler sur la position du spot et changer les registres en temps réel. On arrivait même parfois à avoir une précision supérieure au copper (moins de 16 pixels), de quoi faire de belles démos à la «Copper Master» mais sans copper !
Avatar de l’utilisateur
SPH
Messages : 4723
Inscription : mer. 09/nov./2005 9:53

Re: Démo "Dog"

Message par SPH »

8O Un combat amiga/pc ? :?

Je prend un paquet de popcorn et je regarde ca :lol: 8)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
crisot
Messages : 98
Inscription : lun. 30/août/2004 21:03

Re: Démo "Dog"

Message par crisot »

djes a écrit : Only Amiga makes it possible ! :mrgreen:
Sur d'autres machines (y compris sur PC), on pouvait aussi se caler sur la position du spot et changer les registres en temps réel. On arrivait même parfois à avoir une précision supérieure au copper (moins de 16 pixels), de quoi faire de belles démos à la «Copper Master» mais sans copper !
De mémoire en OCS/ECS un cycle du copper permettait de changer une couleur sur une ligne tous les 8 pixels, on tombait à 4 pixels sur machines AGA. :-)
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Démo "Dog"

Message par djes »

J'avoue que je ne me souviens plus très bien pour la résolution du copper (je vais regarder tiens) ! Sinon, pas de combat Amiga/PC, j'aime trop l'Amiga, je ne veux pas me faire l'avocat du diable. C'était juste une remarque comme ça, aussi pour faire remarquer qu'à l'époque sur PC, on pouvait avoir un accès exclusif à la carte graphique, ce qui rendait ce genre d'astuce possible, contrairement à aujourd'hui où on se fait piquer le CPU par l'OS.

Edit: oui, tu as raison, c'est bien 8 pixels si on fait des move à la suite. L'article sur le zoom hardware (excellent au passage!) http://www.stashofcode.fr/zoom-hardware ... sur-amiga/
crisot
Messages : 98
Inscription : lun. 30/août/2004 21:03

Re: Démo "Dog"

Message par crisot »

Ah mais je triche, j'utilise/code encore, c'est donc bien plus frais dans ma mémoire. :-)
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Démo "Dog"

Message par djes »

:)
Avatar de l’utilisateur
SPH
Messages : 4723
Inscription : mer. 09/nov./2005 9:53

Re: Démo "Dog"

Message par SPH »

Ar-S a écrit :Le 1er effet aussi est bien (le genre de déformation reflet) mais tu ne devrais pas le répéter. (un seul reflet suffirait).
En effet, je me suis aperçu sur une resolution plus elevé qu'un seul reflet suffisait sinon ca faisait moche.
J'ai refait un morceau du code pour etre plus clair.
Et j'ai rajouté un effet.

A ceux qui ne l'on pas vu, retelechargez la :idea: 8)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
crisot
Messages : 98
Inscription : lun. 30/août/2004 21:03

Re: Démo "Dog"

Message par crisot »

Fais ton effet proportionnel à la résolution.
Avatar de l’utilisateur
SPH
Messages : 4723
Inscription : mer. 09/nov./2005 9:53

Re: Démo "Dog"

Message par SPH »

crisot a écrit :Fais ton effet proportionnel à la résolution.
C'est ce que j'ai a peu pret fait :

Code : Tout sélectionner

  DrawText(ddw/2-30,ddh/2-4, "DOG", RGB(i,i,i))
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
crisot
Messages : 98
Inscription : lun. 30/août/2004 21:03

Re: Démo "Dog"

Message par crisot »

Je veux dire, ta déformation. Il te faut un facteur proportionnel à la résolution dans tes cos/sinus. Ce n'est pas le cas.

Code : Tout sélectionner

u=Cos(Radian(yyy+i*3))*ry+Sin(Radian(xxx+i*2))*rx
Par exemple quelque chose comme:

Code : Tout sélectionner

u=Cos(Radian((yyy+i*3)*ddh*0.0005))*ry+Sin(Radian((xxx+i*2)*ddh*0.0005))*rx
(en gros)
Avatar de l’utilisateur
SPH
Messages : 4723
Inscription : mer. 09/nov./2005 9:53

Re: Démo "Dog"

Message par SPH »

Pour que tout soit proportionnel, il faudrait aussi redimentionner l'image BMP et j'ai pas envie de me lancer dans cette galere (meme si c'est pas compliqué) 8)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Démo "Dog"

Message par Ollivier »

@SPH

Sans avoir encore pu tester, je lis ta dernière remarque et je me dis que ce n'est pas si compliqué que ça de redimensionner un BMP. Je crois qu'il existe une fonction ResizeImage() avec une option pour choisir si on veut pixeliser ou lisser.

https://www.purebasic.com/documentation ... image.html
crisot
Messages : 98
Inscription : lun. 30/août/2004 21:03

Re: Démo "Dog"

Message par crisot »

Adapter son code aux résolutions c'est quand même le minimum syndical. Y'a beaucoup de gens qui utilisent des portables en 1366x768 et de l'autre côté les moniteurs 3860x2160 ne manquent pas non plus.
Répondre