website logo
Auteur
avatar
thellier

Forum » » Création-Développement » » MiniGL


Posté : 02-11-2012 14:19 icone du post

>glDrawElementTriangles
Oui je vois la fonction devant mes yeux
D'abord elle recupere les points à partir des vertex,texcoords,normals
puis je pense qu'elle fait la transformation de points "normalisés (cad de -1.0 à 1-+1.0) en coords écran
Après je vois du clipping mais comme Warp3D sait faire le Scissor alors je pense qu'il doit (devrait?) être appelé que quand le hard sait pas faire le tracage

Après je sais pas trop quelle partie trace vraiment faudrait tester avec qques printf

a priori ce serait ça non?

#if 1

if (or_code == 0 && !context->enable.PolygonOffsetFill
&& !NEED_SPECIAL_FILL)
{
MaybeLock(context);

if (context->enable.CullFace)
IWarp3D->W3D_SetState(context->w3dContext, W3D_CULLFACE, W3D_ENABLE);

IWarp3D->W3D_DrawElements(context->w3dContext,
W3D_PRIMITIVE_TRIANGLES, w3dType, count, index_pointer);


if (context->enable.CullFace)
IWarp3D->W3D_SetState(context->w3dContext, W3D_CULLFACE, W3D_DISABLE);

MaybeUnlock(context);

return;
}
#endif


Mais alors pourquoi pas plus de triangles tracés en un coup?
faudrait tester avec qques printf de variables notamment "count" au début de glDrawElementTriangles

#define VAR(var) printf(" " #var "= %ld\n",(ULONG)(var) );

VAR(count)
VAR(type)



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