English version Version Française

TOUTES LES COPIES D'ECRANS VIENNENT DE WAZP3D/WINUAE
 
Short: La bibliothèque Wazp3D est une réimplémentation logicielle de Warp3D 
Author:  thellier@free.fr (Alain Thellier)
Uploader:  thellier@free.fr
Type:  driver/video
Replace: driver/video/Wazp3D 
Version:  beta 49 (Decembre 2010)
Requires:  RTG system,68020-40,fpu
Architecture: m68k-amigaos >= 3.0.0;
http://aminet.net/package/driver/video/Wazp3D

 

DESOLE CETTE PAGE N EST PLUS A JOUR : ALLEZ SUR LA PAGE EN ANGLAIS POUR LES MISES A JOUR
English version
 



CoW3D-2 demontrant un BlendMode avancé

DESCRIPTION
Wazp3D: Alain THELLIER - Paris - FRANCE
Wazp3D est une bibliothèque conçue pour être compatible avec la célèbre Warp3D.library pour AmigaOS 68040

AmiDark est un moteur de jeu pour AmigaOS4 (Copie d'écran de Wazp3D/Sam440)

(GL) 117 est un simulateur de vol qui avec Wazp3D marche à 95%

LICENSE
GNU General Public License (GNU GPL)

PRICIPALES CARACTERISTIQUES
o Compatible avec la célèbre Warp3D.library pour AmigaOS 68040
o Compatible StormMesa (installation des bibliothèques StormMesa nécessaire)
o Compatible MiniGL
o Les 97 fonctions de la dernière Warp3D.library v5 sont présentes :-)
o Sources incluses  (... ainsi Wazp3D a été porté sur AROS)
o Logiciels seulement (= lent): pas besoin d'avoir du hardware 3D
o Marche dans UAE peut donc servir à tester vos logiciels 3D dans UAE
o Wazp3D peut mentir et faire semblant d'avoir un "Parfait Pilote Hardware" ainsi les logiciels 3D ne bloqueront pas en manquant d'une fonctionnalité.
o Documentation complète et FAQ sur http://thellier.free.fr/Wazp3D_francais.htm
o Contrairement à QuarkTex vous pouvez exécuter plusieurs applications Warp3D simultanément
o Débogueur intégré
o Programme Demo http://aminet.net/package/dev/src/StarShip pour tester Wazp3D (librairies StormMesa nécessaires)
 
 


glSokoban

GLeXcess pour OS3 (a besoin de stormmesa) Use ColoringGL + Simu Perspective

INSTALLATION
Si t'utilise pas  WinUAE mais un vrai Amiga 68k OS3 ou un autre émulateur alors fais juste
  copy Wazp3D.library-full TO LIBS:Warp3D.library

Si t'utilise un un vrai Amiga PPC OS4
  copy Wazp3D.library-ppc  TO LIBS:Warp3D.library

Si t'utilise  WinUAE
  copy Wazp3D.library-winuae TO LIBS:Warp3D.library
  copy soft3d.library TO LIBS:soft3d.library
  et coté PC  copier la soft3d.dll dans le répertoire de WinUAE

Attention: les minuscules/majuscules sont importantes pour les libraries

HISTORIQUE
Wazp3D a d'abord été créé pour tester la Carte 3D de "Tales of Tamar"  dans WinUAE.
Je n'ai plus le temps pour travailler sur ce projet Wazp3D. Donc je diffuse la bibliothèque et les sources
 


Carte 3D de "Tales of Tamar"


AlyBox un des jeux qui fonctionne et est jouable dans WinUAE/Wazp3D


Blitzquake en hardware dans WinUAE qui utilise Wazp3D->OpenGL32.DLL
On apprécie  le filtrage et l'anticrénelage (filtering & antialiasing) sur les pixels proches (sol,munitions)
 
VERSIONS  HISTORY

Changes from previous version

Beta 49
o Bugs corrigées sur des pointeurs (peuvent avoir causés des plantages). 
  W3D_SetBlendMode() est parfaitement émulé 
  Quelques optimisations: ainsi tracer un objet juste texturé (CoW3D) sur un écran 32 bits est plus rapide. Etc...
o Nouvelle Wazp3D.library-ppc (portée sur Amiga 0S4 PPC). Très lente sert juste à débogger des programmes OS4-Warp3D 
  (Testés qui marchent : Cube, AmiDark engine, Feather demo, TuxKart, GlGlobe, Glsmoke, etc...)
o Sur une machine OS4 la nouvelle Wazp3D.library-ppc peut être utilisée depuis de vieux programme 68k (=compatibilité 68k ascendante)
o L' option Renderer "hard" est plus rapide  (Warning: This option still ONLY works on 32 bits BGRA)
o Warp3D V5 est implémentée (mais compilée seulement dans la Wazp3D.library-ppc) donc compatible avec le dernier MiniGL
o Sources AROS vers OpenGL(Mesa) inclues mais pas encore compilées (voir soft3d_opengl.c & build-PPC.sh)
o Nouveau Wazp3D-Prefs réécrit de manière plus propre pour l'OS
o Le jeu "I have no tomatoes" marche désormais (désactiver l' option "Hack RGB/RGBA/ARGB texs")
o Nettoyage des sources qui peuvent servir de base pour écrire sa propre .library ou .DLL

Beta 48
o Bugs corrigées:  points ayant une mauvaise couleur (Blitzquake) + faces cashées(culling) étaient par défaut à CW (CoW3D) + Valeur fausse pour vider le Zbuffer (WarpTest)
o Commence à supporter OPENGL32.DLL : Comme QuarkTex le dernier Wazp3D/WinUAE est accéléré en hardware :-)
   On peut ainsi choisir dans  Wazp3D-Prefs le rendu (Renderer)  soft ou hard (alors utilise OpenGL en hardware)
   Grands mercis à l'Auteur de QuarkTex  & à l'équipe de WinUAE pour leur sources qui m'ont été si utiles


GLeXcess pour OS3 (a besoin de StormMesa) en hardware dans WinUAE qui utilise Wazp3D->OpenGL32.DLL
On apprécie  le filtrage et l'anticrénelage (filtering & antialiasing) sur les pixels proches (halo,éclats)
 

