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
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 ..
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...
|
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 :
![]() |
![]() |
![]() |
![]() |
Les Demos StormMesa comme GlutMech marchent avec la beta38
(+AntialiasScreen + perspective)
Plein de progs StormMesa
YAPMG
![]() |
D3GNOP
![]() |
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 .
'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 )
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
|
Conclusion for Directly draw in bitmap NO =
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 =
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
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)
Les Demos StormMesa comme RollerCoaster marchent en beta38
(Coloring + Perspective)