salut,
Il y une subtilité que je ne saisis pas bien dans la classe CD3DApplication fournie avec le SDK.
Dans les méthodes Run() et MsgProc(..) on peut voir que :
- dans le cas où on reçoit le message window WS_PAINT alors la fonction Render() sera appelée ( à partir de MsgProc )
- dans l'autre cas, c'est la méthode Render3DEnvironment() qui est appelée et qui se charge d'appeller Render()
Je ne saisi pas bien pourquoi on appelle pas Render3DEnvironment() dans les 2 cas. Est-ce que ce serait une erreur que de remplacer :
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 switch( uMsg ) { case WM_PAINT: // Handle paint messages when the app is paused if( m_pd3dDevice && !m_bActive && m_bWindowed && m_bDeviceObjectsInited && m_bDeviceObjectsRestored ) { Render(); m_pd3dDevice->Present( NULL, NULL, NULL, NULL ); } break;
dans la methode MsgProc ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 switch( uMsg ) { case WM_PAINT: // Handle paint messages when the app is paused if( m_pd3dDevice && !m_bActive && m_bWindowed && m_bDeviceObjectsInited && m_bDeviceObjectsRestored ) { Render3DEnvironment(); m_pd3dDevice->Present( NULL, NULL, NULL, NULL ); } break;
Merci pour vos lumières
Partager