Beta 47
o Nouvelle soft3d.dll native et rapide pour WinUAE ainsi tout les tracés sont faits par le X86
o la perspective marche dans Quake (ainsi Blitzquake est presque parfait
o L'option "DoMipmaps" marche enfin  (utilise plus de mémoire)
o Simple Filtrage-Lineaire (boggé et lent)
o StateTracker: Si les States ne changent pas alors continue le traçage
  (option inactivé si Wazp3D-Prefs est ouvert)
o Wazp3d-Prefs est améliorée

Beta 46   (pas distribuée)
o PayBack, ApoolGL, TiltNRoll marchent désormais :-)
o Tout les BlendModes (effets des transparence) sont implémenté ainsi W3D_SetBlendMode() est 100% émulé maintenant
  meilleure émulation des transparences de GLeXcess,GlTron...
o L'option "Directly draw in Bitmap" (defaut) supporte désormais les modes 15/16/24/32bits

Beta 45.6 (distribuée avec AROS)
o corrige une bogue fatale de la version 45.5 (SC=NULL)
o recompilée pour 68020/68040 68881 pour AmiKit

Beta 45.5 (pas distribuée)
o GLeXcess pour OS3 marche presque parfaitement :-) (implémente quelques nouveaux BlendModes  )


PayBack marche en Beta47 ColoringGL + Simu Perspective
 
 

Beta 45
o Zbuffer émulé à 100% (toutes les fonctions Zbuffer et tout les ZCompareModes sont implémentés)
    (Ainsi on peut faire du texturage en plusieurs passes :
    BlitzQuake est bien plus beau désormais avec l'option lightmaps.
    Maintenant la Demo Mesa  UnderWater marche aussi)
o Supporte de grandes tailles de texture > 256x256 (GnuJump utilise du 1024x1024)
o Le redimensionnement de fenêtre marche dans tout les cas et sans planter
o Divers: La bug de la Demo Mesa texcyl est corrigée.Les TexEnvMode/BlendMode sont mieux gérés et émulés. Skulpt remarche. L'affichage des FPS marche parfaitement


la Demo Mesa  UnderWater en beta45 est une animation qui se sert du texturage en plusieurs passes

Beta 44
o Nouvelle Option "Simu Perspective" qui simule la perspective des textures avec deux approximations (quadratic) par raster
o Ainsi des Jeux/Demos en perspective marchent parfaitement désormais (GLtron, Warp3D's Engine,etc..)
o Le jeu GnuJump(SDLJump) marche
o Nombreux hits et bizarreries StormMesa corrigées (Merci à Kas1e, Bernd Roesch, Matthey, Wawa pour les rapports de bugs)
o Des  bugs corrigés aussi pour le TexMode&ColorMode courant relativement auxW3D_SetState (Grands Mercis à Kas1e)
o Zbuffer et Fog utilisent des float désormais
o Nouvelles options du Debugger:
    Debug Adresses (adresses mémoires des fonctions Warp3D)
    Debug as JSR (affiche les appels Warp3D comme des JSR assembleur)
    Step DrawPoly (Pause après avoir tracé un polygone)
 


BeastieWorker(AmiBeastie) un programme très lent


GnuJump(SDL Jump) utilise de grandes textures de 1024x1024
 

Beta 41
o Améliorations sur BlitzQuake (halo des lampes, menus)
o Coloriage additif qui émule W3D_SetBlendMode(context,W3D_ONE,W3D_ONE)
o "Directly draw in Bitmap"  marche mieux . A utiliser pour mieux émuler StormMesa sur écran 32 bits (le redimensionnement de fenêtre marche aussi).
o GlTron marche mais distordu.
o "Smooth Textures" marche bien maintenant
o Coloriage plus malin (ne colorie pas en blanc,ne fait du gouraud qu'avec des couleurs différentes) : Plus rapide pour le coloriage simple, fondu au noir, etc...
o Le texenvmode par défault est W3D_MODULATE  (comme OpenGL)
o Moins de distorsion de texture
o Deux nouvelles options sont totalement implémentées "Do MipMaps" & "True Perspective" mais marchent pas  :-(
o Skulpt marche plus :-(

Beta 40
o Quake maintenant MARCHE  :-) (BlitzQuake d' Aminet)
o Corrige une bug de l'implementation MiniGL de DrawArray/DrawElements  (D3GNOP,Quake,...)
o TexEnvMode totalement implémenté (W3D_REPLACE/W3D_MODULATE/W3D_DECAL/W3D_BLEND)
o Nouvelles Options "Use Coloring GL" "Use Ratio Alpha" "Use AlphaMin&Max" "Debug Tex Number" "Use Quake Patch"
o Brouillard(Fog) semble marcher maintenant

Beta 39
o Nouvelle option  "Directly draw in Bitmap" qui peut parfois être plus rapide et plus compatible
o Nouvelle option "Display FPS" qui compte les images par secondes (FPS)
o Nouveau programme demo "StarShip" à utiliser avec Wazp3D (bibliothèques StormMesa nécessaires)
o La vieille option "Only Fast RGB24" est changée en "Only TrueColor 24&32"
o La documentation complète en français sur http://thellier.free.fr/Wazp3D_français.htm
o Article sur "Obligement" http://obligement.free.fr/articles/wazp3d.php

Beta 38
o StormMesa marche :-) (près de 200 démos marchent maintenant en particulier les impressionnantes Atlantis et GlutMech démos)
o Plus compatible: certaines fonctions ont été sérieusement nettoyées et débuggées
o Nouvelle option "Dump objet" qui extrait tout comme fichier texte .OBJ / .MTL
o Nouvelle option "UpdateClearZ" pour forcer un ClearZbuffer à chaque raffraichissement (uniquement pour Enforce)
o Nouvelle option "Debug Sepia Image" qui colorie en rouge la partie faite par Wazp3D

Beta 37
o Quatre nouveaux jeux marchent maintenant: Alybox, D3gnop, Sopoblock, YAPMG :-)
o Nouvelle option "Reload Textures" pour charger un jeu de nouvelles textures (pour modifier des textures originales moches )
o Bibliothèque également compilée sans le débogueur (version plus petite)
o Nouvelle option "Hack ARGB" qui converti directement en ARVB les données textures RVBA (pour Tamar 3D) = économise la mémoire
o L'option obsolète "Clamp UV [0,0 1,0]" est supprimée (les textures sont toujours W3D_REPEAT)

Beta 36
o Plus joli et un peu plus rapide avec de nouvelles fonctions pixels optimisées
o Texture-repeat marche (Bzone)
o Option "Smooth textures"
o Plus compatible: Le brouillard ou la coloration fonctionnent maintenant sur des faces en partie transparentes (comme un arbre dans Tamar3D) = nouvelles fonctions pixels
o Brouillard fonctionne mieux (pas encore parfait)
o Nouvelles options "Use ClearImage" & "Update At UnlockHardware" pour forcer le rafraichissement pour certains programmes comme Gears (écran), Engine, sKulpt ou TheVague.

Beta 35
o Nettoyage du code et améliorations de la bibliothèque par Gunther  Nikl
o "Hack1 tex RGBA" fonctionne à nouveau (en dessinant un triangle texturé comme du Gouraud non texturé = plus rapide)
o "Hack2 tex RGBA" fonctionne à nouveau (en dessinant un triangle texturé comme une couleur plate non texturée = plus rapide)

Beta 34
o Toutes nouvelles fonctions-pixels qui permettent de rendre les textures éclairées :-) Wazp3D est devenu très jolie
o Correction d'un affreux Bogue du Tampon-pixels.
o De nouveaux bogues sont apparus :-/ Ainsi Clock-4D et d'autres Logiciels3D comme StormMesa plantent ...
o La bibliothèque est plus petite :-)

