Revenir à Développement

AmiDARK Engine Rel0.8 Wip : FX2D part 1 : Fake Rasters

Forums AmigaOS, MorphOS et AROS Développement AmiDARK Engine Rel0.8 Wip : FX2D part 1 : Fake Rasters

5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #177516
    AmiDARK
    Participant
    • Messages : 2895

    Bonsoir à tous.

    Maintenant que le plugin est bien *commencé* je peux en parler.

    Comme vous le savez, l’objectif de l’AmiDARK Engine, sera de fournir à peu de choses près, les mêmes commandes BASIC que DarkBASIC Professional ou DarkGDK, pour créer des jeux 2D et 3D sur Amiga New Generation.

    L’AmiDARK Engine, au cours de son développement verra donc, tout comme DarkBASIC Professional et DarkGDK, des *plugins* additionnels se greffer au moteur de jeu pour ajouter au jeu de commandes originales, des jeux de commandes qui n’existent pas dans les versions initiales de DarkBASIC Professional & DarkGDK sur PC.

    J’ai donc initié ce principe, pendant les finitions de cette version 0.8, en commençant le plugin nommé FX2D.

    Ce plugin contiendra donc, plusieurs commandes qui permettront de faire des effets spéciaux en 2D.

    Pour l’instant, ce plugin FX2D ne contient qu’un seul jeu de commande qui s’appelle « Fake Raster »… J’en vois déjà certains se lécher les babines en se disant … Raster … Copper … Ce sont des effets de couleurs ? Et bien je répondrai un grand « OUI »… Cependant, les limitations ne sont pas les mêmes que sur nos anciens Amiga OS 1.x à 3.x sur ECS, AGA, etc.

    Ce système de raster ne s’applique que sur la couleur de fond. On ne peux pas l’appliquer à des couleurs différentes mais seulement à la couleur de fond.

    On peut créer jusqu’à 16 effets rasters dont l’affichage peut être contrôlé par un filtre qui permet différents types de superpositions des rasters.

    Cependant, avec les couches ALPHA dans nos textures et images, on peut créer des intégrations bien plus souples et fluides que ce que l’on pouvait sur nos Amiga Classiques.

    Voici donc, le jeu de fonctions actuels pour ces effets Raster :

    FXCreateFakeRaster( RasterID, HeightInPixels )
    FXCreateFakeRasterEx( RasterID, HeightInPixels, FilterMODE )
    FXCreateFakeRasterExé( RasterID, HeightInPixels, FilterMODE, YPosition )
    FXDeleteRaster( RasterID )

    FXSetRasterLine( RasterID, YLine, RGBColor )
    FXSetRasterGradient( RasterID, StartYLine, StartRGBColor, EndYLine, EndRGBColor )
    FXSetRasterY( RasterID, YPosition )
    FXUpdateRaster( RasterID )
    FXSetRasterFilter( RasterID, FilterMODE )
    FXSetRasterFromMemblock( MemblockID, RasterID )
    FXMakeMemblockFromRaster( RasterID, MemblockID )
    FXHideRaster( RasterID )
    FXShowRaster(RasterID )
    FXDisableRasters()
    FXEnableRasters()

    =FXRasterExist( RasterID )
    =FXGetRasterLine( RasterID, YLine )
    =FXGetRasterY( RasterID )
    =FXGetRasterHeight( RasterID )
    =FXIsRasterUpdated( RasterID )

    Actuellement ce plugin contient 20 commandes liés aux « Fake Raster ».
    Cependant d’autres commandes sont prévues pour d’autres effets…

    La seule question qui reste actuellement en suspens sera le status de ce plugin … Sera t-il intégré par défaut dans le moteur de jeu en tant que Bonus ou … Sera t-il fourni .. A part… Aucune décision n’est prise pour l’instant.

    Voici avec ce message un petit *shot* de la démonstration crée en l’honneur de ce nouveau plugin. Il montre l’effet en cours d’utilisation dans l’AmiDARK Engine.

    Et surtout, remarquez combien le code source pour réaliser cette démonstration (effet inclut) est court :


    #!!include!! "libamidark.h"
    void DarkLoop( void ){
    // On définit l'affichage.
    DESetDisplayMode( 640, 400, 32 );
    DESyncOn();
    DESyncRate( 60 );
    // On charge l'image à afficher au 1er plan.
    DELoadImageEx( "Medias/Environment.png", 1, 1 );
    // On crée un nouvel effet raster et on défini les dégradés de couleur.
    FXCreateFakeRaster( 1, 256 );
    FXSetRasterGradient( 1, 0, DERgb( 32, 32, 64 ), 128, DERgb( 128, 64, 128 ) );
    FXSetRasterGradient( 1, 128, DERgb( 128, 64, 128 ), 255, DERgb( 255, 255, 255 ) );
    FXUpdateRaster( 1 ); // On finalize le raster pour qu'il soit visible.
    // Boucle principale de la démonstration.
    while( !DELoop() ){
    DECls();
    DEPasteImageEx( 1, 0, 0, 1 );
    DESync(); // Les effets raster sont mis à jour à la synchro automatiquement.
    }
    }

    Vous pouvez vous demander …. Mais où est l’effet en fait ?
    Voici aussi un *shot* (le 2nd) qui vous montre la différence sans/avec.

    EDIT : Un troisième shot a été ajouté.
    Il montre la nouvelle « démonstration technique » qui sera disponible dans la version 0.8 de l’AmiDARK Engine.

    @+.

    #177530
    Anonyme
    • Messages : 4096

    C’est chouette mec, mille bravos !!!

    #177532
    serge
    Participant
    • Messages : 4277

    Ouais !!! je dirais même plus, c’est méga super chouette. Ça a un goût d’émotions enfouies qui remontent à la surface 🙂

    Le Vampire est à la mode 😉

    #177533
    JaY
    Participant
    • Messages : 1506

    J’admire tout le boulot que tu fais sur ton AmiDark Engine. Dommage que tout cela ne soit que pour NG sinon je m’y serais volontiers plongé un petit peu plus 😉

    CBM A1200:
    Blizzard1260/96Mhz,128Mo(40ns),Indivision, HD80Go,WifiPcmcia. ... Merci hivernaal et l'A.R.T (Amiga Rescue Team) pour ma CD32 !!

    #177537
    AmiDARK
    Participant
    • Messages : 2895

    Merci pour vos commentaires 🙂

    En attendant que je mette en ligne la version 0.8, j’ai mis la démo en boite et je vous la fournit en test :
    http://files.amidark-engine.com/Rel0.8/RasterDemo.lha
    ( Warning : AmigaOS4 + MiniGL required )

    Have fun 🙂
    @+

5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.

Forums AmigaOS, MorphOS et AROS Développement AmiDARK Engine Rel0.8 Wip : FX2D part 1 : Fake Rasters

Do NOT follow this link or you will be banned from the site!