website logo
Auteur
avatar
Crisot

Forum » » Création-Développement » » Nouveau moteur 3D (PXS Alpha)


Posté : 28-10-2012 05:12 icone du post

Bon, j'ai le fin mot de l'histoire!

Roulement de tambours... RMBL RMBL RMBL... TADAAA!!! Ils ont réussit à implémenter un nouveau bug à Warp3D! Oui, c'est possible! Il restait encore de la place dans le code pas trop instable pour ça, aussi instable que le combo Warp3D/MiniGL puisse déjà paraitre.

Bon, maintenant que j'ai bien trollé, est ce qu'un beta-tester peut faire (gentillement) remonter ceci:


There is a problem with the W3D_DrawArray() function of W3D_R200.library 53.16 (update 5). I don't know if W3D_Radeon 53.15 and W3D_Permedia2 52.42 are concerned since I got no Radeon 7x00 or Permedia 2 to test them. Warp3D.library 53.13 looks fine too, I only had to revert W3D_R200.library to 53.9 (update 3).

The problem: When drawing some long triangles array (and maybe other primitive types), the triangles get quickly fucked up, going everywhere they want on the screen. Only something like 400 triangles (400*3 primitives) in a row are enough to see the problem.

Very simple example:

W3D_DrawArray(WS->context,W3D_PRIMITIVE_TRIANGLES,0,9000);

Give horrible result! But:

for (j=0; j<3000; j++) // horrible test
{
W3D_DrawArray(WS->context,W3D_PRIMITIVE_TRIANGLES,j*3,3);
}

Works perfectly!

I was thinking about too long harware locking problem, but the hardware is locked/unlocked outside the loop.

I already cut my arrays to avoid crackling sound, but I used to draw around 10000 triangles in a row without problem. Cutting arrays down to 350 triangles is the exact opposite to optimisation rules (longer == better... Or maybe 'was my ex girlfriend? Can't remember).

If it's a bug, I'm happy to report it to you. If it's a new restriction (maybe internal optimisation related), I'll be happy to be enlightened about this, don't forget updated autodoc



Voili voilo. En attendant une réponse de la mailing-list par l'intermédiaire d'un BT, je me tâte entre retourner à l'ancienne lib ou adapter le code...
--
AmigaOne X1000 - 2 Go DDR2 - Sapphire R9 280x Toxic - Crucial MX200 500 Go - Alim/Cooling BeQuiet

Message édité par : Crisot / 28-10-2012 05:26

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=886&forum=14