Beta 33
o La documentation complète sur http://thellier.free.fr/Wazp3D.htm
o Correction d'un affreux bogue apparu en version bêta 32 concernant la libération de mémoire ( bêta 32 ligne 644)
o Correction d'un affreux bogue dans W3D_UpdateTexSubImage
o Porté sur AROS  par Matthias Rustler
o Diverses bogues pointeur==NULL corrigées par Matthias Rustler
o Option ClampUV (si désactivée permet texture_repeat)
o Correction de perspective (la désactivation devient possible)
o Zbuffer amélioré avec ReadZSpan / WriteZSpan / etc...
o Nettoyage du code (Enléve les ULONG utilisés comme pointeurs vers la texture)
o Correction d'un bug dans GetDriverTexFmtInfo: maintenant si UseAnyTexFmt est activé il retourne SUPPORTED
o Plus compatible avec de nouveaux Logiciels3D (BattleZone, Lamintro, 4D-Clock, StormMesa exemples, etc)
o Supporte les textures rectangulaires
o Correction d'un bug dans la transparence alpha 32 bits (Si texture mais pas de Zbuffer )

Beta 32
o Plus d'avertissements à la recompilation
o Correction de perspective (Ne peut pas être désactivée)
o Ciseaux 3D (Clipper) marche
o Moins de bugs (même quelques une de fatales)
o Brouillard marche (pas parfait)
o Première version du Culling pour les faces cachées (ordre horaire/anti-horaire des faces) mais a encore des problèmes
o "Hack1 tex RVBA" dessine un triangle texturé comme du Gouraud non texturé = plus rapide
o "Hack2 tex RVBA" dessine un triangle texturé comme une couleur plate non texturée = plus rapide
o "ANTIALIAS Screen" marche (moyenne de 3x3 pixels) (lent)
o La bibliothèque est plus petite :-)
o Plus compatible avec les nouvelles Logiciels3D

Beta 31 (première diffusée)
o Nouveau suivi de l'allocation de mémoire
o Projet renommé "Wazp3D"

BOGUES CONNUES
Beaucoup de temps et de travail ont été passés à enlever les bogues de Wazp3D
Ainsi bien plus de 200 programmes marchent bien avec Wazp3D
Mais il reste quelques bogues...

o BlitzQuake : texture tordue sur le sol  (certainement due au clipping et à son usage de triangles)
o sKulpt : La fenêtre de preview n'affiche rien (Pourquoi ?)
o Payback:  n'affiche rien (Pourquoi ?)
o Enforce (game demo):  plante
o GnuJump:   hits mémoire
o GnuJump: Pixelizé car utilise de grandes textures et Wazp3D pas des plus grandes que 256x256
o MipMapping implémenté mais généralement marchant mal (sauf Sopoblock qui en bénéficie)
o BlitzQuake :  menu s'affiche mal ==> Se corrige avec l'option Use QuakePatch
o BeastieWorker personnage déformé
o BeastieWorker textes ont un fond noir
 


BlitzQuake avec la  v41 et les options Smooth Texture & Quake Patch. Bel effet de halo (Additive blending)

GLtron marche parfaitement désormais avec les options "Simu. Perspective" &  "Use ColoringGL"

 
 
 
 

4D-clock

BattleZone une  simulations de tank qui fonctionne parfaitement maintenant après la béta36 

