Expériences graphiques avec Warp3D
15 sujets de 1 à 15 (sur un total de 18)
- 1
- 2
-
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
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
et c’est sous morphos ou amiga os ?
bref bonheur bravo bravo
a bientot ?
steff
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
Bravo !
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.Une bonne nouvelle ça
C’est uniquement 68K ou une version PPC OS4/MOS est prévue ?
Merci !
Abonnez-vous à ma nouvelle chronique "En Route vers le Futur" sur Youtube !
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;
}
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
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.
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
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)
- 1
- 2
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Création › Expériences graphiques avec Warp3D