Revenir à Création

Expériences graphiques avec Warp3D

Forums AmigaOS, MorphOS et AROS Création Expériences graphiques avec Warp3D

15 sujets de 1 à 15 (sur un total de 18)
  • Auteur
    Messages
  • #10256
    thellier
    Participant
    • Messages : 614

    Hello

    Là je développe un petit moteur 3D nommé Microbe3D (et quoique cela soit très loin d’être finalisé) je voulais vous faire profiter des effets graphiques COOL qu’il permet déjà

    Et ca utilise Warp3D directement sans MiniGL :-)

    http://thellier.free.fr/microbe3d.zip

    http://thellier.free.fr/teapot.jpg

    Ca charge des objets 3D .OBJ (Wawefront) + textures .BMP que vous pouvez créer avec Blender par exemple

    Parmi les effets les plus coolissime (activable par des touches dans cette démo):

    « C » qui fait un mappage de cube d’environnement en temps réel (aspect mirroir) (pour porsche.obj et teapot.obj)

    http://thellier.free.fr/porsche.jpg

    http://thellier.free.fr/teapot.jpg

    « T » qui fait un toon shader (rendu BD non réaliste)

    http://thellier.free.fr/cow.jpg

    Les matériaux multiples y compris transparents à voir avec teapot.obj

    « M » change de matériaux

    « g » change de group

    « G » affecte le mat à ce groupe

    « l » qui déplace la lampe

    « – » « + » qui smoothe les normales

    « p » qui change de primitive de tracage

    « v » « V » qui réduit le nombre de points

    « k » qui réduit le nombre de points d’une meilleure façon

    « K » qui réduit le nombre de normales

    « x » « y » « z » pour la rotation

    « * » « % » pour la taille

    Voir dans options.txt toutes les touches possibles

    Alain Thellier

    #157092
    stefff285
    Participant
    • Messages : 1058

    ouaaaaaaaaaaa c’est bon ca !

    pour des demos ca serait top niveau

    ca te dit de faire du demomaking ?

    on est un bande de foufous si ca te dit

    http://vitalmotion.eu

    et c’est sous morphos ou amiga os ?

    bref bonheur bravo bravo

    a bientot ?

    steff

    #157093
    thellier
    Participant
    • Messages : 614

    Hello

    MERCI

    J’ai pas trop le temps de faire des démos; déjà je programme sur mon temps libre…

    Dès que mon Microbe3D sera une microbe3D.library fonctionnelle alors faire une démo à base d’objets 3D sera à la portée de tous ;-)

    >et c’est sous morphos ou amiga os ?

    C’est pour AmigaOS3 68k et OS4 ppc

    La version os4 est trop lente car y a un problème: j’arrive pas à utiliser W3D_DrawArray & W3D_InterleavedArray

    Alain

    #157094
    Anonyme
    • Messages : 4096

    Bravo !

    #157095
    tito
    Participant
    • Messages : 208

    excellent

    Partage de photos entre amis : les réseaux sociaux trop risqués ? les envois par email aléatoires ? le Cloud compliqué ? ---
    Essayez album.zaclys.com ! ---
    Association loi 1901, 100% made & hosted in France.

    #157096
    kioniro
    Participant
    • Messages : 701

    ça claque !

    Ma config : Amiga CD32 nue, c'est un super joujou pour rester dans le monde de l'Amiga 🙂

    #157097
    Screetch
    Participant
    • Messages : 3591

    Une bonne nouvelle ça :)

    C’est uniquement 68K ou une version PPC OS4/MOS est prévue ?

    Merci !

    #157098
    thellier
    Participant
    • Messages : 614

    Hello

    La version 68k et la version ppc sont incluses

    Alain

    #157099
    krabob
    Participant
    • Messages : 1170

    jolies normales bien gérées sur la théière.

    Mais je croyais que warp3d était en fin de course et qu’on allait passer à du mesa/gallium… dés lors quel besoin de faire une nouvelle api ? (même si c’est toujours amusant de faire une api 3D)

    #157100
    thellier
    Participant
    • Messages : 614

    Hello

    >jolies normales bien gérées sur la théière.

    MERCI

    C’est de cet effet mirroir dont je suis le plus fier :-)

    >quel besoin de faire une nouvelle api ?

    Car là c’est une API vraiment de haut niveau:

    on charge un objet de Blender avec UNE fonction

    et on démarre un prog avec seulement qques fonctions

    Alain

    /*======================================*/

    int main(int argc, char *argv[])

    {

    void *Scene;

    void *Object;

    void *Instance;

    #ifdef OS3

    #define DEMOTITLE « Microbe3D Demo – OS3 68k »

    #endif

    #ifdef OS4

    #define DEMOTITLE « Microbe3D Demo – OS4 ppc »

    #endif

    #ifdef __AROS__

    #define DEMOTITLE « Microbe3D Demo – Aros « 

    #endif

    Scene =U3D_EasyOpenScene(DEMOTITLE,480,480);

    Object=U3D_ReadOBJ(Scene,NULL);

    if (Object==NULL)

    goto panic;

    Instance=U3D_AddInstance(Object);

    while(U3D_KeyEdit(Scene))

    {

    U3D_DrawScene(Scene);

    }

    panic:

    U3D_Delete(Scene);

    return 0;

    }

    #157101
    sinisrus
    Participant
    • Messages : 2316

    c’est top vivement de bon pilote 3d pour en profité pleinnement

    #157102
    davebraco
    Participant
    • Messages : 312

    @thellier

    Un petit défi lancé aux programmeurs :

    http://hdrlab.org.nz/projects/amiga-os-4-projects/c3d/

    C’est pas vraiment de la 3D mais c’est de la 3D :-?

    #157103
    Yomgui
    Participant
    • Messages : 1589

    Si j’ai bien compris, on utilise le CPU pour fabriquer une/des textures qui avec des coordonées bien choisies pour le mapping (rectangle) font « croire » à de la 3D (par déformation).

    Soit un calcul de transformée affine (pour faire simple…ou pas).

    Le GPU n’est utilisé que pour son « blitting ».

    C’est très sympas pour ceux qui veulent apprendre la 3D en passant par les concepts mathématiques, mais c’est évidement complètement inutile dans un cas pratique, vu que les cartes graphiques font tout le boulot maintenant. Donc cela reste qu’un travail pour études. Pas vraiment un grand défis.

    #157104
    thellier
    Participant
    • Messages : 614

    Pas exactement…

    J’ai pas encore lu les sources mais je crois qu’on peut tracer des triangles quelconques

    Donc ça revient à tracer l’image 3D « à plat » en 2D avec des triangles texturés (avec correction de perspective quand même)

    En fait c’est pareil que warp3D mais en encore plus rustique car y a pas le zbuffer.

    Certainement qu’on doit pouvoir tracer des trucs ainsi …. mais l’intéret est limité car warp3D fait pareil et mieux…

    Alain

    #157105
    thellier
    Participant
    • Messages : 614

    Hello

    J’ai regardé les sources de la Composite3D-Demo

    Voilà l’essentiel à savoir (ça marche sensiblement comme le W3D_DrawArray de Warp3D):

    struct Vertex3D {

    float x, y;

    float s, t, w; /* = u v w */

    };

    #define NUMTRI 1000

    vertexArray Vertex3D[NUMTRI*3];

    compErr = IGraphics->CompositeTags(blendMode,

    texBM, renderBuffer,

    COMPTAG_VertexArray, vertexArray,

    COMPTAG_VertexFormat, COMPVF_STW0_Present,

    COMPTAG_NumTriangles, NUMTRI,

    COMPTAG_SrcAlpha, alphaBlendFP,

    COMPTAG_Flags, COMPFLAG_IgnoreDestAlpha |

    COMPFLAG_HardwareOnly | COMPFLAG_SrcFilter,

    TAG_DONE

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

Forums AmigaOS, MorphOS et AROS Création Expériences graphiques avec Warp3D

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