IMPORTANT
Wazp3D n'est pas parfait, mais il a été assez bon pour moi :-)
Ce binaire Wazp3D est destiné à être utilisé dans un AmigaOS 68040 très rapide (comme un émulateur avec JIT commeWinUAE)
Ce binaire Wazp3D est compilé pour 68040-68881 (ajuster les paramètres de votre WinUAE)
Il a également besoin du "plein écran RTG" & JIT activés à la fois pour obtenir suffisamment de vitesse
(a également besoin  de PICASSO 96/cybergraphics et d'un écran RVB24)
Wazp3D n'est PAS une bidouille d'UAE et ne (devrait) pas dépendre d'une version d'UAE
Mais il a seulement besoin de beaucoup de vitesse pour son calculer les pixels
Certains Logiciels3D ont besoin d'une pile (cad ouvrir un shell taper stack 200000 puis le Logiciel3D)
pour fonctionner sans plantage (glsokoban, etc ..)

FONCTIONNALITES PRESENTES

Texturage
Zbuffer
Ombrage Gouraud
Transparence Alpha
Coloration=Mélange des Couleurs
Tous les Brouillards
Toutes les primitives
Tous les formats de coordonnées, etc ..



WarpTest la démo officielle de l'archive Warp3D  ( perspective correction & coloring)

FONCTIONNALITES MANQUANTES

Masquage par Stencil
Masquage par Couleur
Masquage par Alpha
Tramage
Mipmapping
Filtrage, etc ..

Enforce demo  marche de nouveau avec la beta 49

LOGICIELS TESTES
La plupart de ces programmes sont sur Aminet
http://aminet.net/search?readme=warp3D&arch[]=m68k-amigaos
 
LOGICIELS QUI MARCHENT  
WarpTest Marche (de l'archive Warp3D ) ( Use Simu Persp., Use ColoringGL)
Engine marche dans un écran 16 bits
("Simu Perspective" &  "Use ColoringGL" )
Sokoban marche. Un jeu ennuyeux mais très jouable avec Wazp3D :-)
(de l'archive MiniGL Warp3D ) 
(a besoin d'une grande valeur pile (stack))
Gears_68k-window
Gears_68k-small
marche (archive MiniGL)
Gears_68k(en écran) marche (archive MiniGL) 
Carte 3D de "Tales of Tamar"' (pas diffusée) marche en grande partie 
TheVague DiskMag marche Le premier DiskMag utilisant Warp3D (Use ClearImage OFF &  "Use ColoringGL")
Lamintro marche (ClearImage OFF)
4D-Clock marche (bibliothèques StormMesa nécessaires)
Petit probleme de resolution du Zbuffer 
A besoin d'une grande pile (stack)
Battlezone1.3 Marche
NeonBars marche 
(plugin 3D pour AmigaAmp il lui faut AmigaAmp qui tourne déjà)
(a besoin d'une texture appelée floor.ppm, ici chrome.ppm a été renommée en floor.ppm) 
glmatrix marche (Il lui faut OS 3.5). Economiseur d'écran façon Matrix. Utilise QuakeMatrixPatch
AlyBox marche et est jouable :-) 
Utilise MiniGL 
Il lui faut AHI d'installé
Il lui faut Lucyplay.library dans LIBS: 
Il lui faut l'emulation sonore d'activée dans WinUAE
Il lui faut l'option -forcejoy dans son script (peut marcher en fenetre  640x480)
Perspective Correction
SopoBlock
Y.A.P.M.G
d3GNOP
Marche même configuration que AlyBox
MenoBox
MenoBox Xmas
ImuBox
marche 
(bibliothèques StormMesa nécessaires) 
Earth
3D-Fraktal
RocketCar
Planet
marche 
(bibliothèques StormMesa nécessaires) 
PaperBox marche
GLDemos_Exe68K.lha 
(22 programmes de démos de StormMesa )
Atlantis,GlutMech,Texas,GlutPlane,etc...



Les Demos StormMesa comme Atlantis marchent en beta38   (+AntialiasScreen + perspective)

marche 
(bibliothèques StormMesa nécessaires) 
StMesa_Demos168K.lha
StMesa_Demos268K.lha
StMesa_Demos368K.lha
StMesa_Demos468K.lha
StMesa_Demos568K.lha
(environ 200 programmes de démos de StormMesa
marche 
(bibliothèques StormMesa nécessaires) 
BlitzQuake
http://www.quake3arena.com/games/quake/quake/index.php?game_section=demo
http://aminet.net/package/game/shoot/BlitzQuake_68k
Marche.A besoin de  "Use Quake Patch" & "Smooth Textures" & "Use Simu Persp. "
GLtron Marche.(il faut renommer certains fichiers après l'install)
GnuJump(SDLJump) Marche. A besoin de "Directly write in Bitmap","Use ColoringGL", "Smooth Textures"
BeastieWorker  (from AmiKit Addon ArtiGames) Marche.Très lent. A besoin de "Use ColoringGL", "Smooth Textures"
Skulpt68k alpha 28 (4 oct 2000) marche sauf la fenetre de preview qui a de mauvaise couleurs
(Mais seule cette ancienne version de sKulpt marche vraiment ) 
 (a besoin du datatype BMP) 
Payback demo Marche "ColoringGL", "Simu Perspective"
4DTris Marche : Petit problème de Zbuffer
GLeXcess for OS3  Marche très bien. "Use ColoringGL", "Simu Perspective" "Poly Hack More"
(bibliothèques StormMesa nécessaires)  On peut rapetisser la fenêtre pour aller plus vite
Plein Ecran: taper " setenv glut/force_fs 1 " dans un shell avant d'y lancer la démo.
Passe à la démo suivant avec espace.
TiltNRollDemo Marche . "Use ColoringGL", "Simu Perspective"
Seule la version "non threaded" marche bienl. A bseoin d'une grande pile (stack)
Seuls les niveaux testing.lvl et tough.lvl marchent. Plante à la fermeture
ApoolGL Marche masi lentement. (bibliothèques StormMesa nécessaires) 
TheVague2 DiskMag Marche parfaitement
Enforce Marche parfois en  beta49 Très instable mais marche très bien et vite (quand il marche....)
I Have No Tomatoes Marche  (désactiver l'option "Hack RGB/RGBA/ARGB texs")
OS4: Cube, AmiDark engine, Feather demo, TuxKart, GlGlobe, Glsmoke, etc.. Marchent mais très très lentement
Ports de logiciels par Wawa: 117, LodePaint,etc.. Marchent
LOGICIELS QUI MARCHENT PAS  
Quelques démos de  StormMesa Pour certaines démos ne marche qu'en partie
(bibliothèques StormMesa nécessaires) 
Car StormMesa peut aussi faire du rendu logiciel :
  • Ainsi un logiciel StormMesa peut fonctionner parfaitement mais sans utiliserWazp3D 
  • Ou utiliser Wazp3D en partie pour quelques fonctions(comme celles de lecture/écriture du Zbuffer )
  • Egalement il peut utiliser des fonctions pas implémentées dans Wazp3D comme le Stencil et donner un résultat faux ou même rien à l'écran
Mieux vaut activer "Debug Sepia Image" pour être sur que c'est bien  Wazp3D qui trace l'image 
StarShip Demo



Les Demos StormMesa comme GlutMech marchent avec la beta38   (+AntialiasScreen + perspective)
 


Plein de progs StormMesa
 
YAPMG
D3GNOP

SopoBlock
 


TheVague

The Vague (the First Warp3D based DiskMag) in windowed mode



glMatrix

BlitzQuake en b45 avec les options ColoringGL, Smooth Texture & Quake Patch. Montrant du multi-texturage  (lightmaps sur les murs)


TiltNRollDemo


ApoolGL
WAZP3D-PREFS
Wazp3D-Prefs est un outil de la bibliothèque Wazp3D qui permet de modifier certains paramètres de l'émulation .
Bouton de Wazp3D-Prefs  Description Plus compatible Plus rapide Plus Beau
HardwareDriver Lie Prétend avoir un parfait Pilote matériel qui peut faire tout parfaitement  Oui Idem  Idem
TexFmt Lie
Utilise (conversion) de tout format de textures sinon utilise seulement des textures qui sont texfmt = W3D_R8G8B8 ou W3D_R8G8B8A8 
Oui Idem Idem
Hack ARGB Converti directement les données des textures d'origine de ARVB en
RVBA 
Note: Utilise moins de mémoire que les convertir en de nouvelles textures
Non Idem Idem
Only TrueColor 24&32 N'utilise que des écrans 24 ou 32 bits Non Oui? Idem
Use Poly Hack Convertit les trifan & tristrip (5 points) en polygone car Wazp3D peut tracer de vrais polygones Non  Oui  Idem
Use Poly Hack More Idem pour 7 points
Use BGcolor Hack  Devine la couleur de fond actuelle en prenant un pixel de la bitmap  Non   Idem  Oui
Use Culling Hack Utilise l'ordre CW / CW (horaire/antihoraire) des faces afin de supprimer les faces cachées (marche pour Sokoban)  Idem  Oui Idem 
Use Fog  Utilise le Brouillard 
Note: Utilise beaucoup le processeur
Oui  Non Oui
Use Coloring Utilise la Coloration (mélange ded couleurd) avec les couleurs des points des faces ==> éclairage des textures 
Note: Utilise beaucoup le processeur
Oui Non Oui
Use ClearDrawRegion Utilise W3D_ClearDrawRegion() = Efface l'écran ou non 
Réglez-le sur OFF pour les Logiciels3D qui tracent sur tout l'écran.
Oui Non Oui
Use ClearImage  Efface le tampon interne RVBA de Wazp3D (Image écran) après le raffraichissement (update)
Réglez-le sur OFF pour les Logiciels3D qui écrivent en plusieurs fois sur le même bitmap 
Parfois Non Idem
Use Min. Update Raffraichissement Minimal : raffraichi seulement le rectangle qu'a tracé
Wazp3D
Réglez-le sur ON pour les Logiciels3D qui tracent seulement sur une partie de l'écran
Non Oui Oui
Tex as RGBA1 Hack Dessine un triangle texturé comme du Gouraud non texturé = plus rapide Non  Oui  Non
Tex as RGBA2 Hack  Dessine un triangle texturé comme une couleur plate non texturée = plus rapide Non Oui Non
AntiAlias Screen Lissage du tampon interne RVBA de Wazp3D (Image écran) fait une moyenne de 3x3 pixels
Note: Utilise vraiment beaucoup le processeur
Oui  Non Oui
Smooth Textures Lissage de toutes les textures (même effet que "ANTIALIAS
Screen" mais calculé à l'avance) 
Réglez-le sur ON pour améliorer l'aspect des pauvres textures pixelisées
Non Idem Oui
Simu. Perspective Calcule le texturage avec une perspective correcte 
Réglez-le sur ON pour les  Logiciels3D qui sont vraiment en perspective. 
Note: Utilise plus le processeur
Oui Non Oui
Directly draw in Bitmap N'alloue pas le tampon RGBA interne à Wazp3D  et utilise à la place la mémoire de la bitmap
Le raffraichissement (Update) n'est plus nécessaire ainsi le tracé 3D est parfois plus rapide.
Aussi  le tracé 3D se combine mieux avec les autres tracés de la bitmap (faits avec graphics.library) 
Attention: cette option expérimentale peut gacher l'affichage du Workbench ou même planter l'Amiga
Note: Ca marche que sur les modes écrans BGRA.
Si cette option est à ON alors Use BGcolor Hack=Use ClearImage=Use Min. Update=Update At UnlockHardware =AntiAlias Screen=Debug Sepia Image=OFF
Parfois Oui Oui

Use Coloring GL
Vrai calcul conforme à OpenGL des couleurs
Emule vraiment le TexEnvMode
(W3D_REPLACE/W3D_MODULATE/W3D_DECAL/W3D_BLEND)
Note: Utilise vraiment beaucoup le processeur
Oui Non Oui
Use Ratio Alpha Force le TexMode à 'a' si les pixels transparent texture < 20%  Non Oui Non
Use AlphaMin&Max Ignore alpha si petite (=transparente) ou grande (=solide)  Non Oui Non
Use Quake Patch Corrige une bug  BlitzQuake/MiniGL
Utile seulement pour BlitzQuake pour afficher les menus
Quake Oui Idem Quake Oui
Debug Tex Number Ecris son numéro dans la texture Non Idem Idem
Renderer soft  : draw with the CPU in current Amiga-bitmap memory

In WinUAE only can also render in hardware :
hard : draw in WinUAE's BackBuffer then do glReadPixels to the current Amiga-bitmap memory
hard(overlay) : open a double buffered sub-window inside (upside) the current WinUAE's window This mode is recommended for full-screen 3D-Progs

This hard mode works only inside WinUAE in windowed mode. Need also a 32bits BGRA Workbench or screen 
But support windowed & own screen apps
You can select Filtering & AntiAliasing & StateTracker in hardware mode too :-)

For the moment display is not perfect (GlExcess works 95%,BlitzQuake 99%) but most programs works
Some progs (GnuJump) need "ClearImage OFF" in Wazp3D-Prefs
Background color or Flat color are sometime lost

Non Oui Oui

BlitzQuake

'HardwareDriver Lie' & 'TexFmt Lie'  sont une façon de mentir aux Logiciels3D.
Certains Logiciels3D posent des questions sur les possibilités du Pilote (avec W3D_QueryDriver, W3D_GetDriverTexFmtInfo ou W3D_Hint)
et Wazp3D peut mentir  dans ce cas
Si le Logiciel3D peut s'adapter aux fonctionnalités absentes de Wazp3D alors mieux vaut laisser ces boutons à FAUX
Si non et le Logiciel3D stupidement s'arrête par manque d'une fonctionnalité de Wazp3D alors mieux vaut laisser ces boutons à ON
Exemple: un Logiciel3D demander texturage + brouillard + mipmapping mais Wazp3D ne sait pas faire le mipmapping
Deux possibilités

     1) Le Logiciel3D s'adapte et de décide de ne pas utilise le mipmapping
     2) Le Logiciel3D s'adapte pas et s'arrête  :-/

alors mieux vaut mettre 'HardwareDriver Lie'  à ON il n'y aura pas de mipmapping mais le Logiciel3D marchera

Idem pour les textures certains Logiciels3D demandent les formats de texture supportés
Exemple: un Logiciel3D veut une texture de format 16 bits comme W3D_R5G6B5 mais Wazp3D utilise seulement des textures RVB ou RVBA
Deux possibilités

     1) Le Logiciel3D s'adapte et crée ou charge des textures RVB/RVBA
     2) Le Logiciel3D s'adapte pas et s'arrête  :-/

alors mieux vaut mettre 'TexFmt Lie'  à ON ainsi Wazp3D convertira lui-même les textures (et utilisera beaucoup plus de mémoire) mais le Logiciel3D marchera

Conclusion: si cela fonctionne avec 'HardwareDriver Lie' & 'TexFmt Lie'  à OFF ne changez rien. S'il n'y parvient pas alors essayez à ON :-P
 
 
NOTES 
Si 'HardwareDriver Lie' est  à OFF alors  W3D_QueryDriver, W3D_GetDriverTexFmtInfo ou W3D_Hint retournent les vrais possibilités de la  version actuelle de Wazp3D 
Wazp3D ne peut pas mentir sur l'utilisation d'un écran Chunky: il peut vraiment pas l'utiliser :-/ 

 


Engine (de l'archive Warp3D) dans la beta36 avec le nouveau système d'éclairage
(Écran 16 bits + Use Coloring +  Perspective correct.+ Antialiasing  + Update At UnlockHardware )



La FAQ de la Wazp3D.library
Where can i found documentation about Warp3D programming ?
Here is the official Warp3D doc
http://zerohero.homeip.net/~zerohero/autodocs/os4/toc_warp3d.html
 

Can you more explain about directly draw in bitmap ?
Why it is not by default ? Will it reduce cpu speed, or it will be faster even with MinUpdate/etc with NO ?

1) Directly draw in bitmap NO

Wazp3D alloc/use an RGBA buffer (i called it the "Image" = in french the picture) that is the size of the context bitmap.
Wazp3D draw all inside this RGBA buffer.
It is more easy for Wazp3D Because Wazp3D is sure to manipulate RGBA pixels When a "finishing-frame" function occurs (clearzbuffer,flushframe,etc...)
Then it call DoUpdate() that mainly do an WritePixelArray() Image --> bitmap
 
MinUpdate YES
                         Do the DoUpdate() for only the rectangle that Warp3d has drawn on Image : copy this rectangle to the bitmap
MinUpdate NO
                         Do the DoUpdate() for full Image : copy all to the bitmap
When a frame is finished the prog3d can do W3D_ClearDrawRegion or clear the bitmap an other OS way.
So Wazp3D dont know if the prog has cleared the bitmap to begin a new frame (most progs) or continue to draw (The vague)

UseClearImage YES
                             Wazp3D clear the RGBA buffer (the "Image") after the  DoUpdate()
UseClearImage NO
                             Wazp3D never clear

Conclusion for Directly draw in bitmap NO =

2) Directly draw in bitmap YES

There is no RGBA buffer
So it use the bitmap memory as "Image" so works only for 32bits screen
To draw some pixels (say) textured & blended:
 - Read the pixels values (BGRA-> RGBA) from the bitmap in a small buffer (inside a lock/unlock bitmap)
 - Do the texturing/blending/etc on the small buffer
 - Write the pixels values (RGBA -> BGRA) from the small buffer to the bitmap(inside a lock/unlock bitmap)

Conclusion for Directly draw in bitmap YES =

Si j'ai Warp3D (ou QuarkTex) qui marche, Y a t'il des raisons d'utiliser Wazp3D?

Avec Wazp3D vous pouvez


Pourquoi une licence GPL?
Je voulais que les gens portent Wazp3D sur d'autres systèmes de type AmigaOS. Donc, je libére les sources :-)
Mais je ne voulais pas que des gens fassent de l'argent avec mon code et mon travail
Donc, j'avais besoin d'une License Libre  (mais je ne suis pas un avocat et n'y connais rien sur les licences) et j'ai donc préféré la plus célèbre.
Mais la GPL va interdire aux programmes existants qui sont non-GPL d'utiliser Wazp3D? 
NON si vous utilisez uniquement des liens dynamiques ( c'est-à-dire utilisez  normalement le binaire Wazp3D.library )
http://en.wikipedia.org/wiki/GNU_General_Public_License
A key dispute related to the GPL is whether or not non-GPL software can dynamically link to GPL libraries. The GPL is clear in requiring that all derivative Marche of GPL'ed code must themselves be GPL'ed. However, it is not clear whether an executable that dynamically links to a GPL code should be considered a derivative work. The free/open-source software community is split on this issue. The FSF asserts that such an executable is indeed a derivative work if the executable and GPL code "make function calls to each other and share data structures,"[26] with others agreeing,[27] while some (e.g. Linus Torvalds) agree that dynamic linking can create derived Marche but disagree over the circumstances.[28] On the other hand, some experts have argued that the question is still open: one Novell lawyer has written that dynamic linking not being derivative "makes sense" but is not "clear-cut,"[29] and Lawrence Rosen has claimed that a court of law would "probably" exclude dynamic linking from derivative Marche although "there are also good arguments" on the other side and "the outcome is not clear"[30] (on a later occasion, he argued that "market-based" factors are more important than the linking technique[31]). This is ultimately a question not of the GPL per se, but of how copyright law defines derivative Marche. In Galoob v. Nintendo the Ninth Circuit Court of Appeals defined a derivative work as having "'form' or permanence" and noted that "the infringing work must incorporate a portion of the copyrighted work in some form," but there have been no clear court decisions to resolve this particular conflict.
Since there is no record of anyone circumventing the GPL by dynamic linking and contesting when threatened with lawsuits by the copyright holder, the restriction appears de facto enforceable even if not yet proven de jure.

1) Utiliser le binaire Wazp3d.library
On peut pas dire qu'un Logiciel3D qui se lie juste dynamiquement avec Wazp3D soit un "produit dérivé" de Wazp3D
En fait, le Logiciel3 a été créé/compilé pour utiliser/se lier avec Warp3D pas Wazp3D
Se lier dynamiquement à Wazp3D n'intégre pas (à l'intérieur du Logiciel3D) une partie de l'œuvre protégée.
Donc l'intégration de code GPL sous une "forme permanente" n'est pas établie en particulier si la Wazp3D.library n'est pas distribué avec le Logiciel3D
2) Modifier les sources de Wazp3D
Bien sûr, si vous modifiez les sources de Wazp3D alors la nouvelle version doit être en GPL

