website logo
Auteur
avatar
kas1e

Forum » » Création-Développement » » #Two fixée (beta-test)


Posté : 14-10-2010 17:19 icone du post

w3d is very tricky to code of course :) There is tons of functions which you can put here and it will give you that result, or here, and then that result. Pretty possible that you forget something somethere .. Did you use any "SwithScreenBuffer()" function ? If so, how it looks like ? For me it was like this:

void SwitchDisplay(W3D_Context *context,struct Screen *screen)
{


if(window_mode==TRUE)
{
WaitTOF();
W3D_FlushFrame(context);
W3D_WaitIdle(context);
BltBitMapRastPort(bufferrastport.BitMap,0,0,window->RPort,0,0,640,480,0xC0);
W3D_SetScissor(context, &SwiDisp);
W3D_SetDrawRegion(context, bufferrastport.BitMap, 0,&SwiDisp);
}



if(fullscreen_mode==TRUE)
{
#ifdef __AROS

WaitTOF();
W3D_FlushFrame(context);
W3D_WaitIdle(context);
BltBitMapRastPort(bufferrastport.BitMap,0,0,window->RPort,0,0,640,480,0xC0);
W3D_SetScissor(context, &SwiDisp);
W3D_SetDrawRegion(context, bufferrastport.BitMap, 0,&SwiDisp);

#else

buffer[drawBuffer]->sb_DBufInfo->dbi_SafeMessage.mn_ReplyPort=0;
while (!ChangeScreenBuffer(screen, buffer[drawBuffer]));
drawBuffer ^=1;
W3D_SetDrawRegion(context, buffer[drawBuffer]->sb_BitMap,0, &SwiDisp);
// WaitBOVP(&(screen)->ViewPort);
WaitTOF();

#endif

}

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