Résultats 3D avec Hollywood

15 sujets de 1 à 15 (sur un total de 15)

  • Anonyme

      #9182

      Ah!

      Voila les petits exécutables:

      http://jeannoel.roueste.free.fr/Amiga/starship6800x0.exe

      http://jeannoel.roueste.free.fr/Amiga/starshipAOS4.exe

      http://jeannoel.roueste.free.fr/Amiga/starshipMorphos.exe

      http://jeannoel.roueste.free.fr/Amiga/starshipWarpos.exe

      Et la source (attention, j’y ai rien expliqué encore, j’en referai 1 plus tard avec explications ;-) )

      http://jeannoel.roueste.free.fr/Amiga/starship3d4.hws

      J’explique un peux quand même, j’ai donc travaillé qu’avec des tableaux et tableau multi dimensionnel, du trie, j’ai ajouter le calcule zmoyen pour chaque triangle (sa me sert d’adresse dans les tableaux pour les coordonnées en X et Y), après le bordel dans le code, j’ai tous rassemblé dans les boucles et éliminé celles qui ne servais à rien… il reste plus que 5 boucles (sur la dizaine que j’avais mis lol)

      Et je maitrise pas encore les accés mémoire, mais le but est de remplacé les tableaux par les accès direct mémoire (normalement avec hollywood on peut) et j’espère que se sera plus rapide.

      Y’a un peut (bon ok, beaucoup) de clipping, mais c’est parce que j’utilise pas le Zbuffer et mon trie est plutôt simpliste, a modifier.

      Par contre, il y a une distortion sur la rotation, mais je sais pas d’ou sa vient (faut encore que je cherche), petit plus, l’objet suis le pointeur de la souris ;-) (c’est nul mais sa m’éclate lol)

      Amusez-vous bien avec mon code, et si vous avez des questions, biper moi

      Edit: J’oublier, vous pouvez me faire un ti retour sur la vitesse, les bugs et tout le toutim (à tester sur sam460 comme sa on voi si hollywood est compatible ;-) )

      Respect

      sinisrus

        #140926

        je vien de tester sou winuae c’est pas mal ça suis la souris (le vaisseau suis la souris) sinon ça tourne à 6 fps et tu à inversé le zoom avant avec le zoom arrière sinon c’est pas mal du tout

        Tarzin

          #140927

          pas encore essayé mais je vois que tu progresses vitesse grand V

          le vaisseau suis la souris

          Est-ce que l’idéée viendrait d’un truc que je t’ai envoyé.. ;-)

          Anonyme

            #140928

            @Tarzin : Oui lol


            @sinisrus
            : 6Fps??!!… snif…

            Au fait, se code est facilement transcriptible en Amos (Rappel, pour le moteur, je suis parti d’un code sur amiga dream d’un cube 3D). Donc les pro du amos, allez-y, éclatez-vous ;-)

            Je retravaille dessus ;-)

            Tarzin

              #140929

              :-D

              Bon, 2 images par seconde en émulation 68k

              et 45/48 images par seconde en version Win32

              J’ai regardé ton code et fais une recherche pour ça

              AZ=AZ-1

              Il me semble avoir vu passer une astuce sur la ML ou sur le forum qui permettait d’accélérer cette opération par un autre moyen.

              Anonyme

                #140930

                Oui, c’est la commande sub()

                ;-) j’ai modifié, nouveaux PRG à télécharger à la même adresse

                Tarzin

                  #140931

                  oui, il y a inc et dec, sub mais il me semble avoir vu une astuce tordue qui faisait gagner du temps machine sur l’opération.

                  Anonyme

                    #140932

                    Ah! la tu m’intéresse ;-)

                    Alex a regardé un peux mon code, il l’a un peux optimiser, je gagne un peux de FPS… balaise le p’tit alex, il y connais rien en langage hollywood et il a su optimiser mon code…

                    Quand je dis qu’on a des dev de talents et que l’on sait pas les exploité… j’ai pas si tort car déjà si il arrive un optimiser un code d’un langage qu’il connait pas… Imagine se qu’il peut faire avec un langage qu’il connait lol?

                    Imagine une équipe de dév avec Crisot, Alex, fab1, henes,thellier,huno… mouarfff… starcraft 3 sur ANG C’EST POSSIBLE ;-)

                    Et pi nous 3, citron toi et moi faire des tetris 2D pour ANG en 3 couleur lol ou alors les menus des jeux que font l’équipe de dev du dessus… si la musique c’est de l’electro, je travail avec soundsquare.

                    Respect

                    Moi je dis « Sa claque »

                    Anonyme

                      #140933

                      TROUVEEEEE

                      Et en équipe svp ;-)

                      voici les liens:

                      http://jeannoel.roueste.free.fr/Amiga/starship6800x0.exe

                      http://jeannoel.roueste.free.fr/Amiga/starshipAOS4.exe

                      http://jeannoel.roueste.free.fr/Amiga/starshipMorphos.exe

                      http://jeannoel.roueste.free.fr/Amiga/starshipWarpos.exe

                      Normalement c’est beaucoup plus rapide ;-)

                      Voici le code:

                      http://jeannoel.roueste.free.fr/Amiga/starship3d4.hws

                      Va falloir que j’explique un de ses 4 dans la source, car sa devient un peux incompréhensible ;-)

                      Merci Alex


                      @Tarzin
                      : je cherche sur le forum english d’hollywood, toute optimisation et bonne à prendre ;-)

                      T’inkiète, je suis tjrs sur ton moteur ;-) (t’a remarqué, un vrai chien, je lache rien lol)

                      Respect

                      Tarzin

                        #140934

                        J’ai retrouvé. J’espère que ça pourra t’aider:

                        A year or two ago I wrote a mail with some tricks that would reduce the execution time of your code in Hollywood. The subject interests me, and I keep looking for improvements of this type.

                        While looking at ways of optimizing the code in one of my programs I did a small test on some appearently straightforward code that surely must be in use in many places. To my surprise a change in this simple code gave a considerable speed increase. The test was made on a 733MHz SAM-Flex.

                        I use the code for managing the movement of a cursor in a textbox, but similar code can be found in games where an object is moved this or that way depending on a condition. In the example I have just used the value True to represent the test.

                        My testexample ran as follows

                        starttimer(1)

                        for i=1 to 100000

                        if true

                        v=v+1

                        else

                        v=v-1

                        endif

                        next

                        nprint(gettimer(1),v)

                        waitleftmouse

                        end

                        This example returns a timer value of about 1000. It hardly matters whether the condition is true or false. The result is close to 1000 in both cases.

                        It is well known, that changing variables into local variables will speed up things. If I add the line…

                        Local i,v=0,0

                        …the time returned is about 875. No surprises there, and you probably do this all the time as recommended in the manual.

                        Now replace this code:

                        if true

                        v=v+1

                        else

                        v=v-1

                        endif

                        with this code:

                        v=v+1

                        if True Then v=v-2

                        …and suddenly the timer returns about 660. Again it matters little whether the condition returns True or False. Cutting 25% from the execution time is not bad. The basic trick is to always set one of the two outcomes (as a default) and then use the simpler If/Then construction instead of If/Then/Else to modify the outcome if the condition is true.

                        Another observation is that code seems to execute faster when run from a window than if using full-screen mode. It is just a few percent and consistent no matter which window size you use – even if you set the window to the same as the full screen size (1920×1200 in my case). I added a Wait(100) statement before starting the timer and running the test loop. So the screen setup should not be a factor as far as I can see. If I don’t do this it does affect the result.

                        regards

                        Jesper

                        thellier

                          #140935

                          Salut

                          Tu devrais calculer ton A au debut juste apres avoir recupere tes u[ ] et ne faire les autres calculs que si le test sur A est realise

                          Aussi faudrait pouvoir trier un tableau a plusieurs colonnes:

                          1er champ = z

                          2eme champ = numero de son triangle

                          ainsi ca eviterait cette horrible double boucle

                          Alain

                          Brumiga

                            #140936

                            @Artblink,

                            Une petite remarque, les 4 exécutables que tu obtiens avec hollywood n’ont jamais l’attribut exécutable alors qu’ils ont bien les 3 autres attributs, lecture, écriture et effacement. Essaye de corriger ce petit problème quand tu sortiras une nouvelle version.

                            Brumiga

                            Anonyme

                              #140937

                              @brumiga: désolé, je comprend pas… snif!!!

                              Comment on fait?

                              Pour le moteur, hum!!! pourquoi sa rame? parceque je suis un nazebruck lol

                              Mon script timing est encore sur mon temps de test… je vous déconseil le

                              setinterval (1,nom de la fonction,1)

                              Sa rame lol (à rien y comprendre) le mieux pour la 3D c’est:

                              setinterval (1,nom de la fonction,1000/50); 50 images par seconde

                              Sa marche mieux :-P lol

                              Pareil, artblink est une chèvre (je fais bien le chocolat tchouk tchouk, recette bientôt)

                              J’ai uploader mes nouveaux fichiers d’hier dans le mauvais répertoire, vous avez eux les même depuis le 21.12.2010 lol

                              La c’est all good… attention, je tourne sur mon PC à 450 FPS lol, donc la, sa va tourner sur nos amiga ;-) (attention, le FPS, c’est mon calcule, il est sûrement pas bon, car a 450 FPS, moi je développe starcraft 3 sur PC ;-) )

                              La différence de vitesse risque d’être énorme car tous mes uploads n’ont pas été fais depuis le 21, et en 3 jours avec alex et thellier et tarzin, le brainstorming à porter ses fruits

                              Merci aux acteurs, ils m’ont permis d’avoir une autre approche…

                              @ Thellier: good, je tente, je crois savoir se que tu essai de me dire, je dois précalculer une position de départ pour l’objet 3D et mettre (avec des variables global) des fonctions de calcule dans mes function Haut,Bas etc…

                              J’essai de faire un loader d’objet .geo, si t’a d’autres objet, tu pourrais me les passer ;-)

                              T’avais raison, pour la texturisation, sur mon PC, quand j’utilise la technique lecture pixel/calcule/écriture pixel je tourne a … hum … 2 FPS… ptdr

                              Respect

                              Anonyme

                                #140938

                                J’ai trouvé comment améliorer le jeux de lumière, je conseil l’utilisation des tableaux pour optimiser vos programmes Hollywood, au lieu de faire des test, indiqué les valeurs a tester comme index du tableau, et à côtés des index, les valeurs pour une variable, sa elimine définivitement les IF..Endif (gain de temp ;-) )

                                N’oubliez pas que l’index d’un tableau avec hollywood n’est pas limité qu’aux chiffres entier et positif, l’index peut être des mots, des nombres négatif, à virgule…

                                J’ai uploader la nouvelle version… j’ai éliminer 10 test If à faire dans une boucle de 170 à chaque traçage de l’objet grâce à un petit tableaux de 10 valeurs ;-)


                                @Thellier
                                :

                                J’ai modifié comme tu m’as dis… logique, bin oui, pourquoi calculer les coordonnées des triangles qui ne seront pas affiché… bien joué ;-)

                                Je pense avoir bien fignoler le truc, je me lance dans la texturisation

                                Respect

                                Anonyme

                                  #140939

                                  Nouvelle mise à jour:

                                  Code et commentaires revu et corrigé par Mr Thellier himself

                                  Les exécutables sont OK

                                  Le code source est maintenant ok avec commentaires OK

                                  Amusez-vous bien ;-)

                                  Respect

                                15 sujets de 1 à 15 (sur un total de 15)

                                • Vous devez être connecté pour répondre à ce sujet.

                                Forums AmigaOS, MorphOS et AROS Développement Résultats 3D avec Hollywood

                                Amiga Impact