Vous avez dit que le programme xxx fonctionne mais il plante pour moi
Essayez d'augmenter la pile (stack 200000)
Mettre  'HardwareDriver Lie' & 'TexFmt Lie' & 'Use Clipper' à ON est le plus sûr

J'essaie avec ma configuration WinUAE  (2,4 / geforce).
GeForce ne sert à rien car il c'est du rendu logciel.

J'ai trouvé un bug: Ca plante parfois au démarrage. Esc/relancer, et ça marche.
Obsolète: Ca  se reproduit plus jamais dans les versions récentes

6-7 FPS seulement. C'est très étrange pour un CPU 2.4  C'est très gourmand pour de petit calculs.
Une chose à garder à l'esprit: il y a quelques calculs dans le Logiciel3D "Gears"
Mais de son côté Wazp3D a beaucoup de travail seulement pour calculer un pixel (texturage)


Gears

Gears plein écran, c'est comme un diaporama fou :)
avec 1 image/s peut-être. Je peut voir toute se tracer et le flip/flop de l'écran.
Oui, il y a toujours un problème avec le rafraichissement plein écran
-- Warp3D trace directement dans la bitmap
-- Wazp3D trace tout dans un tampon interne RVBA32 ensuite essaye de détecter le meilleur moment pour copier
le contenu du tampon dans la bitmap (c'est-à-dire lorsque le Logiciel3D a réellement fini de tracer)
Parfois, ça marche bien car le Logiciel3D appelle FlushFrame() ou SetDrawRegion() ou ClearZBuffer()
pour terminer le tracé ... Parfois, il le fait pas ... (1)
 
 

Ca doit être lent comme ça ou ce devrait être rapide sur ma configuration ?
Il semble que certains PC et/ou versions de WINUAE semblent être plus rapide en JIT/Wazp3D que d'autres
Pour moi, le vieux WinUAE 0.8.22 version 4 semble(?) particuliérement rapide
Quoi qu'il en soit Wazp3D est lent: il suffit de garder à l'esprit que c'est le 68040 (émulation JIT) qui calcule chaque pixel un par un
(Wazp3D n'est pas une bidouille UAE ===> il n' utilise pas directement le processeur Intel mais le 68040 émulé )
Avez-vous jamais vu un seul logiciel3D rapide sur un Amiga4040? (2)

Pourquoi "Gears" (mode écran) s'affiche mal?
Ce Logiciel3D semble être mal conçue (absence de double-buffer):
il trace tout puis immédiatement efface tout dans le même écran
    Mettre "Update at UnlockHardware"
Ensuite, il fonctionne très bien
 


NeonBars

Le brouillard semble pas parfait?
Il semble que la formule de brouillard utilisée dans Wazp3D n'est pas la même que celle de Warp3D
Si quelqu'un sait comment Warp3D calcule le brouillard ???

Pourquoi "Engine" est-il déformé ?
Wazp3D-beta31 n'avait pas la correction de perspective
Avec la Beta32 c'est mieux même si "Engine" a encore un problème

Est-ce le tant attendu pilote logiciel (Software Driver) pour Warp3D?
Pas tout à fait Wazp3D est une implémentation compléte de Warp3D pas seulement d'un pilote 3D.
Ainsi, vous n'avez pas besoin d'installer  l' archive Warp3D il vous suffit d'installer Wazp3D.library
Bien sûr, vous pouvez installer les démos Warp3D comme Sokoban

Quelle est la différence avec QuarkTex ?
QuarkTex est une belle bidouille de WinUAE mais il lui faut WinUAE et OpenGL et une carte 3D.
En outre, il marche pas pour tout le monde ...
(Il n'a jamais fonctionné parfaitement pour moi: - /), mais est beaucoup plus rapide car il utilise le matériel 3D
Si QuarkTex fonctionne bien pour vous n'essayez même pas Wazp3D

Warp3D: Logiciel3D -> Warp3D -> AmigaOS -> Pilote -> Carte3D
QuarkTex: Logiciel3D -> Warp3D -> AmigaOS -> WinUAE-(Windows) -> Warp3D.alib--> OpenGL -> Pilote  -> Carte3D
Wazp3D: Logiciel3D -> Warp3D -> AmigaOS -> 68040

Note: Contrairement à QuarkTex vous pouvez exécuter plusieurs applications Wazp3D simultanément


WarpTest

Il y a beaucoup d'avertissements lors de la recompilation ?
Désolé !
Plus d'avertissements avec la beta32: le code a été nettoyé :-)

Pourquoi une beta 32 ?
Un grand nombre et plus que j'aurais cru :-)  de personnes ont été intéressées par Wazp3D beta31
J'ai donc essayé de supprimer certains bugs pour toutes les personnes qui ont dit "Wazp3D est cool"

Quoi de neuf dans la bêta 32 ?
Essentiellement plus d'avertissements quand on recompile
Voir ici la liste des nouvelles fonctionnalités

Quoi de neuf dans la bêta 33 ?
Principalement l'affreuse bogue mémoire a été corrigée
Portée sur AROS par Matthias Rustler
Voir ici la liste des nouvelles fonctionnalités

Quoi de neuf dans la bêta 34 ?
Principalement les nouvelles fonctions pixels qui permettent de rendre des textures éclairées :-)
Voir ici la liste des nouvelles fonctionnalités

Où est la version AROS  ?
Wazp3D est maintenant dans le Live CD d'AROS (C'est LIBS:Warp3D.library)
Ainsi, vous pouvez écrire des Logiciels3D pour AROS maintenant :-)


PaperBox

À quelle vitesse ça va?
Lent mais utilisable sur un WinUAE-JIT rapide
Par exemple, vous pouvez jouer à Sokoban ou AlyBox ou regarder les démos MiniGL  comme Engine
Engine et WarpTest semblent être plus rapide que sur un véritable A4040 + CV64/3D.
Voici quelques tests de rapidité
--> Coloring utilise beaucoup le processeur
--> Antialiasing Screen utilise encore plus le processeur

Qu'est-ce que DumpTexture/ReloadTextures  ?

Avec le débogueur et DumpTextures activés, toutes les textures sont enregistrées comme des fichiers .RAW (RVB ou RVBA)
dans T:
Vous pouvez recharger la(les) texture(s) avec le débogueur et ReloadTextures activés (voir l'exemple 1, exemple 2)
Les nouvelles textures avec les pixels modifiés doivent




A "Flower Power" tank in Bzone with ReloadTextures
 

Qu'est-ce que «Debug Sepia Image" ?
Avec le débogueur et "Debug Sepia Image" activés alors Wazp3D colorie en rouge la partie qu'il trace
Ainsi, vous pouvez être sûr que Wazp3D est vraiment utilisé et pas un autre moteur de rendu
 


MenoBox avec Debug Sepia Image: un Logiciel3D StormMesa  qui utilise vraiment Wazp3D beta 38
 

Qu'est-ce que «Dump Object"  ?
Avec le débogueur et "Dump Objet" activés alors tout ce qui est tracé est extrait sous forme de texte
Ce texte représente un fichier .OBJ et .MTL (Format très commun dans diverses applications de 3D )
(Usage: copier la sortie texte  et enregistrez-la dans deux fichiers)
Utilisez-le avec DumpTextures pour obtenir aussi les textures


ImuBox


Gears en version bêta 34 montrant une roue normale et une éclairée (+ Coloring)
 


sKulpt


The Vague

(1) J'espère que quelqu'un va améliorer Wazp3D Comme je n'ai plus de temps pour travailler sur ce projet
(2) Peut-être un très bon programmeur ASM pourra améliorer un peu la vitesse, mais il n'y aura pas de miracle :-)
(3) Toutes les copies d'écrans viennent de Wazp3D/WinUAE
 


 
FONCTION IMPLEMENTEES
Toutes les fonction sont là 
Mais certaines des fonctions implémentées de Warp3D ne font  (en fait) rien
(à part changer des paramétres internes des context/textures  )
Les fonctions concernant le hardware ne font rien non plus car il n'y a pas de hardware
Function  Status
CreateContext marche
CreateContextTags marche
DestroyContext marche
GetState marche
SetState Marche en partie
Hint Marche
CheckDriver Marche
LockHardware Marche (Fait rien car pas de hardware)
UnLockHardware Marche (Fait rien car pas de hardware)
WaitIdle Marche (Fait rien car pas de hardware)
CheckIdle Marche (Fait rien car pas de hardware)
Query Marche
GetTexFmtInfo Marche
GetDriverState Marche (Fait rien car pas de hardware)
GetDestFmt Marche
GetDrivers Marche (Un seul driver)
QueryDriver Marche (Un seul driver)
GetDriverTexFmtInfo Marche (Un seul driver)
RequestMode Marche
RequestModeTags Marche
TestMode Marche
AllocTexObj Marche en partie
AllocTexObjTags Marche en partie
FreeTexObj Marche
ReleaseTexture Marche
FlushTextures Marche
SetFilter Fait rien de vraiment utile (=change juste des parametres internes)
SetTexEnv Marche 
SetWrapMode Fait rien de vraiment utile (=change juste des parametres internes)
Les textures sont toujours répétées (W3D_REPEAT)
UpdateTexImage Marche
UpdateTexSubImage Marche
UploadTexture Marche
FreeAllTexObj Marche
SetChromaTestBounds Fait rien de vraiment utile (=change juste des parametres internes)
DrawLine Marche (même les lignes texturées   )
DrawPoint Marche (même les points de taille >1)
DrawTriangle Marche
DrawTriFan Marche
DrawTriStrip Marche
Flush Marche
DrawLineStrip Marche
DrawLineLoop Marche
ClearDrawRegion Marche
SetAlphaMode Fait rien de vraiment utile (=change juste des parametres internes)
SetBlendMode Marche 
SetDrawRegion Marche
SetDrawRegionWBM Marche
SetFogParams Marche (?)
SetLogicOp Fait rien de vraiment utile (=change juste des parametres internes)
SetColorMask Fait rien de vraiment utile (=change juste des parametres internes)
SetPenMask Fait rien de vraiment utile (=change juste des parametres internes)
SetCurrentColor Marche (?)
SetCurrentPen Marche (?)
SetScissor Marche
FlushFrame Marche
AllocZBuffer Marche
FreeZBuffer Marche
ClearZBuffer Marche
ReadZPixel Marche
ReadZSpan Marche
SetZCompareMode Marche
WriteZPixel Marche
WriteZSpan Marche
AllocStencilBuffer Marche
ClearStencilBuffer Marche
FillStencilBuffer Marche
FreeStencilBuffer Marche
ReadStencilPixel Marche
ReadStencilSpan Marche
SetStencilFunc Fait rien de vraiment utile (=change juste des parametres internes)
SetStencilOp Fait rien de vraiment utile (=change juste des parametres internes)
SetWriteMask Fait rien de vraiment utile (=change juste des parametres internes)
WriteStencilPixel Marche
WriteStencilSpan Marche
DrawTriangleV Marche
DrawTriFanV Marche
DrawTriStripV Marche
GetScreenmodeList Marche
FreeScreenmodeList Marche
BestModeID Marche
BestModeIDTags Marche
VertexPointer Marche
TexCoordPointer Marche
ColorPointer Marche
BindTexture Marche
DrawArray Marche
DrawElements Marche
SetFrontFace Marche
Warp3D V5
SetTextureBlend Marche partiellement (juste les TexEnvModes)
SetTextureBlendTags Marche partiellement (juste les TexEnvModes)
SecondaryColorPointer Fait rien de vraiment utile (=change juste des parametres internes)
FogCoordPointer Fait rien de vraiment utile (=change juste des parametres internes)
InterleavedArray Marche
ClearBuffers Marche
SetParameter Marche partiellement (fog classique, taille point)
PinTexture Marche (?) (implémentée mais pas compilée dans cette version )
SetDrawRegionTexture Marche (?) (implémentée mais pas compilée dans cette version )


Lamintro


La carte 3D de "Tales of Tamar"


TheVague


La carte 3D de "Tales of Tamar"' (+ AntiAlias Screen + Smooth Textures)


Le deboggueur en action traçant SopoBlock



Bzone avec un nouveau jeu de textures démontrant l'option ReloadTextures (+ ReloadTextures + Coloring + perspective)


Enforce


Les Demos StormMesa comme RollerCoaster marchent en beta38 (Coloring + Perspective)